diff options
Diffstat (limited to 'keyboard/ergodox_ez')
55 files changed, 17390 insertions, 5326 deletions
diff --git a/keyboard/ergodox_ez/keymaps/alexjj/keymap.c b/keyboard/ergodox_ez/keymaps/alexjj/keymap.c new file mode 100644 index 0000000000..448f62da02 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/keymap.c @@ -0,0 +1,238 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys +#define UNIC 3 // unicode entry layer + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ESC | 1! | 2@ | 3# | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | -_ | += | BkSp | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | { | | } | Y | U | I | O | P | |\ | + * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| + * | Win | A | S | D | F | G |------| |------| H | J | K | L | :; | '" | + * |--------+------+------+------+------+------| Home | | End |------+------+------+------+------+--------| + * | LShift |Z/Alt | X | C | V | B | | | | N | M | , | . | Alt | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |LCtrl | COPY | PASTE| Left | Right| | Down | Up |Hyper | `~ | RCtrl | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * Hyper = Ctrl+Super+Alt+Shift | ~L3 | F5 | | F2 | ~L2 | + * ,------|------|------| |------+------+------. + * | | | PgUp | | Ins | | | + * | Enter| BkSp |------| |------| ~L1 |Space | + * | | | PgDn | | Del | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, ALT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_HOME, + KC_LCTRL, LCTL(KC_C), LCTL(KC_V), KC_LEFT,KC_RGHT, + KC_FN3, KC_F5, + KC_PGUP, + KC_ENT,KC_BSPC,KC_PGDN, + // right hand + KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, + KC_END, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, + KC_DOWN,KC_UP, ALL_T(KC_NO),KC_GRV, KC_RCTRL, + KC_F2, KC_FN2, + KC_INS, + KC_DELT,KC_FN1, KC_SPC + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |PrintScr| + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | £ | | | | | | . | 0 | = |Alt+F4| + * `----------------------------------' `----------------------------------' + * ↑ ,-------------. ,-------------. + * THERE! | | | | | | + * ,------|------|------| |------+------+------. + * CAD = Ctrl + Alt + Delete | | | | | | | | + * | | |------| |------| | | + * | | | | | CAD | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,M(3),KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, LALT(KC_F4), + KC_TRNS, KC_TRNS, + KC_TRNS, + LCTL(LALT(KC_DEL)), KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | TEENSY | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolDn |VolUp | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +/* Keymap 3: Unicode Entry + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Alt | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | + | + | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Alt | | | E | | | | | | | 7 | 8 | 9 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Alt | A | | D | F | |------| |------| | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Alt | | | C | | B | | | | | 1 | 2 | 3 | + | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Alt | Alt | Alt | | | | 0 | 0 | 0 | + | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * WINDOWS ONLY SETUP!! | ~L3 | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | Alt | Alt |------| |------| Alt | Alt | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[UNIC] = KEYMAP( // layer 3 : Unicode Entry + // left hand + KC_LALT, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, + KC_LALT, KC_TRNS, KC_TRNS, KC_E, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LALT, KC_A, KC_TRNS, KC_D, KC_F, KC_TRNS, + KC_LALT, KC_TRNS, KC_TRNS, KC_C, KC_TRNS, KC_B, KC_TRNS, + KC_LALT, KC_LALT, KC_LALT, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_LALT,KC_LALT, KC_TRNS, + // right hand + KC_P7, KC_P8, KC_P9, KC_P0, KC_PPLS,KC_PPLS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, + KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_TRNS, + KC_P0, KC_P0, KC_P0, KC_PPLS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS,KC_LALT, KC_LALT + ), +}; + + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols) + [2] = ACTION_LAYER_TAP_TOGGLE(MDIA), // FN2 - Momentary Layer 2 (Media) + [3] = ACTION_LAYER_TAP_TOGGLE(UNIC) // FN3 - Momentary Layer 3 (Unicode entry) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + case 3: // this would trigger when you hit a key mapped as M(3) + if (record->event.pressed) { + return MACRO( I(255), D(LALT), T(P1), T(P5), T(P6), U(LALT), END ); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + case 3: + ergodox_right_led_3_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex b/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex new file mode 100644 index 0000000000..13338a8922 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex @@ -0,0 +1,1141 @@ +:100000000C94C5020C940C030C940C030C940C037C
+:100010000C940C030C940C030C940C030C940C0324
+:100020000C940C030C940C030C94380C0C940A0DD7
+:100030000C940C030C940C030C940C030C940C0304
+:100040000C940C030C94AC210C940C030C940C0336
+:100050000C940C030C94381B0C940C030C940C03A0
+:100060000C940C030C940C030C940C030C940C03D4
+:100070000C940C030C940C030C940C030C940C03C4
+:100080000C940C030C940C030C940C030C940C03B4
+:100090000C940C030C940C030C940C030C940C03A4
+:1000A0000C940C030C940C030C940C03770D990D19
+:1000B0008C0E990D8C0EDE0D010E8C0E560E690EF7
+:1000C0005D115D118C118C11CF11091216141614CB
+:1000D0002212161417131713EA1316141614011408
+:1000E00075FF01E201590259015D025D015E025E88
+:1000F00002E2000000F0A1F0A2F0A329002B00E32F
+:1001000000E100E00000001E00140004001D740661
+:10011000014E001F001A0016001B0019012A0020C2
+:100120000008000700060050002800210015000903
+:100130000019004F004B00220017000A00050000C4
+:1001400000C30023002F0000004A0000003E0024EE
+:1001500000300000004D0000003B0025001C000B9B
+:100160000011000000C200260018000D0010005110
+:1001700000490027000C000E00360052002C002D14
+:100180000012000F003700007FC1002E0013003363
+:1001900000380035004C002A0031003400E500E44E
+:1001A0000000000100010001000100010000003A10
+:1001B000001E0220022202033001003B001F022128
+:1001C000022302010001003C002F0226022F000141
+:1001D0000001003D00300227023000010001003E16
+:1001E00000310235003502000001003F000100002F
+:1001F00000010000000100400001000000010000BB
+:1002000000010041005200510024020000010042A0
+:1002100000240021001E00010001004300250022EF
+:10022000001F0037000100440026002300200027A3
+:10023000000100450025022E0231002E004C05462B
+:10024000000100010001003D040000005001000118
+:100250000001000100000001000100010001000197
+:1002600000010001000100F2000100010001000195
+:1002700000F000F1000100F400010001000100F3B2
+:10028000000100F500010001000100010001000073
+:100290000001000100010000000100000001000158
+:1002A0000001000000010000000100010001000148
+:1002B000000100000001000100010001000100AA8E
+:1002C000000100010001000100AC00A900B600011E
+:1002D0000001000100AB00A80001000100010001C5
+:1002E0000001000100010001000100AE0001000159
+:1002F000000000E200E200E200E200E2000000593B
+:1003000000010004000100E20001005A00010001A8
+:10031000000100E200E2005B0008000700060001A7
+:1003200000E2005C00010009000100010001005D25
+:1003300000010001000500000001005E0001000056
+:10034000000100000001005F00010000000100004A
+:1003500000010060000100010001000000010061D7
+:10036000005F005C00590062000100620060005DF7
+:10037000005A006200E200570061005E005B00620C
+:1003800000E20057005700570057005700010001D6
+:100390000001000100010001000000160345007289
+:1003A0000067006F0044006F007800200045005A8D
+:1003B00000000016034500720067006F0044006FE4
+:1003C000007800200045005A0000000403090409D9
+:1003D000026D00040100A0FA0904000001030101FC
+:1003E00000092111010001223F00070581030800D7
+:1003F0000A090401000103010200092111010001A1
+:10040000224D000705820308000A090402000103C7
+:1004100000000009211101000122360007058303B5
+:1004200008000A090403000103000000092111016A
+:100430000001223900070584031000011201100198
+:1004400000000008EDFE0713010001020001050194
+:100450000906A101050719E029E7150025019508FE
+:10046000750181020508190129059505750191029B
+:1004700095017503910105071900297715002501DC
+:10048000957875018102C005010980A101850216D8
+:10049000010026B7001A01002AB7007510950181E6
+:1004A00000C0050C0901A1018503160100269C026C
+:1004B0001A01002A9C02751095018100C0050109EE
+:1004C00002A1010901A1000509190129051500254D
+:1004D00001950575018102950175038101050109E9
+:1004E0003009311581257F95027508810609381577
+:1004F00081257F950175088106050C0A3802158152
+:10050000257F950175088106C0C005010906A10176
+:10051000050719E029E715002501950875018102F5
+:1005200095017508810105081901290595057501D1
+:1005300091029501750391010507190029FF150026
+:1005400025FF950675088100C0000000000000002E
+:1005500000000000010204060A0F17202C3A4A5D31
+:1005600071879DB3C7DAE9F5FCFFFCF5E9DAC7B39B
+:100570009D87715D4A3A2C20170F0A06040201007C
+:100580000000000000000000000011241FBECFEF9B
+:10059000DAE0DEBFCDBF04B603FE27C08091EE01D6
+:1005A0009091EF01A091F001B091F1018730904B53
+:1005B000A740B04BD1F41092EE011092EF011092CF
+:1005C000F0011092F10114BE84B7877F84BF0FB68B
+:1005D000F894A895809160008861809360001092E3
+:1005E00060000FBEE0E0FFE3099511E0A0E0B1E09C
+:1005F000EAEFF6E402C005900D92A433B107D9F7F3
+:1006000021E0A4E3B1E001C01D92AE3EB207E1F7E4
+:100610000E947F090C947B230C940000CF93DF93FE
+:10062000EC01662319F0633059F00DC08A818823EC
+:1006300021F085EE0E94EE0F03C085EE0E94B610F9
+:100640008A81811103C080E090E002C080EE90E0DA
+:10065000DF91CF91089508956091B1017091B20139
+:100660008091B3019091B4010E94621A56985E98ED
+:1006700025982D9826982E9827982F98823039F013
+:10068000833041F0813041F4259A2D9A0895269ABD
+:100690002E9A0895279A2F9A08950C942C03569811
+:1006A0005E9825982D9826982E9827982F988FEF4A
+:1006B00090E0909389008093880090938B008093C2
+:1006C0008A0090938D0080938C00259A2D9A2FEFAD
+:1006D00080E792E0215080409040E1F700C00000A8
+:1006E000269A2E9A2FEF80E792E02150804090408A
+:1006F000E1F700C00000279A2F9A2FEF80E792E0E1
+:10070000215080409040E1F700C0000025982D98CE
+:100710002FEF80E792E0215080409040E1F700C049
+:10072000000026982E982FEF80E792E0215080401D
+:100730009040E1F700C0000027982F9856985E98E7
+:1007400025982D9826982E9827982F98089589EA0D
+:100750008093800089E08093810024982C983F98B2
+:100760008AB18F748AB96E98479A8BB1806B8BB9B6
+:10077000769A0E944F030C942B0380E28093000131
+:100780008091340181110EC00E940C0481E080939D
+:1007900034012FEF83ED90E3215080409040E1F74A
+:1007A00000C0000080E40E941204809300018111C7
+:1007B0002EC00E943C0480930001811128C00E9439
+:1007C0003C0480930001811122C08FE30E943C040D
+:1007D0008093000181111BC00E94340480E40E94B8
+:1007E000120480930001811112C08CE00E943C042D
+:1007F0008093000181110BC00E943C048093000192
+:10080000811105C08FE30E943C04809300010E9487
+:1008100034048091000108951092B9008AE0809319
+:10082000B800089594EA9093BC009091BC0097FFA3
+:10083000FCCF9091B900987F983021F0903111F061
+:1008400081E008958093BB0084E88093BC00809190
+:10085000BC0087FFFCCF8091B900887F883111F000
+:10086000803471F780E0089584E98093BC00809122
+:10087000BC0084FDFCCF08958093BB0084E8809386
+:10088000BC008091BC0087FFFCCF9091B900987F9D
+:1008900081E0983209F480E0089584E88093BC00F8
+:1008A0008091BC0087FFFCCF8091BB0008958091B0
+:1008B0000001811115C080E40E94120480930001A0
+:1008C00081110CC082E10E943C04809300018111DF
+:1008D00005C08FEF0E943C04809300010E94340405
+:1008E00084B1807F84B985B1807F85B98AB1837FE7
+:1008F0008AB98BB1837F8BB93E98469808950E9440
+:10090000BD03809300010E94570480B38C7080BBAC
+:1009100081B3836F81BBE4E4F1E0A6E3B1E011921F
+:100920001D9281E0E235F807D1F70C94A7039F925E
+:10093000AF92BF92CF92DF92EF92FF920F931F93ED
+:10094000CF93DF9380910001882379F08091350166
+:100950008F5F80933501811108C00E94BD03809391
+:100960000001811102C00E944F0386E3E82E81E05E
+:10097000F82E8701C0E0D0E0BB24B39492E0A92E0A
+:10098000CC24C394D12CC730D10500F5809100014F
+:10099000811164C080E40E941204809300018111DF
+:1009A00012C082E10E943C048093000181110BC0BF
+:1009B000C6010C2E01C0880F0A94EAF780950E94A8
+:1009C0003C04809300010E94340448C0CA30A1F066
+:1009D00028F4C83059F0C93061F005C0CC3089F036
+:1009E00070F0CD3089F0209A289810C0219A29986B
+:1009F0000DC0229A2A980AC0239A2B9807C0529AAF
+:100A000001C0539A5B9802C03E9A4698E0EAEA9584
+:100A1000F1F78FB181708B25799902C032E001C066
+:100A200030E0832B7C9902C034E001C030E0832B9E
+:100A30007D9902C028E001C020E0822B7E9902C08F
+:100A400090E101C090E0892B9FB19095991F992763
+:100A5000991F9295990F907E892B0FC0809100016C
+:100A600081114AC080E40E9412048093000188230F
+:100A700081F1912C0E943404892DD8019C91981702
+:100A800019F08C93A09201010E94570421960F5FE8
+:100A90001F4FCE30D10509F076CF80910101882318
+:100AA00069F1815080930101882339F0EFE9FFE07B
+:100AB0003197F1F700C0000021C0E4E4F1E0D70174
+:100AC0008D917D018193B4E4EB16B1E0FB06B9F79B
+:100AD00015C083E10E943C04809300018111C9CFBD
+:100AE00081E40E941204809300018111C2CF0E9410
+:100AF0004D04982E9094BECF80E0BFCF0E944D034E
+:100B000081E0DF91CF911F910F91FF90EF90DF90E7
+:100B1000CF90BF90AF909F900895E82FF0E0EC5BEE
+:100B2000FE4F8081089508958B3B910580F4883AAB
+:100B3000910548F5853A9105D8F48430910508F07F
+:100B4000B2C0019709F06EC081E090E00895803E48
+:100B5000910508F467C0883E910508F4A4C09C0183
+:100B6000205F31092031310508F05CC0906508959F
+:100B7000853A910509F459C0863A910509F058C0A3
+:100B800082E890E40895883A910509F454C0893ABE
+:100B9000910509F453C08A3A910509F452C08B3A81
+:100BA000910509F451C08C3A910509F450C08D3A71
+:100BB000910509F44FC0803B910509F44EC08E3A6F
+:100BC000910509F44DC08F3A910509F44CC0813B61
+:100BD000910509F44BC0823B910509F44AC0833B5F
+:100BE000910509F449C0843B910509F448C0853B4F
+:100BF000910509F447C0863B910509F446C0873B3F
+:100C0000910509F445C0883B910509F444C0893B2E
+:100C1000910509F443C08A3B910509F442C080E084
+:100C200094E4089580E090E0089581E890E40895C8
+:100C300083E890E4089582EE94E4089589EE94E4C4
+:100C400008958AEE94E4089585EB94E4089586EB84
+:100C500094E4089587EB94E408958CEC94E408956B
+:100C60008DEC94E4089583E895E408958AE895E48A
+:100C7000089582E995E4089584E995E4089581E270
+:100C800096E4089583E296E4089584E296E4089554
+:100C900085E296E4089586E296E4089587E296E474
+:100CA00008958AE296E40895089524E5829FC0019C
+:100CB0001124FC0126E0729FE00DF11D1124E60FC6
+:100CC000F11DEE0FFF1FE550FF4F859194910895A0
+:100CD000880F991FFC01ED58F0408591949108957B
+:100CE000880F991FFC01ED50FF4F85919491089555
+:100CF00024E5829FC0011124FC0146E0749FE00DB1
+:100D0000F11D1124E60FF11DEE0FFF1FE550FF4FFF
+:100D1000859194919C013A9521154FE1340708F48F
+:100D200027C13F512115304120F49F700E94700669
+:100D300008959C0130532115304118F49927906C87
+:100D40000895811520E5920771F40E943A144FEF3F
+:100D500084E39CE0415080409040E1F700C00000F7
+:100D60000E945D1B05C1813020E5920731F480911E
+:100D7000CD0181608093CD01FBC09C0130552115D0
+:100D8000304108F05CC0292F33272F7033272130E2
+:100D90003105E9F4AC0164E0440F551F6A95E1F7B1
+:100DA00044275370BC016370772702C0220F331FA2
+:100DB0006A95E2F73C68242B352B73E0880F991F66
+:100DC0007A95E1F780769927822B932B089522302C
+:100DD000310529F4982F8827816F906A0895233070
+:100DE0003105A1F4AC0133E0440F551F3A95E1F70A
+:100DF000407E57708370992721E030E002C0220FB7
+:100E0000331F8A95E2F7C9019C6816C0243031056A
+:100E100031F5AC0123E0440F551F2A95E1F7407EE0
+:100E200057708370992721E030E002C0220F331FF2
+:100E30008A95E2F7C9019A68842B952B08959C0145
+:100E400030572115304118F49F70906208959C012D
+:100E500030582115304118F49F70906A0895803EF3
+:100E60009105E0F4803C910558F58133910509F432
+:100E70006FC048F48932910509F463C08A32910544
+:100E800009F46DC072C089339105E9F0823891058B
+:100E9000D1F08533910509F44DC067C0833E9105BB
+:100EA00081F138F4803E9105B9F0823E9105D9F088
+:100EB0005CC0863E910561F1873E9105A1F155C068
+:100EC0000E94680608952091DF0120FD02C021FFE5
+:100ED0004CC080EE90E049C08091DF0180FFF9CFE7
+:100EE00089E390E042C08091DF0182FF0EC08091D3
+:100EF000DF0184FF03C080E090E037C083EE90E024
+:100F000034C08091DF0182FFF2CF82EE90E02DC0ED
+:100F10008091DF0183FF0BC08091DF0184FDEBCF67
+:100F200087EE90E022C08091DF0183FFF5CF86EE4F
+:100F300090E01BC08091DF0185FF07C089E290E04F
+:100F400014C08091DF0185FFF9CF85E390E00DC0EB
+:100F50008091DF0186FF07C08AE290E006C08091A1
+:100F6000DF0186FFF9CF81E390E00E9494050895A8
+:100F7000089508950C94B907809162010895CF9364
+:100F8000DF9300D01F92CDB7DEB79C018091E501C1
+:100F9000843019F593E099833B832A839093E90089
+:100FA0008FEF9091E800815095FD06C095ED9A95E0
+:100FB000F1F700008111F5CF8091E80085FF0DC0A9
+:100FC00040E050E063E070E0CE0101960E942C0A00
+:100FD0008091E8008E778093E8000F900F900F903B
+:100FE000DF91CF910895CF93DF9300D01F92CDB7BB
+:100FF000DEB72091E501243021F522E029839B838F
+:101000008A8383E08093E9008FEF9091E80081501C
+:1010100095FD06C095ED9A95F1F700008111F5CF89
+:101020008091E80085FF0DC040E050E063E070E093
+:10103000CE0101960E942C0A8091E8008E77809361
+:10104000E8000F900F900F90DF91CF9108959C01D1
+:101050008091E5018430F9F482E08093E9009FEF0C
+:101060008091E800915085FD06C085ED8A95F1F7E5
+:1010700000009111F5CF8091E80085FF0CC040E0A1
+:1010800050E065E070E0C9010E942C0A8091E80000
+:101090008E778093E8000895CF93DF93EC018091E1
+:1010A000E501843009F046C090910C019923D9F0F4
+:1010B00090910D019923B9F08093E9008FEF909101
+:1010C000E800815095FD06C095E19A95F1F7000082
+:1010D0008111F5CF8091E80085FF2CC040E050E001
+:1010E00060E170E017C081E08093E9008FEF90919C
+:1010F000E800815095FD06C095ED9A95F1F7000046
+:101100008111F5CF8091E80085FF14C040E050E0E8
+:1011100068E070E0CE010E942C0A8091E8008E7792
+:101120008093E80080E1FE01A2E5B1E001900D921C
+:101130008A95E1F7DF91CF9108958091E4018111C3
+:1011400009C00E94BD0B0E941A0C8091E2008460CD
+:101150008093E20008951092E401089508950C949C
+:1011600099210E94F31A0E949F210E94C50E0C949F
+:10117000BA0742E061EC81E00E94360B42E061EC8C
+:1011800082E00E94360B42E061EC83E00E94360B65
+:1011900042E161EC84E00C94360B8091E7018330EE
+:1011A00009F455C030F4813071F0823009F48EC0FA
+:1011B00008958A3009F47AC08B3009F460C0893010
+:1011C00009F09CC020C08091E601813A09F096C0E8
+:1011D0008091E800877F8093E8008091EA019091F8
+:1011E000EB01892B21F460E182E591E003C060E02E
+:1011F00080E090E070E00E94770A8091E8008B77B1
+:101200008093E80008958091E601813209F076C06C
+:101210008091EA019091EB01009719F0039709F092
+:101220006DC08091E800877F8093E8008091E8009E
+:1012300082FD05C08091E5018111F8CF5FC08091EA
+:10124000F100809362018091E8008B7753C0809118
+:10125000E601813A09F052C08091EA019091EB01D8
+:10126000892B09F04BC08091E800877F8093E800CC
+:101270008091E80080FFFCCF80910C0136C0809106
+:10128000E6018132D9F58091EA019091EB01892B39
+:10129000A9F58091E800877F8093E8000E946B0B9E
+:1012A0008091E80180930C010C943A148091E6013E
+:1012B000813221F58091E800877F8093E8000E94C9
+:1012C0006B0B8091E9018093630108958091E601A1
+:1012D000813AA1F48091E800877F8093E8008091B3
+:1012E000E80080FFFCCF809163018093F100809142
+:1012F000E8008E778093E8000C946B0B089584B718
+:10130000877F84BF0FB6F894A895809160008861AC
+:1013100080936000109260000FBE90E080E80FB6EE
+:10132000F89480936100909361000FBE0E94140FA7
+:101330000E94BD0B0E941A0C8091E2008460809391
+:10134000E20078940E94A50E0E94160F82E091E0C0
+:101350000E94C00E0E9487218091E501853069F4CA
+:101360000E94B21A8091E3018823B1F30E94DF1A30
+:10137000882391F30E94160AEFCF0E941C0FECCF36
+:10138000292F332723303105C9F060F4213031058E
+:1013900081F02230310509F041C08DE690E02FEC5C
+:1013A00033E040C021323105E1F02232310531F124
+:1013B00035C082E190E02CE334E034C099278130DD
+:1013C000910549F028F0029749F5EBE9F3E005C0F3
+:1013D000EBECF3E002C0E3EBF3E0849190E09F01DB
+:1013E00021C06430D8F4E62FF0E0EE0FFF1FEE5D71
+:1013F000FE4F2081318189E090E014C0643070F4A8
+:1014000070E0FB01EE0FFF1FE65EFE4F2081318191
+:10141000FB01EA5EFE4F808190E004C080E090E036
+:1014200020E030E0FA0131832083089580E189BD16
+:1014300082E189BD09B400FEFDCF8091D8008F7D87
+:101440008093D8008091E00082608093E0008091DA
+:10145000E00081FDFCCF0895CF92DF92EF92FF92E2
+:101460000F931F93CF93DF93EC018B016A010E94CE
+:101470008A0B811133C0C114D10439F0F601808187
+:101480009181081B190BC80FD91FE12CF12C0115F4
+:10149000110519F18091E80085FD16C08091E800E2
+:1014A0008E778093E800C114D10449F0F601808161
+:1014B0009181E80EF91EF182E08285E00FC00E9462
+:1014C0008A0B882321F30AC089918093F10001508F
+:1014D0001109FFEFEF1AFF0ADACF80E0DF91CF9119
+:1014E0001F910F91FF90EF90DF90CF900895209182
+:1014F000EC013091ED012617370748F061157105B1
+:1015000039F42091E8002E772093E80001C0B9015A
+:10151000FC0120E06115710579F18091E5018823D6
+:10152000F1F18530F1F18091E80083FD3CC08091BC
+:10153000E80082FD2EC08091E80080FFEBCF209173
+:10154000F3008091F20090E0922B6115710551F04B
+:101550008830910538F421912093F1006150710990
+:101560000196F3CF21E0089709F020E08091E80090
+:101570008E778093E800CECF2111CFCF0AC0809123
+:10158000E501882361F0853061F08091E80083FDFA
+:101590000AC08091E80082FFF2CF80E0089582E0E7
+:1015A000089583E0089581E008952091EC01309141
+:1015B000ED012617370748F06115710539F42091C0
+:1015C000E8002E772093E80001C0B901FC0120E07B
+:1015D0006115710591F18091E501882309F440C0FE
+:1015E000853009F43FC08091E80083FD3DC08091C3
+:1015F000E80082FD2FC08091E80080FFE9CF2091B4
+:10160000F3008091F20090E0922B6115710559F082
+:101610008830910540F424912093F1003196615077
+:1016200071090196F2CF21E0089709F020E080913E
+:10163000E8008E778093E800CBCF2111CCCF0AC091
+:101640008091E501882361F0853061F08091E800A8
+:1016500083FD0AC08091E80082FFF2CF80E0089508
+:1016600082E0089583E0089581E00895982F9730EF
+:1016700068F59093E900981739F07091EC0020918B
+:10168000ED005091F00003C0242F762F50E021FD93
+:1016900002C09F5FECCF3091EB003E7F3093EB00B8
+:1016A0003091ED003D7F3093ED003091EB003160E3
+:1016B0003093EB007093EC002093ED005093F0001A
+:1016C0002091EE0027FDE5CF80E008958F70809394
+:1016D000E90081E008958091E60187FF11C08091C3
+:1016E000E80082FD05C08091E5018111F8CF11C0AD
+:1016F0008091E8008B770BC08091E501882349F049
+:101700008091E80080FFF8CF8091E8008E77809389
+:10171000E80008952091E4003091E50095E64091BD
+:10172000EC00842F817040FF23C08091E80080FD91
+:101730001DC08091E501882399F0853099F0809152
+:10174000EB0085FD11C04091E4005091E5002417A5
+:10175000350729F3915011F09A01E1CF84E0089503
+:1017600082E0089583E0089581E0089580E008957F
+:101770004091E80042FFDDCF08950E942B0C0E94AB
+:10178000330CE0EEF0E0808181608083E8EDF0E0F2
+:1017900080818F77808319BCA7EDB0E08C918E7F1C
+:1017A0008C9380818F7E80831092E40108950F9343
+:1017B0001F93CF93DF930E942B0C0E94330CC8ED34
+:1017C000D0E088818F77888388818068888388814A
+:1017D0008F7D888319BC1092E5011092E10110926F
+:1017E000E3011092E20100EE10E0F80180818B7FAE
+:1017F000808388818160888342E060E080E00E948D
+:10180000360BE1EEF0E080818E7F8083E2EEF0E047
+:10181000808181608083808188608083F8018081FD
+:101820008E7F8083888180618883DF91CF911F9133
+:101830000F910895E8EDF0E080818F7E8083E7EDE1
+:10184000F0E080818160808384E082BF81E08093CA
+:10185000E4010C94D70BE8EDF0E080818E7F80836B
+:101860001092E20008951092DA001092E1000895BB
+:101870001F920F920FB60F9211242F933F934F9305
+:101880005F936F937F938F939F93AF93BF93EF93E8
+:10189000FF938091E10082FF0BC08091E20082FF04
+:1018A00007C08091E1008B7F8093E1000E94A40E2D
+:1018B0008091DA0080FF1FC08091D80080FF1BC09C
+:1018C0008091DA008E7F8093DA008091D90080FFCA
+:1018D0000DC080E189BD82E189BD09B400FEFDCF64
+:1018E00081E08093E5010E949D0805C019BC10921B
+:1018F000E5010E94AB088091E10080FF19C0809152
+:10190000E20080FF15C08091E2008E7F8093E200AC
+:101910008091E20080618093E2008091D800806233
+:101920008093D80019BC85E08093E5010E94AF0840
+:101930008091E10084FF30C08091E20084FF2CC0E0
+:1019400080E189BD82E189BD09B400FEFDCF8091AF
+:10195000D8008F7D8093D8008091E1008F7E8093A6
+:10196000E1008091E2008F7E8093E2008091E200AE
+:1019700081608093E2008091E101882311F084E08E
+:1019800007C08091E30087FD02C081E001C083E0D1
+:101990008093E5010E94B1088091E10083FF29C096
+:1019A0008091E20083FF25C08091E100877F8093D2
+:1019B000E10082E08093E5011092E1018091E10075
+:1019C0008E7F8093E1008091E2008E7F8093E20021
+:1019D0008091E20080618093E20042E060E080E07C
+:1019E0000E94360B8091F00088608093F0000E9486
+:1019F000AE08FF91EF91BF91AF919F918F917F9131
+:101A00006F915F914F913F912F910F900FBE0F906B
+:101A10001F9018951F920F920FB60F9211242F93BB
+:101A20003F934F935F936F937F938F939F93AF9366
+:101A3000BF93CF93DF93EF93FF93C091E900CF70F3
+:101A40008091EC00D82FD17080FDD0E81092E90091
+:101A50008091F000877F8093F00078940E944E0D73
+:101A60001092E9008091F00088608093F000CD2B07
+:101A7000CF70C093E900FF91EF91DF91CF91BF91BB
+:101A8000AF919F918F917F916F915F914F913F9116
+:101A90002F910F900FBE0F901F9018951F93CF930B
+:101AA000DF93CDB7DEB7AA970FB6F894DEBF0FBEAF
+:101AB000CDBFE6EEF1E08091F100819321E0EE3EB2
+:101AC000F207C9F70E94CD088091E80083FF24C186
+:101AD0008091E6019091E701492F50E04A3051058D
+:101AE00008F01AC1FA01EA5AFF4F0C9430238038EB
+:101AF00081F0823809F010C18091EA018F708093E3
+:101B0000E9008091EB0085FB882780F91092E900BD
+:101B100006C08091E2019091E30191118260909161
+:101B2000E800977F9093E8008093F1001092F10015
+:101B3000C8C0282F2D7F09F0EFC0882319F082300C
+:101B400061F0EAC08091E801813009F0E5C093308E
+:101B500009F080E08093E3012BC08091E8018111BE
+:101B600027C08091EA018F7009F4D6C08093E90004
+:101B70002091EB0020FF1CC0933021F48091EB00FA
+:101B8000806214C09091EB0090619093EB0021E093
+:101B900030E0A90102C0440F551F8A95E2F7409337
+:101BA000EA001092EA008091EB0088608093EB00DD
+:101BB0001092E9008091E800877F86C08111ACC057
+:101BC0001091E8011F778091E3008078812B80934A
+:101BD000E3008091E800877F8093E8000E946B0B10
+:101BE0008091E80080FFFCCF8091E30080688093C3
+:101BF000E300111102C082E001C083E08093E5019F
+:101C00008BC08058823008F087C08091E8019091A5
+:101C1000E9018C3D53E0950779F583E08A838AE2F8
+:101C200089834FB7F894DE01139620E03EE051E23D
+:101C3000E32FF0E050935700E49120FF03C0E295BA
+:101C4000EF703F5FEF708E2F90E0EA3010F0C79694
+:101C500001C0C0968D939D932F5F243149F74FBFEC
+:101C60008091E800877F8093E8006AE270E0CE010F
+:101C700001960E94770A14C0AE014F5F5F4F6091DA
+:101C8000EA010E94C009BC01892B09F445C090916A
+:101C9000E800977F9093E80089819A810E94D50A95
+:101CA0008091E8008B778093E80036C08038A1F5FA
+:101CB0008091E800877F8093E8008091E101809324
+:101CC000F1008091E8008E778093E8000E946B0B12
+:101CD00023C0811121C08091E8019091E9019927E9
+:101CE0000297D4F48091E800877F8093E800809188
+:101CF000E8018093E1010E946B0B8091E101811169
+:101D000006C08091E30087FD02C081E001C084E04D
+:101D10008093E5010E94B9088091E80083FF0AC022
+:101D20008091E800877F8093E8008091EB008062DB
+:101D30008093EB00AA960FB6F894DEBF0FBECDBF1E
+:101D4000DF91CF911F9108950895CF938091E50180
+:101D50008823A1F0C091E900CF709091EC00892F09
+:101D6000817090FD80E8C82B1092E9008091E80016
+:101D700083FD0E944E0DCF70C093E900CF9108956E
+:101D800090936901809368010895E0916801F09152
+:101D90006901309721F00190F081E02D099480E0F5
+:101DA0000895E0916801F0916901309721F0028077
+:101DB000F381E02D09940895E0916801F0916901A3
+:101DC000309721F00480F581E02D09940895209149
+:101DD0006601309167012817390771F09093670108
+:101DE00080936601E0916801F0916901309721F0DC
+:101DF0000680F781E02D09940895209164013091C7
+:101E000065012817390771F090936501809364018B
+:101E1000E0916801F0916901309721F00084F1852B
+:101E2000E02D0994089508950C94130F0E94F91A57
+:101E30000E947F040C94BF1BCF92DF92EF92FF921F
+:101E40000F931F93CF93DF93CDB7DEB72B970FB6CA
+:101E5000F894DEBF0FBECDBF0E9497048BE6C82E5C
+:101E600081E0D82E00E010E0E02E802F0E948D054A
+:101E7000F60141916F01F82EF426B1F40F5F1F4F68
+:101E80000E30110589F78FEF89838A831B820E94A8
+:101E9000021B8160782F9D838C8349815A816B81DD
+:101EA0008D810E94BF0F40C09091CD0191FF04C071
+:101EB0008B870E9493058B8520E030E04F2D50E00A
+:101EC000922FBA01022E02C0759567950A94E2F727
+:101ED00060FF24C02E83EF8221E030E0690102C060
+:101EE000CC0CDD1C9A95E2F790E08C219D21892B8A
+:101EF00009F420E028870E94021B8160782F9A87CE
+:101F000089874E815F8168858A850E94BF0FF801AD
+:101F1000E559FE4F8081C826C08206C02F5F3F4F23
+:101F20002630310569F6AACF0E94A61E0E94C50E72
+:101F300090916A018917A1F00E94C50E80936A01F1
+:101F40002B960FB6F894DEBF0FBECDBFDF91CF91B9
+:101F50001F910F91FF90EF90DF90CF900C94BA07F4
+:101F60002B960FB6F894DEBF0FBECDBFDF91CF9199
+:101F70001F910F91FF90EF90DF90CF900895CF9336
+:101F8000DF93CDB7DEB72B970FB6F894DEBF0FBE49
+:101F9000CDBF4F83588769877A878B87DE0111967B
+:101FA00086E0FD0111928A95E9F785E0FE013796FA
+:101FB00001900D928A95E1F749815A816B817C816C
+:101FC0008D819E810E94CE162B960FB6F894DEBFAF
+:101FD0000FBECDBFDF91CF9108950895CF93C82F45
+:101FE000882309F4C1C0823859F40E94C50E81FDCE
+:101FF000BBC089E30E946B190E94331A89E30CC0AD
+:10200000833879F40E94C50E80FDAEC083E50E943E
+:102010006B190E94331A83E50E94AA19CF910C9480
+:10202000331A843859F40E94C50E82FD9DC087E49E
+:102030000E946B190E94331A87E4EECF8CEF8C0F4D
+:10204000813A48F48C2F0E94EC2081118DC08C2F96
+:102050000E946B19E3CF80E28C0F883048F4C77080
+:1020600081E001C0880FCA95EAF70E94EC19D6CF2B
+:102070008BE58C0F833078F4C53A29F0C63A31F0FD
+:1020800083E890E005C081E890E002C082E890E03B
+:10209000CF910C94E70E88E58C0F833108F064C073
+:1020A000C83A39F1C93A41F1CA3A49F1CB3A51F14A
+:1020B000CC3A59F1CD3A61F1C03B69F1CE3A71F1B8
+:1020C000CF3A79F1C13B81F1C23B89F1C33B91F138
+:1020D000C43B99F1C53BA1F1C63BA9F1C73BB1F1A6
+:1020E000C83BB9F1C93BC1F1CA3BC9F180E090E0FE
+:1020F00038C082EE90E035C089EE90E032C08AEEC2
+:1021000090E02FC085EB90E02CC086EB90E029C0DA
+:1021100087EB90E026C08CEC90E023C08DEC90E043
+:1021200020C083E891E01DC08AE891E01AC082E9EE
+:1021300091E017C084E991E014C081E292E011C0FF
+:1021400083E292E00EC084E292E00BC085E292E06E
+:1021500008C086E292E005C087E292E002C08AE20F
+:1021600092E0CF910C94FD0ECF910895882309F44D
+:102170004BC0823859F40E94C50E81FF45C089E3E7
+:102180000E946B190E94331A89E30CC0833871F4E2
+:102190000E94C50E80FF38C083E50E946B190E9423
+:1021A000331A83E50E94AA190C94331A843859F41F
+:1021B0000E94C50E82FF28C087E40E946B190E940E
+:1021C000331A87E4EFCF9CEF980F913A58F390E2DF
+:1021D000980F983050F4877091E001C0990F8A955C
+:1021E000EAF7892F0E94F219DFCF9BE5980F933011
+:1021F00020F480E090E00C94E70E885A833120F4BC
+:1022000080E090E00C94FD0E0895882321F00E9458
+:10221000EC190C94331A0895882321F00E94F219C6
+:102220000C94331A0895BF92CF92DF92EF92FF92EF
+:102230000F931F93CF93DF9300D000D000D0CDB782
+:10224000DEB77C0185E0F701DE01119601900D9269
+:102250008A95E1F7F70183819481892B09F4E6C21D
+:10226000D08011811F3F21F4FFEFDF1609F4DEC299
+:10227000F7010281258122952F70C7012E830E94CC
+:10228000ED0FD9821A8389819A810E942A19182F09
+:10229000B92E0E9429190E94F0172E81002319F0EF
+:1022A0000E94091A2E81EB2DE295EF704E2F50E01F
+:1022B000FA01E05AFF4F0C9430238B2D807F9B2D29
+:1022C0009F70F92E882319F0F29480EFF8220023F2
+:1022D00049F0FF2009F457C28F2D0E94FC190E947B
+:1022E000331A51C2812F0E94B610FF2009F49EC2FA
+:1022F0008F2D0E94021A26960FB6F894DEBF0FBEED
+:10230000CDBFDF91CF911F910F91FF90EF90DF90A4
+:10231000CF90BF900C94331A3B2D307F8B2D8F7054
+:10232000303211F08295807F112319F0113021F1A4
+:102330002CC00023B9F0222309F490C1213009F008
+:102340008DC126960FB6F894DEBF0FBECDBFDF91CC
+:10235000CF911F910F91FF90EF90DF90CF90BF90A2
+:102360000C941C1A222319F0213009F45FC28E83C9
+:102370000E941F1A8E8186C1002321F0223008F0AE
+:1023800055C26CC1211152C27DC1002321F022230C
+:1023900009F464C1F8C1222309F474C109C28B2D68
+:1023A00086958695837019F08130D1F03FC2002365
+:1023B00021F0812F9B2D937002C080E090E0269643
+:1023C0000FB6F894DEBF0FBECDBFDF91CF911F9146
+:1023D0000F91FF90EF90DF90CF90BF900C94E70E9D
+:1023E000002321F0812F9B2D937002C080E090E0AC
+:1023F00026960FB6F894DEBF0FBECDBFDF91CF910A
+:102400001F910F91FF90EF90DF90CF90BF900C94B1
+:10241000FD0E812F002319F00E94AE1D02C00E9404
+:10242000161E26960FB6F894DEBF0FBECDBFDF9105
+:10243000CF911F910F91FF90EF90DF90CF90BF90C1
+:102440000C949B1E8B2D837009F075C00111EEC199
+:10245000812F829586958770880F880F912F9F70A6
+:10246000C92ED12CE12CF12C082E04C0CC0CDD1C83
+:10247000EE1CFF1C0A94D2F714FF12C00FE010E00C
+:1024800020E030E004C0000F111F221F331F8A9587
+:10249000D2F7C901B801609570958095909503C0F9
+:1024A00060E070E0CB014B2D46954695437042307D
+:1024B000C1F060F56C297D298E299F29413051F1A9
+:1024C00026960FB6F894DEBF0FBECDBFDF91CF9139
+:1024D0001F910F91FF90EF90DF90CF90BF900C94E1
+:1024E00017186C297D298E299F2926960FB6F894F6
+:1024F000DEBF0FBECDBFDF91CF911F910F91FF9037
+:10250000EF90DF90CF90BF900C9433180E94171873
+:10251000C701B60126960FB6F894DEBF0FBECDBF39
+:10252000DF91CF911F910F91FF90EF90DF90CF90AF
+:10253000BF900C94FB17002319F08B2D817001C004
+:102540008695882309F472C1812F829586958770BC
+:10255000880F880F912F9F70C92ED12CE12CF12C60
+:10256000082E04C0CC0CDD1CEE1CFF1C0A94D2F714
+:1025700014FF12C00FE010E020E030E004C0000FB4
+:10258000111F221F331F8A95D2F7C901B801609528
+:1025900070958095909503C060E070E0CB014B2D65
+:1025A0004695469543704230C1F060F56C297D290F
+:1025B0008E299F29413051F126960FB6F894DEBF3F
+:1025C0000FBECDBFDF91CF911F910F91FF90EF9084
+:1025D000DF90CF90BF900C94F1186C297D298E2943
+:1025E0009F2926960FB6F894DEBF0FBECDBFDF91B0
+:1025F000CF911F910F91FF90EF90DF90CF90BF9000
+:102600000C940D190E94F118C701B60126960FB659
+:10261000F894DEBF0FBECDBFDF91CF911F910F9118
+:10262000FF90EF90DF90CF90BF900C94D518103FA3
+:10263000D1F118F4103E50F4A1C0123F09F463C068
+:1026400008F44CC0133F09F473C098C01F708B2D61
+:102650008F710023A1F00E946E18812F26960FB66D
+:10266000F894DEBF0FBECDBFDF91CF911F910F91C8
+:10267000FF90EF90DF90CF90BF900C9405110E94D7
+:102680008F18812F26960FB6F894DEBF0FBECDBFF0
+:10269000DF91CF911F910F91FF90EF90DF90CF903E
+:1026A000BF900C940C110023A9F02111BFC08B2DF9
+:1026B0008F7126960FB6F894DEBF0FBECDBFDF91A7
+:1026C000CF911F910F91FF90EF90DF90CF90BF902F
+:1026D0000C94B418223008F0A9C0E9CF0023A9F067
+:1026E0008B2D8F7126960FB6F894DEBF0FBECDBF2F
+:1026F000DF91CF911F910F91FF90EF90DF90CF90DE
+:10270000BF900C946E18002359F38B2D8F71269671
+:102710000FB6F894DEBF0FBECDBFDF91CF911F91F2
+:102720000F91FF90EF90DF90CF90BF900C948F1897
+:10273000002399F08B2D8F7126960FB6F894DEBF8B
+:102740000FBECDBFDF91CF911F910F91FF90EF9002
+:10275000DF90CF90BF900C94591826960FB6F8943E
+:10276000DEBF0FBECDBFDF91CF911F910F91FF90C4
+:10277000EF90DF90CF90BF900C944F180023A9F0FA
+:10278000222309F4ADCF812F26960FB6F894DEBF31
+:102790000FBECDBFDF91CF911F910F91FF90EF90B2
+:1027A000DF90CF90BF900C94EE0F222309F4ADCFB1
+:1027B000812F26960FB6F894DEBF0FBECDBFDF91F6
+:1027C000CF911F910F91FF90EF90DF90CF90BF902E
+:1027D0000C94B6104B2D4F70612FC7010E940E0351
+:1027E00026960FB6F894DEBF0FBECDBFDF91CF9116
+:1027F0001F910F91FF90EF90DF90CF90BF900C94BE
+:1028000073174B2D4F70612FC70126960FB6F894A2
+:10281000DEBF0FBECDBFDF91CF911F910F91FF9013
+:10282000EF90DF90CF90BF900C94540626960FB691
+:10283000F894DEBF0FBECDBFDF91CF911F910F91F6
+:10284000FF90EF90DF90CF90BF9008950E94091AFB
+:102850000E94191A0E94DE190E94331A0E944B1F0F
+:102860000E949B1E80E090E00E94E70E80E090E0D6
+:102870000C94FD0E0E94F9190C9426140E942A193A
+:10288000292F22952F702C3030F42A3048F4225012
+:10289000223078F405C02C3041F02F3031F009C0DF
+:1028A000803E48F0803F29F406C093FB882780F9DA
+:1028B000089580E0089581E00895CF93DF9300D0DC
+:1028C00000D01F92CDB7DEB70F900F900F900F90F2
+:1028D0000F90DF91CF910895CF93DF9300D000D078
+:1028E00000D0CDB7DEB726960FB6F894DEBF0FBE88
+:1028F000CDBFDF91CF9108951F93CF93DF93C09108
+:10290000790116E080917A01C81799F0D0E01C9FF8
+:10291000F0011D9FF00D1124E558FE4F40815181BB
+:1029200062817381848195810E946C142196C770A5
+:10293000E9CFDF91CF911F9108954091AB01509164
+:10294000AC016091AD017091AE018091AF019091A9
+:10295000B0010C946C148091B00182958F7009F0D5
+:1029600054C08091AD01882309F44FC08091790152
+:10297000A0917A014091AE015091AF016091AB01FD
+:102980007091AC01B6E08A1709F43FC090E04115A0
+:102990005105C1F17F3F11F46F3FA1F1B89FF001E4
+:1029A000B99FF00D1124E558FE4F218127132AC04D
+:1029B0002081261327C02281211124C02381348144
+:1029C0002417350710F421503109241B350B283CFE
+:1029D0003105C0F42091B0012F7020612093B00127
+:1029E00026E0289FF001299FF00D1124E058FE4FAA
+:1029F00080818F70806180838BEA91E00E94131147
+:102A00000C947C1401968770BECF0895CF92DF920C
+:102A1000EF92FF920F931F93CF93DF93CDB7DEB763
+:102A200062970FB6F894DEBF0FBECDBF8C0185E074
+:102A3000F801DE011D9601900D928A95E1F7D8010B
+:102A40004C9111965C91119712966C918091AE0108
+:102A50009091AF01009709F475C13091AB0170916D
+:102A6000AC017F3F19F43F3F09F46CC1F801C3800A
+:102A7000D480E090AD01EE2009F4BEC02091B001F9
+:102A8000C816D90628F0D601A81BB90BCD0104C081
+:102A9000809590958C0D9D1DFF24F394883C9105A5
+:102AA00078F0F12C207F09F0C4C07C2DD98AC88A27
+:102AB00089890E945D148BEA91E00E941311AFC0D6
+:102AC000822F807F09F045C0571313C0431311C0F4
+:102AD00061110FC02F7020612093B0010E949D14DE
+:102AE0008BEA91E00E9413118091B001F801858377
+:102AF0002EC0CD2819F15F3F11F44F3FF9F0F62EAB
+:102B000061111CC08091790120917A0136E0821711
+:102B100009F45BC090E0389FF001399FF00D11245B
+:102B2000E558FE4F7181571306C07081471303C0EB
+:102B30007281711103C001968770E9CFF62E66236A
+:102B400009F41CC18091B00181608093B001F12C27
+:102B500015C1571309C0431307C0611105C0809107
+:102B6000B001F8018583C8C04D875E878D859E853D
+:102B70006A8B0E943E146A898823D1F16623C1F1D1
+:102B80002091B001822F82958F7090E0029774F0AF
+:102B90008091AB019091AC0198878F831986DB8679
+:102BA000CA862C87CE0107960E94131186E0F80191
+:102BB000ABEAB1E001900D928A95E1F70E94AB1467
+:102BC0000E949D14FF24F394D9C04D875E878D85A4
+:102BD0009E850E942A19292F22952F70223008F0F5
+:102BE000C1C09F7009F0BBC0805E883008F4C6C0C9
+:102BF000C8010E941311E6CFC816D90608F453C0C5
+:102C0000F601E81BF90BCF01883C910508F450C090
+:102C1000F12C7C2DD98AC88A89890E945D14EBEA3F
+:102C2000F1E086E0DF011D928A95E9F70E949D148C
+:102C3000A5C0571314C0431312C0611110C0809176
+:102C4000B001F8018583C8010E94131186E0EBEA08
+:102C5000F1E0DF011D928A95E9F7FE2C8FC04D87C8
+:102C60005E878D859E856A8B0E943E146A898823C3
+:102C700009F4BECF662309F4BBCF2091B001822FA7
+:102C800082958F7090E002970CF490CF8091AB0109
+:102C90009091AC019A8389831B82DD82CC822E8342
+:102CA000CE01019681CF809590958C0D9D1DACCF66
+:102CB000F62E662309F49CCF571333C0431331C05B
+:102CC0002091B00120FD24C0822F82958F70482F63
+:102CD00050E041155105E1F0D80115962C93159758
+:102CE0004F30510549F08F5F982F9295907F822F3A
+:102CF0008F70892B15968C93C8010E94131186E062
+:102D0000F801ABEAB1E001900D928A95E1F78ECF20
+:102D100086E0F801ABEAB1E001900D928A95E1F707
+:102D20002DC04D875E878D859E850E943E14811142
+:102D30003DCF8091B00181608093B001C8010E94B5
+:102D400013111CC0662309F453CF4D875E878D8510
+:102D50009E850E943E14882309F44ACF27CF811113
+:102D600043CF0CC0243008F043CF9F7009F43CCF10
+:102D7000D80115969C91907F09F036CF8F2D6296E1
+:102D80000FB6F894DEBF0FBECDBFDF91CF911F917C
+:102D90000F91FF90EF90DF90CF9008951F93CF9306
+:102DA000DF93CDB7DEB72C970FB6F894DEBF0FBE1A
+:102DB000CDBF4F83588769877A878B879C87CE01E1
+:102DC00007960E940615882371F08A859B85892BBA
+:102DD00009F441C088858F3F09F065C08F818F3F1E
+:102DE00009F061C038C086E0FE013796DE01119619
+:102DF00001900D928A95E1F76A857B8561157105D1
+:102E000051F1FF81E885EF3F11F4FF3F21F120915F
+:102E10007A0130E0C90101968770992740917901C4
+:102E200050E08417950709F447C0F983EA837D834E
+:102E30006C8396E0929FD001939FB00D1124A5580A
+:102E4000BE4FFE01319601900D929A95E1F7809365
+:102E50007A010E947C1416E08091790190917A01A8
+:102E60008917B9F1189FC001112485589E4F0E94FF
+:102E70000615882371F1E09179011E9FF00111245C
+:102E8000E558FE4F40815181628173818481958133
+:102E90000E946C148091790190E0019687709927C7
+:102EA00080937901D9CF4F81588569857A858B8543
+:102EB0009C850E946C14CFCF0E943A1410927A0124
+:102EC00010927901EBEAF1E086E0DF011D928A952C
+:102ED000E9F72C960FB6F894DEBF0FBECDBFDF9199
+:102EE000CF911F910895EF92FF920F931F93CF936D
+:102EF000DF938C01892B09F46CC0F12CEE24E39450
+:102F0000E8012196F8018491843740F4843008F078
+:102F100051C0813081F0823019F15BC0853709F4EE
+:102F200044C0A8F19CE7980F903708F052C08F7703
+:102F30000E94B61041C00E5F1F4FFE01849190E2C7
+:102F4000980F983050F48770FE2D01C0FF0F8A95BE
+:102F5000EAF78F2F0E940C1A14C00E94EE0F2DC0AA
+:102F60000E5F1F4FFE01849190E2980F983060F43D
+:102F70008770FE2D01C0FF0F8A95EAF78F2F0E9400
+:102F8000121A0E94331A19C00E94B61016C00E5FA2
+:102F90001F4FFE01C491CC2381F08FE99FE0019780
+:102FA000F1F700C00000C150F6CF0E5F1F4FFE01C9
+:102FB000F49003C00E94EE0F8E018F2D882309F438
+:102FC0009FCFEFE9FFE03197F1F700C0000081509B
+:102FD000F5CFDF91CF911F910F91FF90EF90089562
+:102FE00008956093B5017093B6018093B7019093F3
+:102FF000B8010C9426140F931F930091B501109102
+:10300000B6012091B7013091B801DC01CB01802BD2
+:10301000912BA22BB32B8093B5019093B601A09373
+:10302000B701B093B8011F910F910C9426140F9320
+:103030001F930091B5011091B6012091B701309115
+:10304000B801DC01CB0180239123A223B323809319
+:10305000B5019093B601A093B701B093B8011F9149
+:103060000F910C9426140F931F930091B5011091AA
+:10307000B6012091B7013091B801DC01CB01802766
+:103080009127A227B3278093B5019093B601A0930F
+:10309000B701B093B8011F910F910C9426141092B0
+:1030A000B1011092B2011092B3011092B4010C94CC
+:1030B000261441E050E060E070E004C0440F551F6A
+:1030C000661F771F8A95D2F74093B1015093B201E2
+:1030D0006093B3017093B4010C94261441E050E066
+:1030E00060E070E004C0440F551F661F771F8A958B
+:1030F000D2F78091B1019091B201A091B301B0914A
+:10310000B401482B592B6A2B7B2B4093B101509370
+:10311000B2016093B3017093B4010C94261441E0A2
+:1031200050E060E070E004C0440F551F661F771F39
+:103130008A95D2F740955095609570958091B10130
+:103140009091B201A091B301B091B40148235923E9
+:103150006A237B234093B1015093B2016093B30182
+:103160007093B4010C94261441E050E060E070E0EC
+:1031700004C0440F551F661F771F8A95D2F78091B0
+:10318000B1019091B201A091B301B091B40148276F
+:1031900059276A277B274093B1015093B20160936E
+:1031A000B3017093B4010C9426140F931F930091F4
+:1031B000B1011091B2012091B3013091B401DC0151
+:1031C000CB01802B912BA22BB32B8093B101909339
+:1031D000B201A093B301B093B4011F910F910C946D
+:1031E00026140F931F930091B1011091B201209109
+:1031F000B3013091B401DC01CB0180239123A223E0
+:10320000B3238093B1019093B201A093B301B09323
+:10321000B4011F910F910C9426140F931F930091EA
+:10322000B1011091B2012091B3013091B401DC01E0
+:10323000CB0180279127A227B3278093B1019093D8
+:10324000B201A093B301B093B4011F910F910C94FC
+:1032500026140895CF92DF92EF92FF920F931F935F
+:10326000CF93DF938C01C090B101D090B201E09078
+:10327000B301F090B4018091B5019091B601A09195
+:10328000B701B091B801C82AD92AEA2AFB2ACFE1AE
+:10329000D0E0D701C6010C2E04C0B695A79597952E
+:1032A00087950A94D2F780FF07C0B8018C2F0E943F
+:1032B00078068130910531F4219758F7B80180E004
+:1032C0000E947806DF91CF911F910F91FF90EF90B0
+:1032D000DF90CF90089590910C019923F1F0909197
+:1032E0000D019923D1F0982F9695969596959F303C
+:1032F00080F5E0910E01F0910F01E90FF11D87704B
+:1033000021E030E0A90102C0440F551F8A95E2F781
+:10331000CA019181892B8183089520910E013091FA
+:103320000F01F90132969FEF40E05191851789F026
+:103330009F3F19F4511101C0942F4F5F4E30A9F7F0
+:103340009F3F39F0F901E90FF11D97FDFA9582834E
+:103350000895089590910C019923F9F090910D0131
+:103360009923D9F0982F9695969596959F3028F5A4
+:10337000E0910E01F0910F01E90FF11D877021E03E
+:1033800030E0A90102C0440F551F8A95E2F7CA0137
+:103390008095918189238183089520910E01309138
+:1033A0000F01F9013296205F3F4F9081891301C0D0
+:1033B00010823196E217F307C1F7089581E090E09B
+:1033C000E0910E01F0910F01E80FF91F10820196B4
+:1033D00080319105A9F708959091CC01892B8093B4
+:1033E000CC01089580959091CC0189238093CC01E4
+:1033F00008951092CC0108959091CB01892B809370
+:10340000CB01089580959091CB0189238093CB01C6
+:1034100008951092CB0108959091CA01892B809351
+:10342000CA01089580959091CA0189238093CA01A9
+:1034300008951092CA0108958093B90108951092D9
+:10344000B901089580910E0190910F01FC01319610
+:103450009C01205F3F4F80E0919191118F5FE217B7
+:10346000F307D1F70895E0910E01F0910F018091DB
+:10347000CC018083E0910E01F0910F019081809149
+:10348000CB01892B8083E0910E01F0910F01908197
+:103490008091CA01892B80838091B901882361F0D2
+:1034A000E0910E01F0910F019081892B80830E94A1
+:1034B000221A81111092B90180910E0190910F0191
+:1034C0000C94D10ECF92DF92EF92FF926C01EE241A
+:1034D000FF24C114D104E104F10421F0C701B601B5
+:1034E00020E101C020E0C72ED82EE92EFF24C11410
+:1034F000D104E104F10419F0285FC701B6016B01A2
+:103500007C0154E0F694E794D794C7945A95D1F788
+:10351000C114D104E104F10419F02C5FC701B60114
+:103520006B017C0142E0F694E794D794C7944A95E6
+:10353000D1F7C114D104E104F10419F02E5FC701E1
+:10354000B601DC01CB01B695A79597958795892B98
+:103550008A2B8B2B09F02F5F822FFF90EF90DF904B
+:10356000CF9008958091E501843029F120E488E12D
+:1035700090E00FB6F894A895809360000FBE20935A
+:10358000600080E00E94BA0783B7817F846083BFB8
+:1035900083B7816083BF7894889583B78E7F83BF1C
+:1035A0000FB6F894A89580916000886180936000C0
+:1035B000109260000FBE089508950C94DC1ACF930A
+:1035C0000E94DD1A0E9497040E94DC1AC0E08C2F32
+:1035D0000E948D05811104C0CF5FCE30C1F701C0BC
+:1035E00081E0CF9108950E943A140E94C50E0C9478
+:1035F000BA0782E084BD93E095BD9AEF97BD8093B2
+:103600006E0008952FB7F8948091CE019091CF016C
+:10361000A091D001B091D1012FBF0895CF92DF9238
+:10362000EF92FF920F931F932FB7F8944091CE0122
+:103630005091CF016091D0017091D1012FBF6A01EB
+:103640007B01EE24FF248C0120E030E0C016D1067F
+:10365000E206F30610F4415051099A01281B390B78
+:10366000C9011F910F91FF90EF90DF90CF900895C7
+:103670001F920F920FB60F9211248F939F93AF93C7
+:10368000BF938091CE019091CF01A091D001B091D4
+:10369000D1010196A11DB11D8093CE019093CF0160
+:1036A000A093D001B093D101BF91AF919F918F9121
+:1036B0000F900FBE0F901F9018950E94BD0BF894AD
+:1036C0002FEF87EA91E6215080409040E1F700C05B
+:1036D000000087E090EBDC018093EE019093EF0116
+:1036E000A093F001B093F1019CE088E10FB6F8944B
+:1036F000A895809360000FBE90936000FFCFEF927B
+:10370000FF920F931F93CF93DF93D82FC0E08C2F9E
+:103710000E948D0500E010E0E82EF12CC701002E7C
+:1037200002C0959587950A94E2F780FD06C00F5F69
+:103730001F4F0630110591F709C0602F7C2F80E0E4
+:103740000E9455068D13F3CF81E004C0CF5FCE30C9
+:10375000F1F680E0DF91CF911F910F91FF90EF90F4
+:103760000895CF93C82F8CE20E947F1B882321F0FD
+:103770008C2FCF910C947F1B80E0CF910895CF9335
+:103780000E94061D811102C00E94EC1CC5E6C150BA
+:1037900049F00E9497048FE39CE90197F1F700C07C
+:1037A0000000F5CF89E20E94B11B811113C18AE2AA
+:1037B0000E94B11B81110E94EC1C85E00E94B11B8C
+:1037C00081110E945D1B0E94111D8093CD0187E035
+:1037D0000E94B11B8823A9F18BE10E94B11B8823B1
+:1037E00051F08091CD0181FB222720F991E09227B1
+:1037F00090FB81F90EC08EE00E94B11B882361F01E
+:103800008091CD0182FB222720F991E0922790FB45
+:1038100082F98093CD0115C080E10E94B11B909187
+:10382000CD01882341F093FB222720F981E08227F4
+:1038300080FB93F904C0892F809580FB90F99093C9
+:10384000CD018091CD010E94151D0E94231D809302
+:10385000DF0180EE0E94B11B882341F08091DF01DF
+:10386000982F909590FB80F98093DF0189E30E9467
+:10387000B11B882359F08091DF0181FB222720F9B9
+:1038800091E0922790FB81F98093DF0182EE0E9404
+:10389000B11B882359F08091DF0182FB222720F998
+:1038A00091E0922790FB82F98093DF0186EE0E94DF
+:1038B000B11B882359F08091DF0183FB222720F977
+:1038C00091E0922790FB83F98093DF0183EE0E94C1
+:1038D000B11B882359F08091DF0184FB222720F956
+:1038E00091E0922790FB84F98093DF0185E30E94A9
+:1038F000B11B882359F08091DF0185FB222720F935
+:1039000091E0922790FB85F98093DF0181E30E948B
+:10391000B11B882359F08091DF0186FB222720F913
+:1039200091E0922790FB86F98093DF0181E10E946C
+:10393000B11B882359F08091DF0187FB222720F9F2
+:1039400091E0922790FB87F98093DF018091DF015E
+:103950000E94271D8091DF0187FB882780F98093D3
+:103960000D0187E20E94B11BC82F8EE10E94B11B9E
+:103970008111C2608FE10E94B11B8111C46080E29D
+:103980000E94B11B8111C86081E20E94B11B8111AC
+:10399000C06182E20E94B11B8111C06283E20E9479
+:1039A000B11B8111C06484E20E94B11B882311F015
+:1039B000C06802C0CC2329F08C2F0E941E1D6C2FE2
+:1039C00003C00E941A1D682F70E080E090E0CF9144
+:1039D0000C94F117CF9108956DEE7EEF80E090E0AA
+:1039E0000E94662360E082E090E00E94582360E03D
+:1039F00083E090E00E94582360E084E090E00E9421
+:103A0000582360E085E090E00C94582380E090E03B
+:103A10000E94522321E08D3E9E4F09F020E0822F2C
+:103A2000089582E090E00C944A23682F82E090E0B1
+:103A30000C94582383E090E00C944A23682F83E091
+:103A400090E00C94582384E090E00C944A23682F73
+:103A500084E090E00C9458238091D40180FF0BC047
+:103A60006091130185E0689FB001112475956795F9
+:103A7000759567952BC081FF09C06091130185E0A2
+:103A8000689FB00111247595679520C082FF07C01B
+:103A90006091130185E0689FB001112417C09091D7
+:103AA000D5019923D1F060911201961788F72091E2
+:103AB000130185E0289F90011124929FA001939FFC
+:103AC000500D112470E0CA010E941C23603871055A
+:103AD00040F46115710519F406C065E070E0862FA9
+:103AE00008958FE7089581E008958091D40180FFC3
+:103AF00008C06091110170E075956795759567959F
+:103B000021C081FF06C06091110170E07595679535
+:103B100019C082FF04C06091110170E010C0909143
+:103B2000D501992399F0609110019617A0F7809123
+:103B30001101899FC001112470E00E941C2360388C
+:103B4000710540F46115710519F406C061E070E07B
+:103B5000862F08958FE7089581E00895803F21F42E
+:103B60000E942C1D819504C0813F29F40E942C1DC8
+:103B70008093D8010895823F21F40E942C1D8195E5
+:103B800004C0833F29F40E942C1D8093D70108951F
+:103B9000893F19F40E94751D05C08A3F31F40E94C7
+:103BA000751D81958093D90108958B3F21F40E9462
+:103BB000751D819504C08C3F29F40E94751D80936A
+:103BC000DA010895843F21F48091D601816017C005
+:103BD000853F21F48091D601826011C0863F21F497
+:103BE0008091D60184600BC0873F21F48091D6017B
+:103BF000886005C0883F31F48091D6018061809350
+:103C0000D60108958D3F21F48091D40181600BC0CD
+:103C10008E3F21F48091D401826005C08F3F29F44A
+:103C20008091D40184608093D4010895803F39F459
+:103C30008091D80187FF6CC01092D80169C0813F84
+:103C400029F48091D8011816BCF362C09091D70175
+:103C5000823F29F497FF5CC01092D70159C0833F7F
+:103C600019F41916CCF354C0893F41F48091D9015D
+:103C700018160CF04DC01092D9014AC08A3F29F4A1
+:103C80008091D90187FF44C0F6CF8B3F39F48091F2
+:103C9000DA0187FF3DC01092DA013AC08C3F29F467
+:103CA0008091DA011816BCF333C0843F21F480916F
+:103CB000D6018E7F17C0853F21F48091D6018D7F7C
+:103CC00011C0863F21F48091D6018B7F0BC0873FC6
+:103CD00021F48091D601877F05C0883F31F480911F
+:103CE000D6018F7E8093D60113C08D3F21F4809141
+:103CF000D4018E7F0BC08E3F21F48091D4018D7F43
+:103D000005C08F3F29F48091D4018B7F8093D4012B
+:103D10008091D70181110EC08091D80181110AC014
+:103D20008091D901811106C08091DA01811102C010
+:103D30001092D501089586ED91E00E94DC0E0E945C
+:103D4000021B9093D3018093D20108951F93CF93C8
+:103D5000DF938091D2019091D3010E940E1BAC01A0
+:103D60009091D501992321F02091140130E006C0F3
+:103D7000209115018AE0289F9001112442175307D2
+:103D800008F485C08091D701C091D801D091D901A4
+:103D90001091DA01811107C0C11175C0D11173C032
+:103DA000111171C074C09F3F19F09F5F9093D501AE
+:103DB000181624F40E942C1D8093D7018091D701FE
+:103DC00087FF05C00E942C1D81958093D7011C168A
+:103DD00024F40E942C1D8093D8018091D80187FF84
+:103DE00005C00E942C1D81958093D8016091D70158
+:103DF000662331F1C091D801CC2311F1062E000CBD
+:103E0000770B880B990B0E94232223E333E343E3D0
+:103E10005FE30E9487220E94EB216093D7016C2F01
+:103E2000CC0F770B880B990B0E94232223E333E3FB
+:103E300043E35FE30E9487220E94EB216093D80155
+:103E40001D1624F40E94751D8093D9018091D9011B
+:103E500087FF05C00E94751D81958093D9011116B9
+:103E600024F40E94751D8093DA018091DA0187FFA6
+:103E700005C00E94751D81958093DA01DF91CF9175
+:103E80001F910C949B1E9F3F09F08FCFA0CFDF9115
+:103E9000CF911F910895E6EDF1E085E0DF011D92DD
+:103EA0008A95E9F71092D5011092D40108958330D4
+:103EB00081F128F4813059F08230D1F008958530B5
+:103EC00009F449C0B8F1863009F456C008958091CC
+:103ED0001501262F30E0280F311D2F3F310524F426
+:103EE000680F6093150108958FEF80931501089571
+:103EF00080911401262F30E0280F311D2F3F31050E
+:103F000024F4680F6093140108958FEF80931401D7
+:103F1000089580911301262F30E0280F311D2F3F87
+:103F2000310524F4680F6093130108958FEF809397
+:103F30001301089580911201262F30E0280F311DC2
+:103F40002F3F310524F4680F6093120108958FEF1D
+:103F500080931201089580911101262F30E0280FDF
+:103F6000311D2F3F310524F4680F6093110108952E
+:103F70008FEF80931101089580911001262F30E07A
+:103F8000280F311D2F3F310524F4680F6093100175
+:103F900008958FEF809310010895833011F128F474
+:103FA000813049F0823091F00895853081F120F11F
+:103FB0008630C1F1089580911501681720F4861BA1
+:103FC00080931501089510921501089580911401B0
+:103FD000681720F4861B8093140108951092140131
+:103FE000089580911301681720F4861B80931301B4
+:103FF000089510921301089580911201681720F41A
+:10400000861B8093120108951092120108958091E9
+:104010001101681720F4861B8093110108951092F6
+:104020001101089580911001681720F4861B809378
+:10403000100108951092100108950F931F938D3170
+:1040400009F46AC008F03FC08E3009F484C0C0F49F
+:10405000873009F46DC068F4863009F0B5C08091EE
+:10406000CD01817F8E7F8093CD0181E08093DC0143
+:10407000ACC0883009F457C08B3009F46AC0A4C0C2
+:10408000863109F466C078F4803109F477C0813153
+:1040900009F09AC00E943A1490910D0181E089279D
+:1040A00080930D0156C0893109F453C08B3109F05A
+:1040B0008BC08091CD0181FB222720F991E09227CE
+:1040C00090FB81F951C0853309F475C048F48732FB
+:1040D00009F471C008F45EC0893209F46CC074C080
+:1040E000833430F48A3308F053C0883391F16CC0C4
+:1040F000833409F460C0883409F066C00E943A1421
+:104100000FEF13ED20E3015010402040E1F700C015
+:1041100000000E945D1B1DC00E94A5210E94C50ECB
+:104120000E94BA0716C00E94111D0E94231D11C0D3
+:104130009091CD01892F8095817080FB90F929F0B5
+:10414000966098609093CD0140C0997F977F90933F
+:10415000CD0181E03AC08091CD0182FB222720F978
+:1041600091E0922790FB82F98093CD01992389F306
+:104170008091CD0181608093CD01EBCF8091CD0105
+:1041800083FB222720F991E0922790FB83F9ECCF63
+:10419000895301C08D5141E050E060E070E08A0138
+:1041A0009B0104C0000F111F221F331F8A95D2F7F5
+:1041B000C901B80104C061E070E080E090E00E94B5
+:1041C000F1170E943A14C5CF80E01F910F91089516
+:1041D00080E008950C94E820CF93C82F8091DC01F3
+:1041E000813079F018F08230E9F187C0E0910E015A
+:1041F000F0910F018081813169F0823209F07FC036
+:1042000009C0E0910E01F0910F018081813111F020
+:10421000823261F48C2F0E94EA20811104C08C2F1D
+:104220000E941D201DC081E090E01AC08C2F0E94CA
+:10423000E820811114C0C43179F048F4CB3079F012
+:10424000C03109F060C082E08093DC0108C0C9324F
+:1042500019F0C83321F057C01092DC0154C081E03E
+:10426000817053C0C93289F118F5C43171F1A8F4D5
+:10427000C73009F046C08AE08093150194E190931D
+:10428000140193E0909313018093120188E08093CE
+:10429000110188E28093100134C0CE51C63088F5F8
+:1042A000EC2FF0E0E65DFE4F80818093DB0129C0BA
+:1042B000CE34E9F020F4CB3421F56AE013C0C135E7
+:1042C00079F0C235F1F461E00DC08091DB01882303
+:1042D00019F01092DB0115C081E08093DC0115C05C
+:1042E00061E006C08091DB010E94571F0AC06AE0AE
+:1042F0008091DB010E94CD1F04C01092DC0180E0A0
+:1043000004C081E002C080E0ABCFCF910895E1E826
+:10431000F0E08081886080838081816080838FB7B6
+:10432000F89493E09093890090ED909388008FBF6C
+:104330000895EFE6F0E08081826080830895EFE6E3
+:10434000F0E080818D7F80830895EFE6F0E090813A
+:1043500082E08927808308951F920F920FB60F92F3
+:1043600011242F933F934F935F936F937F938F937A
+:104370009F93AF93BF93EF93FF938091DD01909153
+:10438000DE0101969093DE018093DD01811103C06F
+:1043900082E00E94BA07E091DE01E695E695F0E042
+:1043A000E75BFA4FE4918091DD018E1303C080E05A
+:1043B0000E94BA07FF91EF91BF91AF919F918F91AA
+:1043C0007F916F915F914F913F912F910F900FBE11
+:1043D0000F901F9018950E94F2216894B1110C94CF
+:1043E000812208950E94662288F09F5798F0B92F85
+:1043F0009927B751B0F0E1F0660F771F881F991F1A
+:104400001AF0BA95C9F714C0B13091F00E94802219
+:10441000B1E008950C948022672F782F8827B85F29
+:1044200039F0B93FCCF3869577956795B395D9F771
+:104430003EF490958095709561957F4F8F4F9F4F7B
+:104440000895E89409C097FB3EF490958095709587
+:1044500061957F4F8F4F9F4F9923A9F0F92F96E9D0
+:10446000BB279395F695879577956795B795F11145
+:10447000F8CFFAF4BB0F11F460FF1BC06F5F7F4FE2
+:104480008F4F9F4F16C0882311F096E911C07723F4
+:1044900021F09EE8872F762F05C0662371F096E8FD
+:1044A000862F70E060E02AF09A95660F771F881FCC
+:1044B000DAF7880F9695879597F9089557FD9058E4
+:1044C000440F551F59F05F3F71F04795880F97FBD8
+:1044D000991F61F09F3F79F0879508951216130692
+:1044E0001406551FF2CF4695F1DF08C016161706C1
+:1044F0001806991FF1CF86957105610508940895F6
+:10450000E894BB2766277727CB0197F908950E9487
+:104510009A220C940B230E94FD2238F00E9404235F
+:1045200020F0952311F00C94F4220C94FA2211241B
+:104530000C9481220E945E2270F3959FC1F3950F27
+:1045400050E0551F629FF001729FBB27F00DB11D17
+:10455000639FAA27F00DB11DAA1F649F6627B00DA7
+:10456000A11D661F829F2227B00DA11D621F739F90
+:10457000B00DA11D621F839FA00D611D221F749F9E
+:104580003327A00D611D231F849F600D211D822FE5
+:10459000762F6A2F11249F5750409AF0F1F088230C
+:1045A0004AF0EE0FFF1FBB1F661F771F881F915039
+:1045B0005040A9F79E3F510580F00C94F4220C94D2
+:1045C00081225F3FE4F3983ED4F386957795679513
+:1045D000B795F795E7959F5FC1F7FE2B880F911D63
+:1045E0009695879597F9089597F99F6780E870E009
+:1045F00060E008959FEF80EC089500240A94161659
+:10460000170618060906089500240A9412161306C0
+:10461000140605060895092E0394000C11F488234E
+:1046200052F0BB0F40F4BF2B11F460FF04C06F5F6A
+:104630007F4F8F4F9F4F089597FB072E16F40094DE
+:1046400007D077FD09D00E94362307FC05D03EF441
+:10465000909581959F4F0895709561957F4F08952E
+:10466000EE0FFF1F0590F491E02D0994AA1BBB1BD0
+:1046700051E107C0AA1FBB1FA617B70710F0A61B62
+:10468000B70B881F991F5A95A9F780959095BC0183
+:10469000CD010895F999FECF92BD81BDF89A992771
+:1046A00080B50895A8E1B0E042E050E00C946D239D
+:1046B000262FF999FECF1FBA92BD81BD20BD0FB63E
+:1046C000F894FA9AF99A0FBE019608950E94582319
+:1046D000272F0C945923DC01CB01FC01F999FECF63
+:1046E00006C0F2BDE1BDF89A319600B40D9241507A
+:0A46F0005040B8F70895F894FFCF8A
+:1046FA002002BC074C082708F307BF070101BA01CB
+:10470A0028080A03140A3F4D36390A05BD048704EE
+:10471A004E04E103FA0313042C0401020304050600
+:04472A000708090073
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/alexjj/readme.md b/keyboard/ergodox_ez/keymaps/alexjj/readme.md new file mode 100644 index 0000000000..239e32d399 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/readme.md @@ -0,0 +1,179 @@ +Englishman in New York +=========================== + +:microphone: :tea: + +About +------ + +After using the massdrop configurator to get the basics, I wanted to add a +little extra to my ergodox. Notably the Hyper hotkey, the press and hold, +and a way to have my beloved £ :pound: symbol available<sup>[1](#unicode)</sup>. Why not switch to a GB +layout? Well the computers I use are US keymap'd and I can't always change +that. Plus I've got used to 2/@ and 3/# and moving to the ergodox was hard +enough. :sweat_smile: + +I started from the default and edited from there as I needed. It's somewhat +similar to a regular layout, particularly R1 and shift/controls. I ended up +with a few keys that were blank, so I'm testing out some shortcuts. Alt+F4 for +quitting things in Windows, is one example, but I felt it was better placed on +the 1st layer - in case of fat fingers. + +Layout +------- + +![Layout](rl-layout.jpg "Isn't it lovely") + +### Base Layer + +``` +,--------------------------------------------------. ,--------------------------------------------------. +| ESC | 1! | 2@ | 3# | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | -_ | += | BkSp | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| Tab | Q | W | E | R | T | { | | } | Y | U | I | O | P | |\ | +|--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| +| Win | A | S | D | F | G |------| |------| H | J | K | L | :; | '" | +|--------+------+------+------+------+------| Home | | End |------+------+------+------+------+--------| +| LShift |Z/Alt | X | C | V | B | | | | N | M | , | . | Alt | RShift | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + |LCtrl | COPY | PASTE| Left | Right| | Down | Up |Hyper | `~ | RCtrl | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + Hyper = Ctrl+Super+Alt+Shift | ~L3 | F5 | | F2 | ~L2 | + ,------|------|------| |------+------+------. + | | | PgUp | | Ins | | | + | Enter| BkSp |------| |------| ~L1 |Space | + | | | PgDn | | Del | | | + `--------------------' `--------------------' +``` + +### Symbol Layer + +``` +,--------------------------------------------------. ,--------------------------------------------------. +| | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |PrintScr| +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | | £ | | | | | | . | 0 | = |Alt+F4| + `----------------------------------' `----------------------------------' + ↑ ,-------------. ,-------------. + THERE! | | | | | | + ,------|------|------| |------+------+------. + CAD = Ctrl + Alt + Delete | | | | | | | | + | | |------| |------| | | + | | | | | CAD | | | + `--------------------' `--------------------' +``` +### Media Layer + +Not touched this, not used either. + +``` +,--------------------------------------------------. ,--------------------------------------------------. +| TEENSY | | | | | | | | | | | | | | | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| | | | MsUp | | | | | | | | | | | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | | | | | | | | | | | Prev | Next | | | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | | | | Lclk | Rclk | |VolDn |VolUp | Mute | | | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | |Brwser| + | | |------| |------| |Back | + | | | | | | | | + `--------------------' `--------------------' +``` +### Unicode Layer + +Used to enter/test unicode input on Windows. All numbers are numpad keys. + +``` +,--------------------------------------------------. ,--------------------------------------------------. +| Alt | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | + | + | | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| Alt | | | E | | | | | | | 7 | 8 | 9 | + | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| Alt | A | | D | F | |------| |------| | 4 | 5 | 6 | + | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| Alt | | | C | | B | | | | | 1 | 2 | 3 | + | | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | Alt | Alt | Alt | | | | 0 | 0 | 0 | + | | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + WINDOWS ONLY SETUP!! | ~L3 | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | Alt | Alt |------| |------| Alt | Alt | + | | | | | | | | + `--------------------' `--------------------' +``` + + +Usage +------ + +~L1 / L2 / L3 will momentarily switch to a layer if held and another key is pressed. +If pressed and released will remain on layer until pressed again. + +### Unicode + +This layout is for Windows only. To enter a character Press and Hold Alt, type + and hex code then release Alt. + +Changelog +----------- + +### [0.2.1] - 2016-04-05 + +* Changed £ to alt code in Windows. Windows sucks at unicode. + +### [0.2.0] - 2016-03-27 + +* Added unicode layer +* Moved Copy/Paste to left hand side +* Switched Enter and Space (again) +* Added L3 (unicode layer) toggle +* Removed Press and Hold for Alt on right hand size (/) +* Swapped Volume Up/Down to match arrows +* Tried fixing £ macro +* Removed * in the matrix function things (upstream change) + +### [0.1.1] - 2016-03-23 + +* Changed £ input to a macro + + +### [0.1.0] - 2016-03-22 + +After actually using the keyboard, I've made some changes: + +* Swapped Enter and Space +* Moved backspace to thumb keys (top right still remains) +* Added Ctrl+Alt+Delete +* Added Teensy Reset on 2nd layer +* Switched Up and Down +* Changed copy/paste to be Ctrl+c and Ctrl+v as KC_COPY/PASTE didn't work (in Windows) +* Moved ~L2 to replace +L1 after learning how the function works (notes above) +* Hopefully fixed GBP symbol (unicode enabled in MakeFile) + +### [0.0.1] - 2016-03-21 + +First version + + +Issues +------- + +Space for feedback and notes for future improvements + +---- +<sup><a name="unicode">1</a></sup>: For Windows only, and you have to edit the [registry](https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_code_input). diff --git a/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg b/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg Binary files differnew file mode 100644 index 0000000000..e4e92bf464 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md new file mode 100644 index 0000000000..984106ff46 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md @@ -0,0 +1,29 @@ +# ErgoDox EZ Dvorak International Squisher + +Dvorak layout adjusted with several (linux) applications in mind: + +* Easier Escape for VIM +* Windows/Super key for awesome WM +* Alt+Shift for international characters +* PrintScreen for sys-rq +* Insert for the X11 clip-board + +Major layer changes: + +* Common multimedia keys are integrated into layer 0, less common into layer 1 +* No mouse keys +* Layer 2 is qwerty (for easier gaming & less fortunate keyboard users) + +Known issues: + +* Alt+Shift does not work reliably (depends on the X11 kb layout? Not + entirely clear...) + +![layer0](keyboard-layout0.png) +![layer1](keyboard-layout1.png) +![layer2](keyboard-layout2.png) + +## Changelog + +* 2016-03-29 + * Initial release diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex new file mode 100644 index 0000000000..bd70f5829f --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex @@ -0,0 +1,1127 @@ +:100000000C9465020C94AC020C94AC020C94AC02FF
+:100010000C94AC020C94AC020C94AC020C94AC02A8
+:100020000C94AC020C94AC020C94B50B0C94870CA1
+:100030000C94AC020C94AC020C94AC020C94AC0288
+:100040000C94AC020C943B210C94AC020C94AC02CA
+:100050000C94AC020C94C71A0C94AC020C94AC0235
+:100060000C94AC020C94AC020C94AC020C94AC0258
+:100070000C94AC020C94AC020C94AC020C94AC0248
+:100080000C94AC020C94AC020C94AC020C94AC0238
+:100090000C94AC020C94AC020C94AC020C94AC0228
+:1000A0000C94AC020C94AC020C94AC02F40C160D43
+:1000B000040E160D040E5B0D7E0D040ED30DE60D21
+:1000C000D110D11000110011431181119A139A130C
+:1000D0009A119A139B129B126E139A139A138513FB
+:1000E0000000F0A12E0029002A00E1003581000067
+:1000F0001E00340004003371E2004D001F00360082
+:1001000012001400E3002B002000370008000D004F
+:1001100050002C002100130018000E004F004A0070
+:1001200022001C000C001B0000006571B6004C0092
+:100130000000007F00000154AE004900000000777D
+:1001400000000254230009000700050000004600DB
+:1001500024000A000B00100052004B00250006008E
+:1001600017001A0051002800260015001100190080
+:100170002F00E51427000F0016001D7130004E00FF
+:10018000318238002D00E500C100000001000100AF
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00AC0001003D0030025F
+:1001C00027023000AB0001003E003102350035024D
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:100200000100A9004100250022001F003700010065
+:1002100042002600230020002700A80043002502FA
+:100220002E0231002E00AA0044004500010001000A
+:1002300001000000010001000100010001000000B8
+:100240000100140004001D710100010001001A00EA
+:1002500016001B0001000100010008000700060055
+:100260000100010001001500090019000100010052
+:10027000010017000A000500000001000100010054
+:100280000000010000000100010001000000010069
+:100290000000010001001C000B0011000000010023
+:1002A000010018000D0010000100010001000C0009
+:1002B0000E00360001000100010012000F0037009F
+:1002C00001000100010013003382387101000100B8
+: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
+:1004D000DAE0DEBFCDBF04B603FE27C08091EF0196
+:1004E0009091F001A091F101B091F2018730904B11
+:1004F000A740B04BD1F41092EF011092F00110928E
+:10050000F1011092F20114BE84B7877F84BF0FB649
+:10051000F894A895809160008861809360001092A3
+:1005200060000FBEE0E0FFE3099511E0A0E0B1E05C
+:10053000E8E1F6E402C005900D92A433B107D9F7C3
+:1005400021E0A4E3B1E001C01D92AF3EB207E1F7A4
+:100550000E94F6080C940A230C94000061110BC051
+:10056000FC018281882321F085EE0E94660F03C082
+:1005700085EE0E942E1080E090E00895089560912D
+:10058000B1017091B2018091B3019091B4010E94C8
+:10059000F01956985E9825982D9826982E982798A9
+:1005A0002F98813019F0823021F00895259A2D9AE4
+:1005B0000895269A2E9A08950C94BF0256985E9834
+:1005C00025982D9826982E9827982F988FEF90E0B1
+:1005D000909389008093880090938B0080938A0089
+:1005E00090938D0080938C00259A2D9A2FEF80E7B1
+:1005F00092E0215080409040E1F700C00000269A30
+:100600002E9A2FEF80E792E0215080409040E1F752
+:1006100000C00000279A2F9A2FEF80E792E0215028
+:1006200080409040E1F700C0000025982D982FEF02
+:1006300080E792E0215080409040E1F700C0000048
+:1006400026982E982FEF80E792E02150804090402E
+:10065000E1F700C0000027982F9856985E982598DB
+:100660002D9826982E9827982F98089589EA809398
+:10067000800089E08093810024982C983F988AB16B
+:100680008F748AB96E98479A8BB1806B8BB9769AC2
+:100690000E94DE020C94BE0280E2809300018091F1
+:1006A000340181110EC00E949B0381E080933401CC
+:1006B0002FEF83ED90E3215080409040E1F700C0A0
+:1006C000000080E40E94A1038093000181112EC0EC
+:1006D0000E94CB0380930001811128C00E94CB03AC
+:1006E00080930001811122C08FE30E94CB0380938D
+:1006F000000181111BC00E94C30380E40E94A1037A
+:1007000080930001811112C08CE00E94CB03809382
+:10071000000181110BC00E94CB0380930001811165
+:1007200005C08FE30E94CB03809300010E94C303A6
+:100730008091000108951092B9008AE08093B8007A
+:10074000089594EA9093BC009091BC0097FFFCCF71
+:100750009091B900987F983021F0903111F081E0AC
+:1007600008958093BB0084E88093BC008091BC0016
+:1007700087FFFCCF8091B900887F883111F08034E9
+:1007800071F780E0089584E98093BC008091BC00FB
+:1007900084FDFCCF08958093BB0084E88093BC0067
+:1007A0008091BC0087FFFCCF9091B900987F81E0D9
+:1007B000983209F480E0089584E88093BC00809129
+:1007C000BC0087FFFCCF8091BB00089580910001A1
+:1007D000811115C080E40E94A10380930001811162
+:1007E0000CC082E10E94CB0380930001811105C0FF
+:1007F0008FEF0E94CB03809300010E94C30384B15A
+:10080000807F84B985B1807F85B98AB1837F8AB9B9
+:100810008BB1837F8BB93E98469808950E944C0314
+:10082000809300010E94E60380B38C7080BB81B38B
+:10083000836F81BBA6E3B1E0E4E4F1E08EE08E0FCC
+:1008400011921D928E13FCCF0C943603BF92CF925F
+:10085000DF92EF92FF920F931F93CF93DF938091DC
+:100860000001882379F0809135018F5F80933501F5
+:10087000811108C00E944C0380930001811102C0C5
+:100880000E94DE0206E311E0C0E0D0E0DD24D39454
+:1008900082E0C82EEE24E394F12CC730D10500F598
+:1008A00080910001811164C080E40E94A1038093C3
+:1008B0000001811112C082E10E94CB0380930001EC
+:1008C00081110BC0C7010C2E01C0880F0A94EAF7F2
+:1008D00080950E94CB03809300010E94C30348C00F
+:1008E000CA30A1F028F4C83059F0C93061F005C011
+:1008F000CC3089F070F0CD3089F0209A289810C063
+:10090000219A29980DC0229A2A980AC0239A2B98D6
+:1009100007C0529A01C0539A5B9802C03E9A46980B
+:1009200090EA9A95F1F79FB1799902C082E001C0EF
+:1009300080E091709D25982B7C9902C084E001C0D5
+:1009400080E0892B7D9902C038E001C030E0832B24
+:100950007E9902C020E101C020E0822B9FB19095DA
+:10096000991F9927991F9295990F907E892B0FC0F7
+:1009700080910001811149C080E40E94A10380930D
+:100980000001882379F1B12C0E94C3038B2DF8015B
+:100990009081981719F08083C09201010E94E603AC
+:1009A00021960F5F1F4FCE30D10509F076CF809191
+:1009B0000101882361F1815080930101882339F07E
+:1009C0008FE99FE00197F1F700C0000020C0A4E488
+:1009D000B1E0E6E3F1E0CF01825F91919D938E1348
+:1009E000FCCF15C083E10E94CB03809300018111ED
+:1009F000CACF81E40E94A103809300018111C3CF7B
+:100A00000E94DC03B82EB094BFCF80E0C0CF0E941C
+:100A1000DC0281E0DF91CF911F910F91FF90EF9069
+:100A2000DF90CF90BF900895E82FF0E0EC5BFE4F91
+:100A30008081089508958B3B910578F4883A91055B
+:100A400040F5853A9105D0F48430910508F0B1C0A5
+:100A50008130910509F4ADC06BC0803E910508F46A
+:100A600067C0883E910508F4A4C09C01205F31094D
+:100A70002031310508F05CC090650895853A9105F4
+:100A800009F459C0863A910509F058C082E890E40B
+:100A90000895883A910509F454C0893A910509F4FA
+:100AA00053C08A3A910509F452C08B3A910509F472
+:100AB00051C08C3A910509F450C08D3A910509F462
+:100AC0004FC0803B910509F44EC08E3A910509F460
+:100AD0004DC08F3A910509F44CC0813B910509F452
+:100AE0004BC0823B910509F44AC0833B910509F450
+:100AF00049C0843B910509F448C0853B910509F440
+:100B000047C0863B910509F446C0873B910509F42F
+:100B100045C0883B910509F444C0893B910509F41F
+:100B200043C08A3B910509F442C080E094E40895F3
+:100B300080E090E0089581E890E4089583E890E4EF
+:100B4000089582EE94E4089589EE94E408958AEE7F
+:100B500094E4089585EB94E4089586EB94E4089575
+:100B600087EB94E408958CEC94E408958DEC94E480
+:100B7000089583E895E408958AE895E4089582E964
+:100B800095E4089584E995E4089581E296E4089552
+:100B900083E296E4089584E296E4089585E296E47B
+:100BA000089586E296E4089587E296E408958AE23D
+:100BB00096E40895089596E0799FF001112494E554
+:100BC000899FE00DF11D1124E60FF11DEE0FFF1FAF
+:100BD000EC51FF4F859194910895880F991FFC0166
+:100BE000E05AF040859194910895880F991FFC0177
+:100BF000E052FF4F85919491089526E0729FF00195
+:100C0000112444E5849FE00DF11D1124E60FF11D30
+:100C1000EE0FFF1FEC51FF4F859194919C013A9587
+:100C200021154FE1340708F41CC13F512115304113
+:100C300020F49F700E94F50508959C013053211502
+:100C4000304118F49927906C0895811520E592079A
+:100C500071F40E94BE134FEF84E39CE0415080404A
+:100C60009040E1F700C000000E94EC1AFAC0813009
+:100C700020E5920731F48091CD0181608093CD0110
+:100C8000F0C09C0130552115304108F051C0292F8A
+:100C900033272F70332721303105D9F4AC0143704D
+:100CA000552702C0220F331F4A95E2F73C68AC017A
+:100CB00064E0440F551F6A95E1F744275370242BD5
+:100CC000352B73E0880F991F7A95E1F78076992785
+:100CD0001DC02230310529F4982F8827816F906A32
+:100CE000089523303105A9F4AC014370552721E064
+:100CF00030E002C0220F331F4A95E2F73C6843E020
+:100D0000880F991F4A95E1F7807E9770822B932B6D
+:100D1000089524303105E1F4AC014370552721E0FA
+:100D200030E002C0220F331F4A95E2F73A68E7CF5E
+:100D30009C0130572115304118F49F70906208953E
+:100D40009C0130582115304118F49F70906A089525
+:100D5000803E9105E0F4803C910558F58133910582
+:100D600009F46FC048F48932910509F463C08A32EE
+:100D7000910509F46DC072C089339105E9F082389C
+:100D80009105D1F08533910509F44DC067C0833ECC
+:100D9000910581F138F4803E9105B9F0823E9105CC
+:100DA000D9F05CC0863E910561F1873E9105A1F1C5
+:100DB00055C00E94ED0508952091E00120FD02C07C
+:100DC00021FF4CC080EE90E049C08091E00180FF9F
+:100DD000F9CF89E390E042C08091E00182FF0EC02C
+:100DE0008091E00184FF03C080E090E037C083EE93
+:100DF00090E034C08091E00182FFF2CF82EE90E07B
+:100E00002DC08091E00183FF0BC08091E00184FD43
+:100E1000EBCF87EE90E022C08091E00183FFF5CF19
+:100E200086EE90E01BC08091E00185FF07C089E25B
+:100E300090E014C08091E00185FFF9CF85E390E058
+:100E40000DC08091E00186FF07C08AE290E006C0F5
+:100E50008091E00186FFF9CF81E390E00E941B05BD
+:100E60000895089508950C943207809162010895C1
+:100E7000CF93DF9300D01F92CDB7DEB79C01809156
+:100E8000E601843019F593E099833B832A8390939C
+:100E9000E9008FEF9091E800815095FD06C095ED37
+:100EA0009A95F1F700008111F5CF8091E80085FF58
+:100EB0000DC040E050E063E070E0CE0101960E947A
+:100EC000A5098091E8008E778093E8000F900F903D
+:100ED0000F90DF91CF910895CF93DF9300D01F92B1
+:100EE000CDB7DEB72091E601243021F522E0298339
+:100EF0009B838A8383E08093E9008FEF9091E800E1
+:100F0000815095FD06C095ED9A95F1F7000081118D
+:100F1000F5CF8091E80085FF0DC040E050E063E030
+:100F200070E0CE0101960E94A5098091E8008E77BD
+:100F30008093E8000F900F900F90DF91CF9108956C
+:100F40002091E6012430F1F422E02093E9002FEF14
+:100F50003091E800215035FD06C035ED3A95F1F7A6
+:100F600000002111F5CF2091E80025FF0BC040E0E3
+:100F700050E065E070E00E94A5098091E8008E775E
+:100F80008093E8000895CF93DF93EC019091E60100
+:100F9000943009F046C080910C018823D9F08091EB
+:100FA0000D018823B9F09093E9008FEF9091E8004C
+:100FB000815095FD06C095E19A95F1F700008111E9
+:100FC000F5CF8091E80085FF2CC040E050E060E163
+:100FD00070E017C081E08093E9008FEF9091E80006
+:100FE000815095FD06C095ED9A95F1F700008111AD
+:100FF000F5CF8091E80085FF14C040E050E068E044
+:1010000070E0CE010E94A5098091E8008E77809360
+:10101000E80080E1FE01A2E5B1E001900D928A9521
+:10102000E1F7DF91CF9108958091E501811109C029
+:101030000E943A0B0E94970B8091E200846080939B
+:10104000E20008951092E501089508950C94282176
+:101050000E94821A0E942E210E943D0E0C9433079A
+:1010600042E061EC81E00E94B40A42E061EC82E07F
+:101070000E94B40A42E061EC83E00E94B40A42E1BB
+:1010800061EC84E00C94B40A8091E801833009F4A7
+:1010900055C030F4813071F0823009F48EC008956B
+:1010A0008A3009F47AC08B3009F460C0893009F0C5
+:1010B0009CC020C08091E701813A09F096C08091E0
+:1010C000E800877F8093E8008091EB019091EC012C
+:1010D000892B21F460E182E591E003C060E080E0CB
+:1010E00090E070E00E94F0098091E8008B77809397
+:1010F000E80008958091E701813209F076C080917F
+:10110000EB019091EC01009719F0039709F06DC085
+:101110008091E800877F8093E8008091E80082FD5D
+:1011200005C08091E6018111F8CF5FC08091F10088
+:10113000809362018091E8008B7753C08091E70132
+:10114000813A09F052C08091EB019091EC01892B1A
+:1011500009F04BC08091E800877F8093E800809180
+:10116000E80080FFFCCF80910C0136C08091E70140
+:101170008132D9F58091EB019091EC01892BA9F591
+:101180008091E800877F8093E8000E94E90A8091BF
+:10119000E90180930C010C94BE138091E701813228
+:1011A00021F58091E800877F8093E8000E94E90A9A
+:1011B0008091EA018093630108958091E701813A6B
+:1011C000A1F48091E800877F8093E8008091E80097
+:1011D00080FFFCCF809163018093F1008091E80053
+:1011E0008E778093E8000C94E90A089584B7877F8E
+:1011F00084BF0FB6F894A8958091600088618093B1
+:101200006000109260000FBE90E080E80FB6F89486
+:1012100080936100909361000FBE0E948C0E0E942B
+:101220003A0B0E94970B8091E20084608093E20069
+:1012300078940E941D0E0E948E0E82E091E00E9422
+:10124000380E0E9416218091E601853069F40E94D3
+:10125000401A8091E4018823B1F30E946E1A88231A
+:1012600091F30E948F09EFCF0E94940EECCF292FAB
+:10127000332723303105C9F064F42130310581F082
+:101280002230310509F043C08DE690E020E133E0E3
+:1012900042C021323105F1F02232310541F137C02F
+:1012A00082E190E02DE733E036C099278130910547
+:1012B00041F08230910541F0892B49F5ECE0F3E0F3
+:1012C00005C0E4EFF2E002C0ECEDF2E0849190E0C2
+:1012D0009F0121C06430D8F4E62FF0E0EE0FFF1F2D
+:1012E000EE5DFE4F2081318189E090E014C06430D2
+:1012F00070F470E0FB01EE0FFF1FE65EFE4F2081F1
+:101300003181FB01EA5EFE4F808190E004C080E005
+:1013100090E020E030E0FA0131832083089580E1FD
+:1013200089BD82E189BD09B400FEFDCF8091D8005E
+:101330008F7D8093D8008091E00082608093E000F0
+:101340008091E00081FDFCCF0895CF92DF92EF9273
+:10135000FF920F931F93CF93DF93EC018B016A01F0
+:101360000E94080B811133C0C114D10439F0F60179
+:1013700080819181081B190BC80FD91FE12CF12C1A
+:101380000115110519F18091E80085FD16C08091C5
+:10139000E8008E778093E800C114D10449F0F6018B
+:1013A00080819181E80EF91EF182E08285E00FC014
+:1013B0000E94080B882321F30AC089918093F100D1
+:1013C00001501109FFEFEF1AFF0ADACF80E0DF9139
+:1013D000CF911F910F91FF90EF90DF90CF900895E4
+:1013E0002091ED013091EE012617370748F0611585
+:1013F000710539F42091E8002E772093E80001C0B0
+:10140000B90140E061157105A9F12091E60122239F
+:1014100009F443C0253009F442C02091E80023FDBF
+:1014200040C02091E80022FD32C02091E80020FF5A
+:10143000E9CF4091F3002091F20030E0342BFC0121
+:10144000CF016115710559F02830310540F48191C3
+:101450008093F100615071092F5F3F4FF1CF41E060
+:101460002830310509F040E02091E8002E772093E4
+:10147000E800C8CF4111C9CF0AC08091E601882396
+:1014800061F0853061F08091E80083FD0AC08091B1
+:10149000E80082FFF2CF80E0089582E0089583E0C3
+:1014A000089581E008952091ED013091EE01261715
+:1014B000370748F06115710539F42091E8002E775F
+:1014C0002093E80001C0B901FC0120E0611571051D
+:1014D00091F18091E601882309F440C0853009F438
+:1014E0003FC08091E80083FD3DC08091E80082FD0F
+:1014F0002FC08091E80080FFE9CF2091F300809118
+:10150000F20090E0922B6115710559F08830910539
+:1015100040F424912093F1003196615071090196B5
+:10152000F2CF21E0089709F020E08091E8008E7763
+:101530008093E800CBCF2111CCCF0AC08091E60187
+:10154000882361F0853061F08091E80083FD0AC056
+:101550008091E80082FFF2CF80E0089582E0089554
+:1015600083E0089581E00895982F973058F590937F
+:10157000E900981739F07091EC002091ED0050913E
+:10158000F00003C0242F762F50E021FF19C03091C6
+:10159000EB003E7F3093EB003091ED003D7F3093C8
+:1015A000ED003091EB0031603093EB007093EC0074
+:1015B0002093ED005093F0002091EE0027FF07C02C
+:1015C0009F5FD3CF8F708093E90081E0089580E022
+:1015D00008958091E70187FF11C08091E80082FDA6
+:1015E00005C08091E6018111F8CF11C08091E8001B
+:1015F0008B770BC08091E601882349F08091E80049
+:1016000080FFF8CF8091E8008E778093E8000895FE
+:101610002091E4003091E50095E64091EC00842FA4
+:10162000817040FF22C08091E80080FD1CC0809145
+:10163000E601882391F0853091F08091EB0085FDE3
+:1016400010C04091E4005091E5004217530729F380
+:101650009A01915011F784E0089582E0089583E0A3
+:10166000089581E0089580E008954091E80042FFE8
+:10167000DECF08950E94A80B0E94B00BE0EEF0E0D0
+:10168000808181608083E8EDF0E080818F778083C6
+:1016900019BCA7EDB0E08C918E7F8C9380818F7EFA
+:1016A00080831092E50108950F931F93CF93DF93EA
+:1016B0000E94A80B0E94B00BC8EDD0E088818F7704
+:1016C000888388818068888388818F7D888319BC1E
+:1016D0001092E6011092E2011092E4011092E301EF
+:1016E00000EE10E0F80180818B7F8083888181602B
+:1016F000888342E060E080E00E94B40AE1EEF0E01E
+:1017000080818E7F8083E2EEF0E080818160808343
+:10171000808188608083F80180818E7F80838881CA
+:1017200080618883DF91CF911F910F910895E8ED3B
+:10173000F0E080818F7E8083E7EDF0E08081816042
+:10174000808384E082BF81E08093E5010C94540B98
+:10175000E8EDF0E080818E7F80831092E2000895B2
+:101760001092DA001092E10008951F920F920FB6C6
+:101770000F9211242F933F934F935F936F937F9317
+:101780008F939F93AF93BF93EF93FF938091E1006B
+:1017900082FF0BC08091E20082FF07C08091E100D0
+:1017A0008B7F8093E1000E941C0E8091DA0080FF05
+:1017B0001FC08091D80080FF1BC08091DA008E7F0F
+:1017C0008093DA008091D90080FF0DC080E189BD4F
+:1017D00082E189BD09B400FEFDCF81E08093E6017E
+:1017E0000E94140805C019BC1092E6010E9422084C
+:1017F0008091E10080FF19C08091E20080FF15C058
+:101800008091E2008E7F8093E2008091E20080610F
+:101810008093E2008091D80080628093D80019BC48
+:1018200085E08093E6010E9426088091E10084FF14
+:1018300030C08091E20084FF2CC080E189BD82E14C
+:1018400089BD09B400FEFDCF8091D8008F7D8093C3
+:10185000D8008091E1008F7E8093E1008091E200CA
+:101860008F7E8093E2008091E20081608093E200AD
+:101870008091E201882311F084E007C08091E300A9
+:1018800087FD02C081E001C083E08093E6010E94F1
+:1018900028088091E10083FF29C08091E20083FF46
+:1018A00025C08091E100877F8093E10082E08093F2
+:1018B000E6011092E2018091E1008E7F8093E100C9
+:1018C0008091E2008E7F8093E2008091E20080614F
+:1018D0008093E20042E060E080E00E94B40A8091E0
+:1018E000F00088608093F0000E942508FF91EF913E
+:1018F000BF91AF919F918F917F916F915F914F9128
+:101900003F912F910F900FBE0F901F9018951F922F
+:101910000F920FB60F9211242F933F934F935F9323
+:101920006F937F938F939F93AF93BF93CF93DF93E7
+:10193000EF93FF93C091E900CF708091EC00D82F16
+:10194000D17080FDD0E81092E9008091F000877F8F
+:101950008093F00078940E94CB0C1092E900809163
+:10196000F00088608093F000CD2BCF70C093E90029
+:10197000FF91EF91DF91CF91BF91AF919F918F91A7
+:101980007F916F915F914F913F912F910F900FBE7B
+:101990000F901F9018951F93CF93DF93CDB7DEB7AD
+:1019A000AA970FB6F894DEBF0FBECDBFE7EEF1E009
+:1019B00088E08E0F9091F10091938E13FBCF0E94DF
+:1019C00044088091E80083FF1FC18091E701909156
+:1019D000E801492F50E04A30510508F015C1FA01DD
+:1019E000EA5AFF4F0C94BF22803881F0823809F008
+:1019F0000BC18091EB018F708093E9008091EB0027
+:101A000085FB882780F91092E90006C08091E301E8
+:101A10009091E401911182609091E800977F9093FA
+:101A2000E8008093F1001092F100C8C0282F2D7FAC
+:101A300009F0EAC0882319F0823061F0E5C0809196
+:101A4000E901813009F0E0C0933009F080E0809333
+:101A5000E4012BC08091E901811127C08091EB0145
+:101A60008F7009F4D1C08093E9002091EB0020FF32
+:101A70001CC0933021F48091EB00806214C09091DF
+:101A8000EB0090619093EB0021E030E0A90102C0EF
+:101A9000440F551F8A95E2F74093EA001092EA003E
+:101AA0008091EB0088608093EB001092E9008091B8
+:101AB000E800877F86C08111A7C01091E9011F77D8
+:101AC0008091E3008078812B8093E3008091E8008F
+:101AD000877F8093E8000E94E90A8091E80080FFF8
+:101AE000FCCF8091E30080688093E300111102C075
+:101AF00082E001C083E08093E60186C08058823096
+:101B000008F082C08091E9019091EA018C3D53E098
+:101B1000950779F583E08A838AE289834FB7F89441
+:101B2000DE01139620E03EE051E2E32FF0E0509317
+:101B30005700E49120FF03C0E295EF703F5FEF7024
+:101B40008E2F90E0EA3010F0C79601C0C0968D93BA
+:101B50009D932F5F243149F74FBF8091E800877F25
+:101B60008093E8006AE270E0CE0101960E94F009DD
+:101B700014C0AE014F5F5F4F6091EB010E943709C7
+:101B8000BC01892B09F440C09091E800977F9093A5
+:101B9000E80089819A810E94530A8091E8008B773E
+:101BA0008093E80031C0803879F58091E800877F24
+:101BB0008093E8008091E2018093F1008091E80039
+:101BC0008E778093E8000E94E90A1EC081111CC034
+:101BD0009091E9019230C0F48091E800877F809372
+:101BE000E8009093E2010E94E90A8091E2018111EC
+:101BF00006C08091E30087FD02C081E001C084E05F
+:101C00008093E6010E9430088091E80083FF0AC0BB
+:101C10008091E800877F8093E8008091EB008062EC
+:101C20008093EB00AA960FB6F894DEBF0FBECDBF2F
+:101C3000DF91CF911F9108950895CF938091E60190
+:101C40008823A1F0C091E900CF709091EC00892F1A
+:101C5000817090FD80E8C82B1092E9008091E80027
+:101C600083FD0E94CB0CCF70C093E900CF91089503
+:101C700090936901809368010895E0916801F09163
+:101C80006901309721F00190F081E02D099480E006
+:101C90000895E0916801F0916901309721F0028088
+:101CA000F381E02D09940895E0916801F0916901B4
+:101CB000309721F00480F581E02D0994089520915A
+:101CC0006601309167018217930771F09093670165
+:101CD00080936601E0916801F0916901309721F0ED
+:101CE0000680F781E02D09940895209164013091D8
+:101CF00065018217930771F09093650180936401E9
+:101D0000E0916801F0916901309721F00084F1853C
+:101D1000E02D0994089508950C948B0E0E94881A62
+:101D20000E940E040C944E1BCF92DF92EF92FF9212
+:101D30000F931F93CF93DF93CDB7DEB72B970FB6DB
+:101D4000F894DEBF0FBECDBF0E9426048BE6C82EDE
+:101D500081E0D82E00E010E0E02E802F0E941405D4
+:101D6000F60141916F01F42EF826B1F40F5F1F4F79
+:101D70000E30110589F78FEF89838A831B820E94B9
+:101D8000911A8160782F9D838C8349815A816B8160
+:101D90008D810E94370F40C09091CD0191FF04C00A
+:101DA0008B870E941A058B8520E030E04F2D50E094
+:101DB000922FBA01022E02C0759567950A94E2F738
+:101DC00060FF24C02E83EF8221E030E0690102C071
+:101DD000CC0CDD1C9A95E2F790E08C219D21892B9B
+:101DE00009F420E028870E94911A8160782F9A8751
+:101DF00089874E815F8168858A850E94370FF80147
+:101E0000E559FE4F8081C826C08206C02F5F3F4F34
+:101E10002630310569F6AACF0E94351E10916A015D
+:101E20000E943D0E1817A1F00E943D0E80936A019A
+:101E30002B960FB6F894DEBF0FBECDBFDF91CF91CA
+:101E40001F910F91FF90EF90DF90CF900C9433078C
+:101E50002B960FB6F894DEBF0FBECDBFDF91CF91AA
+:101E60001F910F91FF90EF90DF90CF900895CF9347
+:101E7000DF93CDB7DEB72B970FB6F894DEBF0FBE5A
+:101E8000CDBF4F83588769877A878B87DE0111968C
+:101E900086E0FD0111928A95E9F785E0FE0137960B
+:101EA00001900D928A95E1F749815A816B817C817D
+:101EB0008D819E810E9458162B960FB6F894DEBF36
+:101EC0000FBECDBFDF91CF9108950895CF938823A2
+:101ED00009F4C2C0C82F823859F40E943D0E81FD1A
+:101EE000BBC089E30E94F4180E94C11989E30CC0A9
+:101EF000833879F40E943D0E80FDAEC083E50E94D8
+:101F0000F4180E94C11983E50E943619CF910C94F0
+:101F1000C119843859F40E943D0E82FD9DC087E4AA
+:101F20000E94F4180E94C11987E4EECF8CEF8C0F49
+:101F3000813A48F48C2F0E947B2081118DC08C2F18
+:101F40000E94F418E3CF80E28C0F883048F4C77009
+:101F500081E001C0880FCA95EAF70E947A19D6CFAE
+:101F60008BE58C0F833078F4C53A29F0C63A31F00E
+:101F700083E890E005C081E890E002C082E890E04C
+:101F8000CF910C945F0E88E58C0F833108F064C00C
+:101F9000C83A39F1C93A41F1CA3A49F1CB3A51F15B
+:101FA000CC3A59F1CD3A61F1C03B69F1CE3A71F1C9
+:101FB000CF3A79F1C13B81F1C23B89F1C33B91F149
+:101FC000C43B99F1C53BA1F1C63BA9F1C73BB1F1B7
+:101FD000C83BB9F1C93BC1F1CA3BC9F180E090E00F
+:101FE00038C082EE90E035C089EE90E032C08AEED3
+:101FF00090E02FC085EB90E02CC086EB90E029C0EC
+:1020000087EB90E026C08CEC90E023C08DEC90E054
+:1020100020C083E891E01DC08AE891E01AC082E9FF
+:1020200091E017C084E991E014C081E292E011C010
+:1020300083E292E00EC084E292E00BC085E292E07F
+:1020400008C086E292E005C087E292E002C08AE220
+:1020500092E0CF910C94750ECF910895882309F4E6
+:102060004BC0823859F40E943D0E81FF45C089E380
+:102070000E94F4180E94C11989E30CC0833871F4DE
+:102080000E943D0E80FF38C083E50E94F4180E9434
+:10209000C11983E50E9436190C94C119843859F48A
+:1020A0000E943D0E82FF28C087E40E94F4180E941F
+:1020B000C11987E4EFCF9CEF980F913A58F390E263
+:1020C000980F983050F4877091E001C0990F8A956D
+:1020D000EAF7892F0E948019DFCF9BE5980F933094
+:1020E00020F480E090E00C945F0E885A833120F455
+:1020F00080E090E00C94750E0895882321F00E94F2
+:102100007A190C94C1190895882321F00E9480192E
+:102110000C94C1190895BF92CF92DF92EF92FF9273
+:102120000F931F93CF93DF9300D000D000D0CDB793
+:10213000DEB725E0FC01DE01119601900D922A9593
+:10214000E1F7FC01D08011810281258122952F7059
+:1021500043815481452B09F4EDC21F3F21F4FFEF69
+:10216000DF1609F4E7C27C012E830E94650FD98235
+:102170001A8389819A810E94B318182FB92E0E9460
+:10218000B2180E9479172E81002319F00E94971926
+:102190002E81EB2DE295EF70F0E0E05AFF4F0C94AA
+:1021A000BF228B2D807F9B2D9F70F92E882319F0E5
+:1021B000F29480EFF822002349F0FF2009F467C26F
+:1021C0008F2D0E948A190E94C11961C2812F0E941D
+:1021D0002E10FF2009F4AEC28F2D0E949019269672
+:1021E0000FB6F894DEBF0FBECDBFDF91CF911F9128
+:1021F0000F91FF90EF90DF90CF90BF900C94C1199A
+:102200003B2D307F8B2D8F70303211F08295807F87
+:10221000112319F0113021F12CC00023B9F0222331
+:1022200009F4A0C1213009F09DC126960FB6F8949B
+:10223000DEBF0FBECDBFDF91CF911F910F91FF90F9
+:10224000EF90DF90CF90BF900C94AA19222319F041
+:10225000213009F46FC28E830E94AD198E8196C120
+:10226000002321F0223008F065C27CC1211162C236
+:102270008DC1002321F0222309F474C108C2222356
+:1022800009F484C119C22B2D26952695237030E0C0
+:102290002115310521F021303105D1F04BC2002349
+:1022A00021F0812F9B2D937002C080E090E0269654
+:1022B0000FB6F894DEBF0FBECDBFDF91CF911F9157
+:1022C0000F91FF90EF90DF90CF90BF900C945F0E36
+:1022D000002321F0812F9B2D937002C080E090E0BD
+:1022E00026960FB6F894DEBF0FBECDBFDF91CF911B
+:1022F0001F910F91FF90EF90DF90CF90BF900C94C3
+:10230000750E812F002319F00E943D1D02C00E940E
+:10231000A51D26960FB6F894DEBF0FBECDBFDF9188
+:10232000CF911F910F91FF90EF90DF90CF90BF90D2
+:102330000C942A1E8B2D837009F07BC00111FAC109
+:10234000812F829586958770880F880F912F9F70B7
+:10235000C92ED12CE12CF12C082E04C0CC0CDD1C94
+:10236000EE1CFF1C0A94D2F714FF12C04FE050E09D
+:1023700060E070E004C0440F551F661F771F8A9508
+:10238000D2F7CB01BA01609570958095909503C006
+:1023900060E070E0CB012B2D269526952370422F0F
+:1023A00050E042305105D9F04330510569F16C29B4
+:1023B0007D298E299F294130510551F126960FB66E
+:1023C000F894DEBF0FBECDBFDF91CF911F910F916B
+:1023D000FF90EF90DF90CF90BF900C94A0176C29E6
+:1023E0007D298E299F2926960FB6F894DEBF0FBE51
+:1023F000CDBFDF91CF911F910F91FF90EF90DF90B4
+:10240000CF90BF900C94BC170E94A017C701B601D3
+:1024100026960FB6F894DEBF0FBECDBFDF91CF91E9
+:102420001F910F91FF90EF90DF90CF90BF900C9491
+:102430008417002319F08B2D817001C086958823A5
+:1024400009F478C1812F829586958770880F880F4F
+:10245000912F9F70C92ED12CE12CF12C082E04C095
+:10246000CC0CDD1CEE1CFF1C0A94D2F714FF12C02A
+:102470004FE050E060E070E004C0440F551F661F5D
+:10248000771F8A95D2F7CB01BA0160957095809538
+:10249000909503C060E070E0CB012B2D269526952A
+:1024A0002370422F50E042305105D9F0433051059E
+:1024B00069F16C297D298E299F294130510551F1FF
+:1024C00026960FB6F894DEBF0FBECDBFDF91CF9139
+:1024D0001F910F91FF90EF90DF90CF90BF900C94E1
+:1024E0007A186C297D298E299F2926960FB6F89493
+:1024F000DEBF0FBECDBFDF91CF911F910F91FF9037
+:10250000EF90DF90CF90BF900C9496180E947A18AD
+:10251000C701B60126960FB6F894DEBF0FBECDBF39
+:10252000DF91CF911F910F91FF90EF90DF90CF90AF
+:10253000BF900C945E18103FD1F118F4103E50F487
+:10254000A1C0123F09F463C008F44CC0133F09F462
+:1025500073C098C01F708B2D8F710023A1F00E9453
+:10256000F717812F26960FB6F894DEBF0FBECDBFAA
+:10257000DF91CF911F910F91FF90EF90DF90CF905F
+:10258000BF900C947D100E941818812F26960FB6CC
+:10259000F894DEBF0FBECDBFDF91CF911F910F9199
+:1025A000FF90EF90DF90CF90BF900C9484100023A9
+:1025B000A9F02111BFC08B2D8F7126960FB6F8940C
+:1025C000DEBF0FBECDBFDF91CF911F910F91FF9066
+:1025D000EF90DF90CF90BF900C943D18223008F020
+:1025E000A9C0E9CF0023A9F08B2D8F7126960FB6D5
+:1025F000F894DEBF0FBECDBFDF91CF911F910F9139
+:10260000FF90EF90DF90CF90BF900C94F7170023CE
+:1026100059F38B2D8F7126960FB6F894DEBF0FBE3F
+:10262000CDBFDF91CF911F910F91FF90EF90DF9081
+:10263000CF90BF900C941818002399F08B2D8F71B8
+:1026400026960FB6F894DEBF0FBECDBFDF91CF91B7
+:102650001F910F91FF90EF90DF90CF90BF900C945F
+:10266000E21726960FB6F894DEBF0FBECDBFDF91FE
+:10267000CF911F910F91FF90EF90DF90CF90BF907F
+:102680000C94D8170023A9F0222309F4ADCF812F91
+:1026900026960FB6F894DEBF0FBECDBFDF91CF9167
+:1026A0001F910F91FF90EF90DF90CF90BF900C940F
+:1026B000660F222309F4ADCF812F26960FB6F8942A
+:1026C000DEBF0FBECDBFDF91CF911F910F91FF9065
+:1026D000EF90DF90CF90BF900C942E104B2D4F7049
+:1026E000612FC7010E94AE0226960FB6F894DEBF96
+:1026F0000FBECDBFDF91CF911F910F91FF90EF9053
+:10270000DF90CF90BF900C94FC164B2D4F70612F33
+:10271000C70126960FB6F894DEBF0FBECDBFDF917E
+:10272000CF911F910F91FF90EF90DF90CF90BF90CE
+:102730000C94DA0526960FB6F894DEBF0FBECDBF17
+:10274000DF91CF911F910F91FF90EF90DF90CF908D
+:10275000BF9008950E9497190E94A7190E946C19B2
+:102760000E94C1190E94DA1E0E942A1E80E090E099
+:102770000E945F0E80E090E00C94750E0E94871915
+:102780000C94AA130E94B318292F22952F7030E0C1
+:102790002C3031054CF42A3031056CF422503109CB
+:1027A0002230310588F407C02C30310549F02F3034
+:1027B000310531F009C0803E48F0803F29F406C061
+:1027C00093FB882780F9089580E0089581E00895BB
+:1027D000CF93DF9300D000D01F92CDB7DEB70F901C
+:1027E0000F900F900F900F90DF91CF910895CF939E
+:1027F000DF9300D000D000D0CDB7DEB726960FB65D
+:10280000F894DEBF0FBECDBFDF91CF9108951F9327
+:10281000CF93DF93C091790116E080917A01C817B8
+:1028200099F0D0E01C9FF0011D9FF00D1124E55898
+:10283000FE4F4081518162817381848195810E9424
+:10284000F7132196C770E9CFDF91CF911F910895BB
+:102850004091AB015091AC016091AD017091AE011E
+:102860008091AF019091B0010C94F7138091B00169
+:1028700082958F7009F054C08091AD01882309F4CE
+:102880004FC080917901A0917A016091AB01709164
+:10289000AC014091AE015091AF01B6E08A1709F446
+:1028A0003FC090E041155105C1F17F3F11F46F3FEA
+:1028B000A1F1B89FF001B99FF00D1124E558FE4F2A
+:1028C000218172132AC02081621327C02281211125
+:1028D00024C0238134812417350710F42150310995
+:1028E000241B350B283C3105C0F42091B0012F701A
+:1028F00020612093B00126E0289FF001299FF00D70
+:102900001124E058FE4F80818F70806180838BEAB4
+:1029100091E00E948B100C94071401968770BECF33
+:102920000895CF92DF92EF92FF920F931F93CF9370
+:10293000DF93CDB7DEB762970FB6F894DEBF0FBE58
+:10294000CDBF8C0185E0F801DE011D9601900D924E
+:102950008A95E1F7D8014C9111965C9111971296E6
+:102960006C9112971396CD90DC9014973091AB0137
+:102970007091AC018091AE019091AF01009709F484
+:102980006BC17F3F19F43F3F09F466C1E090AD0190
+:10299000EE2009F4C0C02091B001C816D90628F075
+:1029A000F601E81BF90BCF0104C0809590958C0DC2
+:1029B0009D1DFF24F394883C910578F0F12C207F35
+:1029C00009F0C6C07C2DD98AC88A89890E94E8137B
+:1029D0008BEA91E00E948B10B1C0822F807F09F0BA
+:1029E00046C0751314C0341312C0611110C02F708B
+:1029F00020612093B0010E9428148BEA91E00E948C
+:102A00008B108091B001D80115968C932EC0CD28E3
+:102A100019F15F3F11F44F3FF9F0F62E61111CC020
+:102A20008091790120917A0136E0821709F45AC029
+:102A300090E0389FF001399FF00D1124E558FE4FCA
+:102A40007181571306C07081471303C072817111E1
+:102A500003C001968770E9CFF62E662309F418C1EA
+:102A60008091B00181608093B001F12C11C1751388
+:102A700008C0341306C0611104C08091B001D801B0
+:102A8000C3C04D875E878D859E856A8B0E94C21369
+:102A90006A898823E1F16623D1F12091B001822F68
+:102AA00082958F7090E0029774F08091AB019091C5
+:102AB000AC0198878F831986DB86CA862C87CE0166
+:102AC00007960E948B1086E0F801ABEAB1E0019016
+:102AD0000D928A95E1F70E9436140E942814FF2473
+:102AE000F394D6C04D875E878D859E850E94B3186E
+:102AF000292F22952F7030E0223031050CF0BCC018
+:102B00009F7009F0B6C0805E883008F4C1C0C8016B
+:102B10000E948B10E4CFC816D90608F453C0F60102
+:102B2000E81BF90BCF01883C910508F450C0F12C4B
+:102B30007C2DD98AC88A89890E94E813EBEAF1E0E2
+:102B400086E0DF011D928A95E9F70E942814A0C053
+:102B5000751314C0341312C0611110C08091B001FC
+:102B6000F8018583C8010E948B1086E0EBEAF1E052
+:102B7000DF011D928A95E9F7FE2C8AC04D875E879A
+:102B80008D859E856A8B0E94C2136A89882309F409
+:102B9000BECF662309F4BBCF2091B001822F82956E
+:102BA0008F7090E002970CF48ECF8091AB019091E2
+:102BB000AC019A8389831B82DD82CC822E83CE0175
+:102BC00001967FCF809590958C0D9D1DACCFF62EF4
+:102BD000662309F49CCF75132EC034132CC02091AA
+:102BE000B00120FD1FC0822F82958F70D9F0D801CF
+:102BF00015962C9315978F3049F08F5F982F9295EB
+:102C0000907F822F8F70892B15968C93C8010E941C
+:102C10008B1086E0F801ABEAB1E001900D928A9545
+:102C2000E1F793CF86E0F801ABEAB1E001900D92B5
+:102C30008A95E1F72DC04D875E878D859E850E9420
+:102C4000C213811140CF8091B00181608093B001A7
+:102C5000C8010E948B101CC0662309F458CF4D8711
+:102C60005E878D859E850E94C213882309F44FCF0D
+:102C70002ACF811148CF0CC0243031050CF047CF4A
+:102C80009F7009F440CFF8019581907F09F03BCF08
+:102C90008F2D62960FB6F894DEBF0FBECDBFDF91C9
+:102CA000CF911F910F91FF90EF90DF90CF900895FB
+:102CB0001F93CF93DF93CDB7DEB72C970FB6F89461
+:102CC000DEBF0FBECDBF4F83588769877A878B875A
+:102CD0009C87CE0107960E949114882369F08F810A
+:102CE00098852A853B85232BF1F19F3F09F063C02E
+:102CF0008F3F09F060C037C086E0FE013796DE01E5
+:102D0000119601900D928A95E1F76F817885EA8599
+:102D1000FB85309741F17F3F11F46F3F21F1209106
+:102D20007A0130E0C90101968770992740917901B5
+:102D300050E08417950709F447C069837A83FD83BF
+:102D4000EC8396E0929FD001939FB00D1124A5587B
+:102D5000BE4FFE01319601900D929A95E1F7809356
+:102D60007A010E94071416E08091790190917A010E
+:102D70008917C1F1189FC001112485589E4F0E94E8
+:102D80009114882379F1E09179011E9FF0011124BB
+:102D9000E558FE4F40815181628173818481958124
+:102DA0000E94F7138091790190E00196877099272E
+:102DB00080937901D9CF4F81588569857A858B8534
+:102DC0009C850E94F713CFCF0E94BE1310927A0108
+:102DD00010927901EBEAF1E086E0DF011D928A951D
+:102DE000E9F7C1CF2C960FB6F894DEBF0FBECDBF6A
+:102DF000DF91CF911F910895EF92FF920F931F9350
+:102E0000CF93DF938C01892B09F46CC0F12CEE2455
+:102E1000E394E8012196F8018491843740F48430EA
+:102E200008F051C0813081F0823019F15BC08537E4
+:102E300009F444C0A8F19CE7980F903708F052C0FD
+:102E40008F770E942E1041C00E5F1F4FFE01C4916C
+:102E500080E28C0F883048F4C7708E2D01C0880F37
+:102E6000CA95EAF70E949A1914C08C2F0E94660F27
+:102E70002DC00E5F1F4FFE01C49180E28C0F883081
+:102E800058F4C7708E2D01C0880FCA95EAF70E94CA
+:102E9000A0190E94C1191AC08C2F0E942E1016C0B2
+:102EA0000E5F1F4FFE01C491CC2381F08FE99FE09C
+:102EB0000197F1F700C00000C150F6CF0E5F1F4F21
+:102EC000FE01F49003C00E94660F8E018F2D8823AF
+:102ED00009F49FCFEFE9FFE03197F1F700C0000060
+:102EE0008150F5CFDF91CF911F910F91FF90EF901F
+:102EF000089508956093B5017093B6018093B7016A
+:102F00009093B8010C94AA130F931F930091B501ED
+:102F10001091B6012091B7013091B801DC01CB01CD
+:102F2000802B912BA22BB32B8093B5019093B601EC
+:102F3000A093B701B093B8011F910F910C94AA13FD
+:102F40000F931F930091B5011091B6012091B70125
+:102F50003091B801DC01CB0180239123A223B3235C
+:102F60008093B5019093B601A093B701B093B801D7
+:102F70001F910F910C94AA130F931F930091B50109
+:102F80001091B6012091B7013091B801DC01CB015D
+:102F900080279127A227B3278093B5019093B6018C
+:102FA000A093B701B093B8011F910F910C94AA138D
+:102FB0001092B1011092B2011092B3011092B401BB
+:102FC0000C94AA1341E050E060E070E004C0440FAC
+:102FD000551F661F771F8A95D2F74093B101509312
+:102FE000B2016093B3017093B4010C94AA1341E051
+:102FF00050E060E070E004C0440F551F661F771F6B
+:103000008A95D2F78091B1019091B201A091B3015C
+:10301000B091B401482B592B6A2B7B2B4093B10103
+:103020005093B2016093B3017093B4010C94AA134E
+:1030300041E050E060E070E004C0440F551F661F9F
+:10304000771F8A95D2F7409550956095709580913D
+:10305000B1019091B201A091B301B091B4014823A4
+:1030600059236A237B234093B1015093B2016093AB
+:10307000B3017093B4010C94AA1341E050E060E0F6
+:1030800070E004C0440F551F661F771F8A95D2F762
+:103090008091B1019091B201A091B301B091B401BE
+:1030A000482759276A277B274093B1015093B201E3
+:1030B0006093B3017093B4010C94AA130F931F9300
+:1030C0000091B1011091B2012091B3013091B4018E
+:1030D000DC01CB01802B912BA22BB32B8093B10170
+:1030E0009093B201A093B301B093B4011F910F91DB
+:1030F0000C94AA130F931F930091B1011091B20188
+:103100002091B3013091B401DC01CB0180239123E4
+:10311000A223B3238093B1019093B201A093B30192
+:10312000B093B4011F910F910C94AA130F931F93A6
+:103130000091B1011091B2012091B3013091B4011D
+:10314000DC01CB0180279127A227B3278093B1010F
+:103150009093B201A093B301B093B4011F910F916A
+:103160000C94AA130895CF92DF92EF92FF920F93DF
+:103170001F93CF93DF938C01C090B501D090B6011F
+:10318000E090B701F090B8014091B1015091B201C7
+:103190006091B3017091B401C42AD52AE62AF72AB6
+:1031A000CFE1D0E0D701C6010C2E04C0B695A7959B
+:1031B000979587950A94D2F780FF07C0B8018C2FA6
+:1031C0000E94FD058130910531F4219758F7B8012F
+:1031D00080E00E94FD05DF91CF911F910F91FF903C
+:1031E000EF90DF90CF90089590910C01992321F0FA
+:1031F00090910D01911109C020910E0130910F01A4
+:10320000F90132969FEF40E01FC0982F9695969552
+:1032100096959F3050F5E0910E01F0910F01E90F66
+:10322000F11D877021E030E0A90102C0440F551F55
+:103230008A95E2F7CA019181892B818308959F3F86
+:1032400039F04F5F4E3041F051915813F8CF0DC017
+:103250005111F7CF942FF5CF9F3F39F0F901E90FC6
+:10326000F11D97FDFA9582830895089590910C01C0
+:10327000992321F090910D01911109C020910E0127
+:1032800030910F01F9013296205F3F4F1FC0982FF8
+:103290009695969596959F30F0F4E0910E01F091F9
+:1032A0000F01E90FF11D877021E030E0A90102C094
+:1032B000440F551F8A95E2F7CA01809591818923B1
+:1032C000818308953196E217F30729F090819813CE
+:1032D000F9CF1082F7CF089581E090E0E0910E01E0
+:1032E000F0910F01E80FF91F1082019680319105CE
+:1032F000A9F708959091CC01892B8093CC01089572
+:1033000080959091CC0189238093CC0108951092EF
+:10331000CC0108959091CB01892B8093CB01089526
+:1033200080959091CB0189238093CB0108951092D1
+:10333000CB0108959091CA01892B8093CA01089509
+:1033400080959091CA0189238093CA0108951092B3
+:10335000CA0108958093B90108951092B9010895A2
+:1033600080910E0190910F01FC0131969C01205F2C
+:103370003F4F80E0919191118F5FE217F307D1F7F2
+:103380000895E0910E01F0910F018091CC018083AE
+:10339000E0910E01F0910F0190818091CB01892B7A
+:1033A0008083E0910E01F0910F0190818091CA011C
+:1033B000892B80838091B901882361F0E0910E010F
+:1033C000F0910F019081892B80830E94B0198111A7
+:1033D0001092B90180910E0190910F010C94490E49
+:1033E000CF92DF92EF92FF926C01EE24FF24C11482
+:1033F000D104E104F10421F0C701B60120E101C0CC
+:1034000020E0C72ED82EE92EFF24C114D104E104F8
+:10341000F10419F0285FC701B6016B017C0154E08B
+:10342000F694E794D794C7945A95D1F7C114D10470
+:10343000E104F10419F02C5FC701B6016B017C01B6
+:1034400042E0F694E794D794C7944A95D1F7C11413
+:10345000D104E104F10419F02E5FC701B601DC01CB
+:10346000CB01B695A79597958795892B8A2B8B2BA2
+:1034700009F02F5F822FFF90EF90DF90CF9008959B
+:103480008091E601843039F11092CE0120E488E188
+:1034900090E00FB6F894A895809360000FBE20933B
+:1034A000600080E00E94330783B7817F846083BF20
+:1034B00083B7816083BF7894889583B78E7F83BFFD
+:1034C0000FB6F894A89580916000886180936000A1
+:1034D000109260000FBE089508950895CF930E9442
+:1034E0006C1A0E9426040E946D1AC0E08C2F0E9464
+:1034F0001405811104C0CF5FCE30C1F701C081E057
+:10350000CF9108950E94BE130E943D0E0C94330784
+:1035100082E084BD93E095BD9AEF97BD80936E00E5
+:1035200008952FB7F8948091CF019091D001A09188
+:10353000D101B091D2012FBF0895CF92DF92EF92C7
+:10354000FF920F931F932FB7F8944091CF015091A2
+:10355000D0016091D1017091D2012FBF6A017B012E
+:10356000EE24FF248C0120E030E0C016D106E206F4
+:10357000F30610F4415051099A01281B390BC90177
+:103580001F910F91FF90EF90DF90CF9008951F92C1
+:103590000F920FB60F9211248F939F93AF93BF9307
+:1035A0008091CF019091D001A091D101B091D20131
+:1035B0000196A11DB11D8093CF019093D001A093DE
+:1035C000D101B093D201BF91AF919F918F910F9094
+:1035D0000FBE0F901F9018950E943A0BF8942FEF92
+:1035E00087EA91E6215080409040E1F700C000005A
+:1035F00087E090EBDC018093EF019093F001A093C2
+:10360000F101B093F2019CE088E10FB6F894A8951F
+:10361000809360000FBE90936000FFCFEF92FF9207
+:103620000F931F93CF93DF93D82FC0E08C2F0E946E
+:10363000140500E010E0E82EF12CC701002E02C0B6
+:10364000959587950A94E2F780FD06C00F5F1F4F9E
+:103650000630110591F709C0602F7C2F80E00E9491
+:10366000DB05D813F3CF81E004C0CF5FCE30F1F695
+:1036700080E0DF91CF911F910F91FF90EF9008951F
+:10368000CF93C82F8CE20E940E1B882321F08C2F31
+:10369000CF910C940E1B80E0CF910895CF930E94A0
+:1036A000951C811102C00E947B1CC5E6C15049F0E7
+:1036B0000E9426048FE39CE90197F1F700C0000007
+:1036C000F5CF89E20E94401B811113C18AE20E945A
+:1036D000401B81110E947B1C85E00E94401B8111D0
+:1036E0000E94EC1A0E94A01C8093CD0187E00E94EA
+:1036F000401B8823A9F18BE10E94401B882351F0D5
+:103700008091CD0181FB222720F991E0922790FB47
+:1037100081F90EC08EE00E94401B882361F08091E9
+:10372000CD0182FB222720F991E0922790FB82F9BC
+:103730008093CD0115C080E10E94401B9091CD0186
+:10374000882341F093FB222720F981E0822780FB28
+:1037500093F904C0892F809580FB90F99093CD0157
+:103760008091CD010E94A41C0E94B21C8093E001B4
+:1037700080EE0E94401B882341F08091E001982F49
+:10378000909590FB80F98093E00189E30E94401BB3
+:10379000882359F08091E00181FB222720F991E0F4
+:1037A000922790FB81F98093E00182EE0E94401BFA
+:1037B000882359F08091E00182FB222720F991E0D3
+:1037C000922790FB82F98093E00186EE0E94401BD5
+:1037D000882359F08091E00183FB222720F991E0B2
+:1037E000922790FB83F98093E00183EE0E94401BB7
+:1037F000882359F08091E00184FB222720F991E091
+:10380000922790FB84F98093E00185E30E94401B9E
+:10381000882359F08091E00185FB222720F991E06F
+:10382000922790FB85F98093E00181E30E94401B81
+:10383000882359F08091E00186FB222720F991E04E
+:10384000922790FB86F98093E00181E10E94401B62
+:10385000882359F08091E00187FB222720F991E02D
+:10386000922790FB87F98093E0018091E0010E940C
+:10387000B61C8091E00187FB882780F980930D01B9
+:1038800087E20E94401BC82F8EE10E94401B8111DD
+:10389000C2608FE10E94401B8111C46080E20E94DF
+:1038A000401B8111C86081E20E94401B8111C061F0
+:1038B00082E20E94401B8111C06283E20E94401B91
+:1038C0008111C06484E20E94401B882311F0C0680B
+:1038D00002C0CC2329F08C2F0E94AD1C6C2F03C09A
+:1038E0000E94A91C682F70E080E090E0CF910C94BA
+:1038F0007A17CF9108956DEE7EEF80E090E00E9400
+:10390000F52260E082E090E00E94E72260E083E040
+:1039100090E00E94E72260E084E090E00E94E722CD
+:1039200060E085E090E00C94E72280E090E00E9467
+:10393000E12221E08D3E9E4F09F020E0822F089584
+:1039400082E090E00C94D922682F82E090E00C9401
+:10395000E72283E090E00C94D922682F83E090E086
+:103960000C94E72284E090E00C94D922682F84E044
+:1039700090E00C94E7228091D50180FF0BC060910C
+:10398000130185E0689FB0011124759567957595C1
+:1039900067952BC081FF09C06091130185E0689F86
+:1039A000B00111247595679520C082FF07C0609112
+:1039B000130185E0689FB001112417C09091D601D2
+:1039C0009923D1F060911201961788F72091130185
+:1039D00085E0289F90011124929FA001939F500D94
+:1039E000112470E0CA010E94AB226038710540F4D6
+:1039F0006115710539F002C065E070E0862F089509
+:103A00008FE7089581E008958091D50180FF08C077
+:103A10006091110170E0759567957595679521C066
+:103A200081FF06C06091110170E07595679519C01E
+:103A300082FF04C06091110170E010C09091D60126
+:103A40009923C1F0609110019617A0F780911101A0
+:103A5000899FC001112470E00E94AB22603871057B
+:103A600028F46115710521F0862F08958FE70895D8
+:103A700081E0089561E070E0F4CF803F21F40E947E
+:103A8000BB1C819504C0813F29F40E94BB1C80931C
+:103A9000D9010895823F21F40E94BB1C819504C086
+:103AA000833F29F40E94BB1C8093D8010895893F6D
+:103AB00019F40E94041D05C08A3F31F40E94041DC0
+:103AC00081958093DA0108958B3F21F40E94041DB3
+:103AD000819504C08C3F29F40E94041D8093DB0172
+:103AE0000895843F21F48091D701816017C0853FFC
+:103AF00021F48091D701826011C0863F21F480912A
+:103B0000D70184600BC0873F21F48091D701886082
+:103B100005C0883F31F48091D70180618093D7013F
+:103B200008958D3F21F48091D50181600BC08E3FB7
+:103B300021F48091D501826005C08F3F29F48091E6
+:103B4000D50184608093D5010895803F39F4809138
+:103B5000D90187FF6CC01092D90169C0813F29F457
+:103B60008091D9011816BCF362C09091D801823FB0
+:103B700029F497FF5CC01092D80159C0833F19F413
+:103B80001916CCF354C0893F41F48091DA0118161C
+:103B90000CF04DC01092DA014AC08A3F29F480919E
+:103BA000DA0187FF44C0F6CF8B3F39F48091DB0107
+:103BB00087FF3DC01092DB013AC08C3F29F4809111
+:103BC000DB011816BCF333C0843F21F48091D70188
+:103BD0008E7F17C0853F21F48091D7018D7F11C062
+:103BE000863F21F48091D7018B7F0BC0873F21F462
+:103BF0008091D701877F05C0883F31F48091D7013C
+:103C00008F7E8093D70113C08D3F21F48091D50121
+:103C10008E7F0BC08E3F21F48091D5018D7F05C032
+:103C20008F3F29F48091D5018B7F8093D5018091BE
+:103C3000D80181110EC08091D90181110AC08091F3
+:103C4000DA01811106C08091DB01811102C010925E
+:103C5000D601089587ED91E00E94540E0E94911ABA
+:103C60009093D4018093D30108951F93CF93DF9352
+:103C70008091D3019091D4010E949D1AAC01909142
+:103C8000D601992321F02091140130E006C0209143
+:103C900015018AE0289F900111244217530708F468
+:103CA00085C08091D801C091D901D091DA011091DD
+:103CB000DB01811107C0C11175C0D11173C0111191
+:103CC00071C074C09F3F19F09F5F9093D601181682
+:103CD00024F40E94BB1C8093D8018091D80187FFF7
+:103CE00005C00E94BB1C81958093D8011C1624F44A
+:103CF0000E94BB1C8093D9018091D90187FF05C028
+:103D00000E94BB1C81958093D9016091D8016623E4
+:103D100031F1C091D901CC2311F1062E000C770BA3
+:103D2000880B990B0E94B22123E333E343E35FE363
+:103D30000E9416220E947A216093D8016C2FCC0F2A
+:103D4000770B880B990B0E94B22123E333E343E303
+:103D50005FE30E9416220E947A216093D9011D160A
+:103D600024F40E94041D8093DA018091DA0187FF18
+:103D700005C00E94041D81958093DA01111624F478
+:103D80000E94041D8093DB018091DB0187FF05C049
+:103D90000E94041D81958093DB01DF91CF911F91DB
+:103DA0000C942A1E9F3F09F08FCF97CFDF91CF91C0
+:103DB0001F910895E7EDF1E085E0DF011D928A95FE
+:103DC000E9F71092D6011092D5010895833081F160
+:103DD00028F4813059F08230D1F00895853009F40B
+:103DE00049C0B8F1863009F456C008958091150194
+:103DF000262F30E0280F311D2F3F310524F4680FA6
+:103E00006093150108958FEF8093150108958091B7
+:103E10001401262F30E0280F311D2F3F310524F4E7
+:103E2000680F6093140108958FEF80931401089533
+:103E300080911301262F30E0280F311D2F3F3105CF
+:103E400024F4680F6093130108958FEF809313019A
+:103E5000089580911201262F30E0280F311D2F3F49
+:103E6000310524F4680F6093120108958FEF809359
+:103E70001201089580911101262F30E0280F311D85
+:103E80002F3F310524F4680F6093110108958FEFDF
+:103E900080931101089580911001262F30E0280FA2
+:103EA000311D2F3F310524F4680F609310010895F0
+:103EB0008FEF809310010895833011F128F4813041
+:103EC00049F0823091F00895853081F120F18630FB
+:103ED000C1F1089580911501681720F4861B809325
+:103EE0001501089510921501089580911401681725
+:103EF00020F4861B809314010895109214010895F4
+:103F000080911301681720F4861B80931301089594
+:103F100010921301089580911201681720F4861BF6
+:103F20008093120108951092120108958091110159
+:103F3000681720F4861B80931101089510921101D7
+:103F4000089580911001681720F4861B809310015A
+:103F500008951092100108950F931F938D3109F465
+:103F60006AC008F03FC08E3009F484C0C0F48730C6
+:103F700009F46DC068F4863009F0B5C08091CD01B8
+:103F8000817F8E7F8093CD0181E08093DD01ACC085
+:103F9000883009F457C08B3009F46AC0A4C0863158
+:103FA00009F466C078F4803109F477C0813109F0F2
+:103FB0009AC00E94BE1390910D0181E089278093E1
+:103FC0000D0156C0893109F453C08B3109F08BC003
+:103FD0008091CD0181FB222720F991E0922790FB6F
+:103FE00081F951C0853309F475C048F4873209F46A
+:103FF00071C008F45EC0893209F46CC074C08334A7
+:1040000030F48A3308F053C0883391F16CC08334A4
+:1040100009F460C0883409F066C00E94BE130FEF37
+:1040200013ED20E3015010402040E1F700C00000F4
+:104030000E94EC1A1DC00E9434210E943D0E0E9475
+:10404000330716C00E94A01C0E94B21C11C09091A0
+:10405000CD01892F8095817080FB90F929F09660C1
+:1040600098609093CD0140C0997F977F9093CD0148
+:1040700081E03AC08091CD0182FB222720F991E0B6
+:10408000922790FB82F98093CD01992389F3809147
+:10409000CD0181608093CD01EBCF8091CD0183FB79
+:1040A000222720F991E0922790FB83F9ECCF8953E6
+:1040B00001C08D5141E050E060E070E08A019B0159
+:1040C00004C0000F111F221F331F8A95D2F7C901A8
+:1040D000B80104C061E070E080E090E00E947A17CF
+:1040E0000E94BE13C5CF80E01F910F91089580E01C
+:1040F000089580E00895CF93C82F8091DD0181302D
+:1041000079F018F08230E9F187C0E0910E01F0916A
+:104110000F018081813169F0823209F07FC009C0CE
+:10412000E0910E01F0910F018081813111F0823216
+:1041300061F48C2F0E947720811104C08C2F0E9483
+:10414000AC1F1DC081E090E01AC08C2F0E94792026
+:10415000811114C0C43179F048F4CB3079F0C0310A
+:1041600009F060C082E08093DD0108C0C93219F017
+:10417000C83321F057C01092DD0154C081E0817036
+:1041800053C0C93289F118F5C43171F1A8F4C730B0
+:1041900009F046C08AE08093150194E190931401E0
+:1041A00093E0909313018093120188E080931101B2
+:1041B00088E28093100134C0CE51C63088F5EC2FD0
+:1041C000F0E0E65DFE4F80818093DC0129C0CE34B3
+:1041D000E9F020F4CB3421F56AE013C0C13579F061
+:1041E000C235F1F461E00DC08091DC01882319F043
+:1041F0001092DC0115C081E08093DD0115C061E003
+:1042000006C08091DC010E94E61E0AC06AE080912F
+:10421000DC010E945C1F04C01092DD0180E004C03C
+:1042200081E002C080E0ABCFCF910895E1E8F0E0FB
+:104230008081886080838081816080838FB7F894DB
+:1042400093E09093890090ED909388008FBF08953C
+:10425000EFE6F0E08081826080830895EFE6F0E091
+:1042600080818D7F80830895EFE6F0E0908182E089
+:104270008927808308951F920F920FB60F92112401
+:104280002F933F934F935F936F937F938F939F935E
+:10429000AF93BF93EF93FF938091DE019091DF0185
+:1042A00001969093DF018093DE01811103C082E0CB
+:1042B0000E943307E091DF01E695E695F0E0E657CE
+:1042C000FB4FE4918091DE018E1303C080E00E94D9
+:1042D0003307FF91EF91BF91AF919F918F917F91A4
+:1042E0006F915F914F913F912F910F900FBE0F9063
+:1042F0001F9018950E9481216894B1110C9410228E
+:1043000008950E94F52188F09F5798F0B92F9927BA
+:10431000B751B0F0E1F0660F771F881F991F1AF0B0
+:10432000BA95C9F714C0B13091F00E940F22B1E0E4
+:1043300008950C940F22672F782F8827B85F39F0E3
+:10434000B93FCCF3869577956795B395D9F73EF449
+:1043500090958095709561957F4F8F4F9F4F0895F1
+:10436000E89409C097FB3EF490958095709561950F
+:104370007F4F8F4F9F4F9923A9F0F92F96E9BB27C5
+:104380009395F695879577956795B795F111F8CF41
+:10439000FAF4BB0F11F460FF1BC06F5F7F4F8F4FAC
+:1043A0009F4F16C0882311F096E911C0772321F0A2
+:1043B0009EE8872F762F05C0662371F096E8862F3A
+:1043C00070E060E02AF09A95660F771F881FDAF791
+:1043D000880F9695879597F9089557FD9058440F43
+:1043E000551F59F05F3F71F04795880F97FB991F54
+:1043F00061F09F3F79F08795089512161306140611
+:10440000551FF2CF4695F1DF08C01616170618069D
+:10441000991FF1CF86957105610508940895E89478
+:10442000BB2766277727CB0197F908950E94292299
+:104430000C949A220E948C2238F00E94932220F041
+:10444000952311F00C9483220C94892211240C944E
+:1044500010220E94ED2170F3959FC1F3950F50E05B
+:10446000551F629FF001729FBB27F00DB11D639F26
+:10447000AA27F00DB11DAA1F649F6627B00DA11DCC
+:10448000661F829F2227B00DA11D621F739FB00D72
+:10449000A11D621F839FA00D611D221F749F3327E2
+:1044A000A00D611D231F849F600D211D822F762F7B
+:1044B0006A2F11249F5750409AF0F1F088234AF058
+:1044C000EE0FFF1FBB1F661F771F881F91505040C4
+:1044D000A9F79E3F510580F00C9483220C94102282
+:1044E0005F3FE4F3983ED4F3869577956795B7954B
+:1044F000F795E7959F5FC1F7FE2B880F911D969565
+:10450000879597F9089597F99F6780E870E060E0D4
+:1045100008959FEF80EC089500240A94161617065C
+:1045200018060906089500240A94121613061406A4
+:1045300005060895092E0394000C11F4882352F007
+:10454000BB0F40F4BF2B11F460FF04C06F5F7F4FBF
+:104550008F4F9F4F089597FB072E16F4009407D0B6
+:1045600077FD09D00E94C52207FC05D03EF4909546
+:1045700081959F4F0895709561957F4F0895EE0F37
+:10458000FF1F0590F491E02D0994AA1BBB1B51E17C
+:1045900007C0AA1FBB1FA617B70710F0A61BB70BB3
+:1045A000881F991F5A95A9F780959095BC01CD0158
+:1045B0000895F999FECF92BD81BDF89A992780B5EB
+:1045C0000895A8E1B0E042E050E00C94FC22262FD0
+:1045D000F999FECF1FBA92BD81BD20BD0FB6F894E8
+:1045E000FA9AF99A0FBE019608950E94E722272FA2
+:1045F0000C94E822DC01CB01FC01F999FECF06C046
+:10460000F2BDE1BDF89A319600B40D924150504090
+:08461000B8F70895F894FFCFFC
+:1046180020023507C307A0076C0738070101BA0154
+:1046280028080A03140A3F4D36394B04FE03C80311
+:104638008F0322033B0354036D03010203040506A1
+:044648000708090056
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png Binary files differnew file mode 100644 index 0000000000..6a36f9bfa1 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png Binary files differnew file mode 100644 index 0000000000..c6e6d913cb --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png Binary files differnew file mode 100644 index 0000000000..23f56ff4c0 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c new file mode 100644 index 0000000000..82f55b4bc0 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c @@ -0,0 +1,185 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | BrBck| | Play | 6 | 7 | 8 | 9 | 0 | \ / L2 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Esc | ' | , | . | P | Y | Del | | Ins | F | G | C | R | L | / | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | O | E | U | I |------| |------| D | H | T | N | S | - | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| LAlt | LGui | Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,---------------. + * | App | L1 | | L2 |PrntScr | + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space| Tab |------| |------| AltShf |Enter | + * | | | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_WBAK, + KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_DELT, + KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO), + LT(SYMB,KC_GRV),KC_LALT, KC_LGUI, KC_LEFT,KC_RGHT, + CTL_T(KC_APP), TG(1), + KC_HOME, + KC_SPC,KC_TAB,KC_END, + // right hand + KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, LT(MDIA, KC_BSLS), + KC_INS, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, + KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, + MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + TG(2), KC_PSCREEN, + KC_PGUP, + KC_PGDN,RALT(KC_RSFT), KC_ENT + ), +/* Keymap 1: Symbol & Media Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Prev | Next | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | |VolUp | | | + * | | |------| |------| Mute | | + * | | | | |VolDn | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_MPRV,KC_MNXT, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_VOLU, + KC_VOLD, KC_MUTE, KC_TRNS +), +/* Keymap 2: QWERTY Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | Q | W | E | R | T | | | | Y | U | I | O | P | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | A | S | D | F | G |------| |------| H | J | K | L | ; | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( // layer 0 : default + // left hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, + KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_TRNS, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_TRNS, + KC_TRNS, KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex b/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex index aa08845658..bb78a5ea47 100644 --- a/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex +++ b/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex @@ -1,18 +1,18 @@ -:100000000C9465020C94AC020C94AC020C94AC02FF
-:100010000C94AC020C94AC020C94AC020C94AC02A8
-:100020000C94AC020C94AC020C94C30B0C94950C85
-:100030000C94AC020C94AC020C94AC020C94AC0288
-:100040000C94AC020C9409210C94AC020C94AC02FC
-:100050000C94AC020C949B1A0C94AC020C94AC0261
-:100060000C94AC020C94AC020C94AC020C94AC0258
-:100070000C94AC020C94AC020C94AC020C94AC0248
-:100080000C94AC020C94AC020C94AC020C94AC0238
-:100090000C94AC020C94AC020C94AC020C94AC0228
-:1000A0000C94AC020C94AC020C94AC02020D240D26
-:1000B000170E240D170E690D8C0D170EE10DF40DA2
-:1000C000DE10DE100D110D1150118A1197139713C8
-:1000D000A3119713981298126B1397139713821307
-:1000E0000000F0A12E004C002A00E1003581000044
+:100000000C9465020C94A9020C94A9020C94A90208
+:100010000C94A9020C94A9020C94A9020C94A902B4
+:100020000C94A9020C94A9020C94A00C0C94720DCF
+:100030000C94A9020C94A9020C94A9020C94A90294
+:100040000C94A9020C9446220C94A9020C94A902C7
+:100050000C94A9020C94EA1B0C94A9020C94A9021A
+:100060000C94A9020C94A9020C94A9020C94A90264
+:100070000C94A9020C94A9020C94A9020C94A90254
+:100080000C94A9020C94A9020C94A9020C94A90244
+:100090000C94A9020C94A9020C94A9020C94A90234
+:1000A0000C94A9020C94A9020C94A902D70DF90D85
+:1000B000E40EF90DE40E3B0E5E0EE40EB30EC60E1A
+:1000C000C011C0110112011243127F127F147F145C
+:1000D00097127F148E138E1359147F147F146D148E
+:1000E0000000F0A12E004C002A00003035810000F5
:1000F0001E00140004001D7134004D001F001A0082
:1001000016001B00E104C1002000080007000600E3
:1001100050002C0021001500090019004F004A0072
@@ -22,7 +22,7 @@ :10015000240018000D74100052004B0025000C0004
:100160000E00360051002800260012000F00370054
:100170002F002B81270013003382387130004E008E
-:100180002D0031003478E500C100000001000100BD
+:100180002D00310034780130C10000000100010071
:1001900001000100010000003A001E0022002602BA
:1001A000010001003B001F002300270201000100A5
:1001B0003C00200024002F004B0101003D002100E5
@@ -75,1047 +75,1085 @@ :1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2
:1004B000B39D87715D4A3A2C20170F0A060402018A
:1004C0000000000000000000000011241FBECFEF5C
-:1004D000DAE0DEBFCDBF04B603FE27C08091ED0198
-:1004E0009091EE01A091EF01B091F0018730904B17
-:1004F000A740B04BD1F41092ED011092EE01109292
-:10050000EF011092F00114BE84B7877F84BF0FB64D
-:10051000F894A895809160008861809360001092A3
-:1005200060000FBEE0E0FFE3099511E0A0E0B1E05C
-:10053000E4EBF5E402C005900D92A433B107D9F7BE
-:1005400021E0A4E3B1E001C01D92AD3EB207E1F7A6
-:100550000E940A090C94D8220C94000061110BC06F
-:10056000FC018281882321F085EE0E94780F03C070
-:1005700085EE0E94401080E090E00895089560911B
-:10058000B1017091B2018091B3019091B4010E94C8
-:10059000C81956985E9825982D9826982E982798D1
-:1005A0002F98813019F0823021F00895259A2D9AE4
-:1005B0000895269A2E9A08950C94BF0256985E9834
-:1005C00025982D9826982E9827982F988FEF90E0B1
-:1005D000909389008093880090938B0080938A0089
-:1005E00090938D0080938C00259A2D9A2FEF80E7B1
-:1005F00092E0215080409040E1F700C00000269A30
-:100600002E9A2FEF80E792E0215080409040E1F752
-:1006100000C00000279A2F9A2FEF80E792E0215028
-:1006200080409040E1F700C0000025982D982FEF02
-:1006300080E792E0215080409040E1F700C0000048
-:1006400026982E982FEF80E792E02150804090402E
-:10065000E1F700C0000027982F9856985E982598DB
-:100660002D9826982E9827982F98089589EA809398
-:10067000800089E08093810024982C983F988AB16B
-:100680008F748AB96E98479A8BB1806B8BB9769AC2
-:100690000E94DE020C94BE0280E2809300018091F1
-:1006A000340181110EC00E949B0381E080933401CC
-:1006B0002FEF83ED90E3215080409040E1F700C0A0
-:1006C000000080E40E94A1038093000181112EC0EC
-:1006D0000E94CB0380930001811128C00E94CB03AC
-:1006E00080930001811122C08FE30E94CB0380938D
-:1006F000000181111BC00E94C30380E40E94A1037A
-:1007000080930001811112C08CE00E94CB03809382
-:10071000000181110BC00E94CB0380930001811165
-:1007200005C08FE30E94CB03809300010E94C303A6
-:100730008091000108951092B9008AE08093B8007A
-:10074000089594EA9093BC009091BC0097FFFCCF71
-:100750009091B900987F983021F0903111F081E0AC
-:1007600008958093BB0084E88093BC008091BC0016
-:1007700087FFFCCF8091B900887F883111F08034E9
-:1007800071F780E0089584E98093BC008091BC00FB
-:1007900084FDFCCF08958093BB0084E88093BC0067
-:1007A0008091BC0087FFFCCF9091B900987F81E0D9
-:1007B000983209F480E0089584E88093BC00809129
-:1007C000BC0087FFFCCF8091BB00089580910001A1
-:1007D000811115C080E40E94A10380930001811162
-:1007E0000CC082E10E94CB0380930001811105C0FF
-:1007F0008FEF0E94CB03809300010E94C30384B15A
-:10080000807F84B985B1807F85B98AB1837F8AB9B9
-:100810008BB1837F8BB93E98469808950E944C0314
-:10082000809300010E94E60380B38C7080BB81B38B
-:10083000836F81BBE4E4F1E0A6E3B1E011921D9285
-:1008400081E0E235F807D1F70C9436039F92AF921E
-:10085000BF92CF92DF92EF92FF920F931F93CF93AD
-:10086000DF9380910001882379F0809135018F5FBB
-:1008700080933501811108C00E944C0380930001D0
-:10088000811102C00E94DE0286E3E82E81E0F82E8C
-:100890008701C0E0D0E0BB24B39492E0A92ECC2421
-:1008A000C394D12CC730D10500F58091000181118E
-:1008B00064C080E40E94A10380930001811112C0F2
-:1008C00082E10E94CB038093000181110BC0C6011D
-:1008D0000C2E01C0880F0A94EAF780950E94CB0382
-:1008E000809300010E94C30348C0CA30A1F028F4DD
-:1008F000C83059F0C93061F005C0CC3089F070F0D3
-:10090000CD3089F0209A289810C0219A29980DC0DE
-:10091000229A2A980AC0239A2B9807C0529A01C09B
-:10092000539A5B9802C03E9A4698E0EAEA95F1F73E
-:100930008FB181708B25799902C032E001C030E01F
-:10094000832B7C9902C034E001C030E0832B7D9979
-:1009500002C028E001C020E0822B7E9902C090E115
-:1009600001C090E0892B9FB19095991F9927991FFD
-:100970009295990F907E892B0FC080910001811173
-:100980004AC080E40E94A10380930001882381F182
-:10099000912C0E94C303892DD8019C91981719F0BE
-:1009A0008C93A09201010E94E60321960F5F1F4FD6
-:1009B000CE30D10509F076CF80910101882369F10D
-:1009C000815080930101882339F0EFE9FFE03197EE
-:1009D000F1F700C0000021C0E4E4F1E0D7018D91FF
-:1009E0007D018193B4E4EB16B1E0FB06B9F715C0C5
-:1009F00083E10E94CB03809300018111C9CF81E480
-:100A00000E94A103809300018111C2CF0E94DC03E8
-:100A1000982E9094BECF80E0BFCF0E94DC0281E090
-:100A2000DF91CF911F910F91FF90EF90DF90CF90CA
-:100A3000BF90AF909F900895E82FF0E0EC5BFE4FE1
-:100A40008081089508958B3B910580F4883A910543
-:100A500048F5853A9105D8F48430910508F0B2C084
-:100A6000019709F06EC081E090E00895803E910505
-:100A700008F467C0883E910508F4A4C09C01205F7B
-:100A800031092031310508F05CC090650895853A40
-:100A9000910509F459C0863A910509F058C082E8D9
-:100AA00090E40895883A910509F454C0893A910573
-:100AB00009F453C08A3A910509F452C08B3A910562
-:100AC00009F451C08C3A910509F450C08D3A910552
-:100AD00009F44FC0803B910509F44EC08E3A910550
-:100AE00009F44DC08F3A910509F44CC0813B910542
-:100AF00009F44BC0823B910509F44AC0833B910540
-:100B000009F449C0843B910509F448C0853B91052F
-:100B100009F447C0863B910509F446C0873B91051F
-:100B200009F445C0883B910509F444C0893B91050F
-:100B300009F443C08A3B910509F442C080E094E483
-:100B4000089580E090E0089581E890E4089583E8B6
-:100B500090E4089582EE94E4089589EE94E4089573
-:100B60008AEE94E4089585EB94E4089586EB94E48A
-:100B7000089587EB94E408958CEC94E408958DEC4B
-:100B800094E4089583E895E408958AE895E4089547
-:100B900082E995E4089584E995E4089581E296E474
-:100BA000089583E296E4089584E296E4089585E248
-:100BB00096E4089586E296E4089587E296E408951F
-:100BC0008AE296E40895089524E5829FC0011124E5
-:100BD000FC0126E0729FE00DF11D1124E60FF11DCE
-:100BE000EE0FFF1FEC51FF4F859194910895880FF0
-:100BF000991FFC01E05AF040859194910895880F67
-:100C0000991FFC01E052FF4F85919491089524E5CE
-:100C1000829FC0011124FC0146E0749FE00DF11D8C
-:100C20001124E60FF11DEE0FFF1FEC51FF4F8591D0
-:100C300094919C013A9521154FE1340708F425C1A0
-:100C40003F512115304120F49F700E94FF05089507
-:100C50009C0130532115304118F49927906C089568
-:100C6000811520E5920769F40E94B9134FEF84E3E0
-:100C70009CE0415080409040E1F700C000000C949F
-:100C8000C01A813020E5920731F48091CC01816057
-:100C90008093CC0108959C0130552115304108F016
-:100CA0005CC0292F33272F70332721303105E9F419
-:100CB000AC0164E0440F551F6A95E1F74427537077
-:100CC000BC016370772702C0220F331F6A95E2F7D9
-:100CD0003C68242B352B73E0880F991F7A95E1F738
-:100CE00080769927822B932B08952230310529F4A1
-:100CF000982F8827816F906A089523303105A1F4D9
-:100D0000AC0133E0440F551F3A95E1F7407E577030
-:100D10008370992721E030E002C0220F331F8A95AB
-:100D2000E2F7C9019C6816C02430310531F5AC01E9
-:100D300023E0440F551F2A95E1F7407E57708370DA
-:100D4000992721E030E002C0220F331F8A95E2F795
-:100D5000C9019A68842B952B08959C013057211561
-:100D6000304118F49F70906208959C01305821150D
-:100D7000304118F49F70906A0895803E9105E0F428
-:100D8000803C910558F58133910509F46FC048F412
-:100D90008932910509F463C08A32910509F46DC066
-:100DA00072C089339105E9F082389105D1F085331D
-:100DB000910509F44DC067C0833E910581F138F477
-:100DC000803E9105B9F0823E9105D9F05CC0863E27
-:100DD000910561F1873E9105A1F155C00E94F7058B
-:100DE00008952091DE0120FD02C021FF4CC080EE5D
-:100DF00090E049C08091DE0180FFF9CF89E390E067
-:100E000042C08091DE0182FF0EC08091DE0184FF2E
-:100E100003C080E090E037C083EE90E034C0809162
-:100E2000DE0182FFF2CF82EE90E02DC08091DE01E4
-:100E300083FF0BC08091DE0184FDEBCF87EE90E055
-:100E400022C08091DE0183FFF5CF86EE90E01BC0CB
-:100E50008091DE0185FF07C089E290E014C0809197
-:100E6000DE0185FFF9CF85E390E00DC08091DE01C2
-:100E700086FF07C08AE290E006C08091DE0186FF0F
-:100E8000F9CF81E390E00E942305089508958091B1
-:100E900062010895CF93DF9300D01F92CDB7DEB7E4
-:100EA0009C018091E401843019F593E099833B83A0
-:100EB0002A839093E9008FEF9091E800815095FD8F
-:100EC00006C095ED9A95F1F700008111F5CF80915C
-:100ED000E80085FF0DC040E050E063E070E0CE0127
-:100EE00001960E94B7098091E8008E778093E80010
-:100EF0000F900F900F90DF91CF910895CF93DF93D4
-:100F000000D01F92CDB7DEB72091E401243021F547
-:100F100022E029839B838A8383E08093E9008FEF1B
-:100F20009091E800815095FD06C095ED9A95F1F7F6
-:100F300000008111F5CF8091E80085FF0DC040E0F1
-:100F400050E063E070E0CE0101960E94B709809105
-:100F5000E8008E778093E8000F900F900F90DF915C
-:100F6000CF9108959C018091E4018430F9F482E0EE
-:100F70008093E9009FEF8091E800915085FD06C0C5
-:100F800085ED8A95F1F700009111F5CF8091E80089
-:100F900085FF0CC040E050E065E070E0C9010E94B0
-:100FA000B7098091E8008E778093E8000895CF9389
-:100FB000DF93EC018091E401843009F046C0909108
-:100FC0000C019923D9F090910D019923B9F08093E8
-:100FD000E9008FEF9091E800815095FD06C095E102
-:100FE0009A95F1F700008111F5CF8091E80085FF17
-:100FF0002CC040E050E060E170E017C081E08093D9
-:10100000E9008FEF9091E800815095FD06C095EDC5
-:101010009A95F1F700008111F5CF8091E80085FFE6
-:1010200014C040E050E068E070E0CE010E94B709D3
-:101030008091E8008E778093E80080E1FE01A2E5D0
-:10104000B1E001900D928A95E1F7DF91CF9108957B
-:101050008091E301811109C00E94480B0E94A50BF9
-:101060008091E20084608093E20008951092E30191
-:10107000089508950C94F6200E94561A0E94FC20B0
-:101080000E94500E0C94460742E061EC81E00E9401
-:10109000C10A42E061EC82E00E94C10A42E061ECD8
-:1010A00083E00E94C10A42E161EC84E00C94C10A31
-:1010B0008091E601833009F455C030F4813071F03D
-:1010C000823009F48EC008958A3009F47AC08B30DA
-:1010D00009F460C0893009F09CC020C08091E5010E
-:1010E000813A09F096C08091E800877F8093E800FC
-:1010F0008091E9019091EA01892B21F460E182E578
-:1011000091E003C060E080E090E070E00E94020A9D
-:101110008091E8008B778093E80008958091E50145
-:10112000813209F076C08091E9019091EA0100973F
-:1011300019F0039709F06DC08091E800877F8093D4
-:10114000E8008091E80082FD05C08091E4018111F2
-:10115000F8CF5FC08091F100809362018091E80038
-:101160008B7753C08091E501813A09F052C080919C
-:10117000E9019091EA01892B09F04BC08091E800C8
-:10118000877F8093E8008091E80080FFFCCF80910A
-:101190000C0136C08091E5018132D9F58091E901D9
-:1011A0009091EA01892BA9F58091E800877F8093CF
-:1011B000E8000E94F60A8091E70180930C010C94EC
-:1011C000B9138091E501813221F58091E800877F94
-:1011D0008093E8000E94F60A8091E8018093630101
-:1011E00008958091E501813AA1F48091E800877F1C
-:1011F0008093E8008091E80080FFFCCF809163013C
-:101200008093F1008091E8008E778093E8000C9441
-:10121000F60A089584B7877F84BF0FB6F894A8951F
-:1012200080916000886180936000109260000FBE22
-:1012300090E080E80FB6F89480936100909361008D
-:101240000FBE0E949F0E0E94480B0E94A50B80912A
-:10125000E20084608093E20078940E94300E0E9445
-:10126000A10E82E091E00E944B0E0E94E42080914A
-:10127000E401853069F40E94181A8091E201882304
-:10128000B1F30E94421A882391F30E94A109EFCF83
-:101290000E94A70EECCF292F332723303105C9F048
-:1012A00060F42130310581F02230310509F041C070
-:1012B0008DE690E020E133E040C021323105E1F0DD
-:1012C0002232310531F135C082E190E02DE733E083
-:1012D00034C099278130910549F028F0029749F5EB
-:1012E000ECEDF2E005C0ECE0F3E002C0E4EFF2E088
-:1012F000849190E09F0121C06430D8F4E62FF0E0A3
-:10130000EE0FFF1FEE5DFE4F2081318189E090E0FE
-:1013100014C0643070F470E0FB01EE0FFF1FE65E56
-:10132000FE4F20813181FB01EA5EFE4F808190E01B
-:1013300004C080E090E020E030E0FA0131832083B7
-:10134000089580E189BD82E189BD09B400FEFDCF29
-:101350008091D8008F7D8093D8008091E0008260DA
-:101360008093E0008091E00081FDFCCF0895CF9252
-:10137000DF92EF92FF920F931F93CF93DF93EC01D5
-:101380008B016A010E94150B811133C0C114D10475
-:1013900039F0F60180819181081B190BC80FD91F04
-:1013A000E12CF12C0115110519F18091E80085FD62
-:1013B00016C08091E8008E778093E800C114D104B4
-:1013C00049F0F60180819181E80EF91EF182E082F8
-:1013D00085E00FC00E94150B882321F30AC0899174
-:1013E0008093F10001501109FFEFEF1AFF0ADACFE5
-:1013F00080E0DF91CF911F910F91FF90EF90DF90F0
-:10140000CF9008952091EB013091EC01261737071A
-:1014100048F06115710539F42091E8002E7720938A
-:10142000E80001C0B901FC0120E06115710579F106
-:101430008091E4018823F1F18530F1F18091E80099
-:1014400083FD3CC08091E80082FD2EC08091E800C1
-:1014500080FFEBCF2091F3008091F20090E0922B7F
-:101460006115710551F08830910538F42191209370
-:10147000F100615071090196F3CF21E0089709F05E
-:1014800020E08091E8008E778093E800CECF211194
-:10149000CFCF0AC08091E401882361F0853061F0EC
-:1014A0008091E80083FD0AC08091E80082FFF2CFBE
-:1014B00080E0089582E0089583E0089581E0089532
-:1014C0002091EB013091EC012617370748F06115A8
-:1014D000710539F42091E8002E772093E80001C0CF
-:1014E000B901FC0120E06115710591F18091E401E1
-:1014F000882309F440C0853009F43FC08091E8009A
-:1015000083FD3DC08091E80082FD2FC08091E800FE
-:1015100080FFE9CF2091F3008091F20090E0922BC0
-:101520006115710559F08830910540F4249120939C
-:10153000F1003196615071090196F2CF21E00897D0
-:1015400009F020E08091E8008E778093E800CBCF0F
-:101550002111CCCF0AC08091E401882361F085304D
-:1015600061F08091E80083FD0AC08091E80082FF6D
-:10157000F2CF80E0089582E0089583E0089581E04D
-:101580000895982F973068F59093E900981739F0EF
-:101590007091EC002091ED005091F00003C0242FD9
-:1015A000762F50E021FD02C09F5FECCF3091EB0021
-:1015B0003E7F3093EB003091ED003D7F3093ED00A6
-:1015C0003091EB0031603093EB007093EC0020938E
-:1015D000ED005093F0002091EE0027FDE5CF80E074
-:1015E00008958F708093E90081E008958091E5016E
-:1015F00087FF11C08091E80082FD05C08091E40161
-:101600008111F8CF11C08091E8008B770BC08091D9
-:10161000E401882349F08091E80080FFF8CF8091B1
-:10162000E8008E778093E80008952091E4003091DF
-:10163000E50095E64091EC00842F817040FF23C0C7
-:101640008091E80080FD1DC08091E401882399F01D
-:10165000853099F08091EB0085FD11C04091E40048
-:101660005091E5002417350729F3915011F09A01A4
-:10167000E1CF84E0089582E0089583E0089581E059
-:10168000089580E008954091E80042FFDDCF08957D
-:101690000E94B60B0E94BE0BE0EEF0E080818160FC
-:1016A0008083E8EDF0E080818F77808319BCA7ED1F
-:1016B000B0E08C918E7F8C9380818F7E808310929E
-:1016C000E30108950F931F93CF93DF930E94B60B0E
-:1016D0000E94BE0BC8EDD0E088818F778883888117
-:1016E0008068888388818F7D888319BC1092E4018B
-:1016F0001092E0011092E2011092E10100EE10E080
-:10170000F80180818B7F808388818160888342E0BB
-:1017100060E080E00E94C10AE1EEF0E080818E7F0F
-:101720008083E2EEF0E08081816080838081886048
-:101730008083F80180818E7F8083888180618883A7
-:10174000DF91CF911F910F910895E8EDF0E0808136
-:101750008F7E8083E7EDF0E080818160808384E08C
-:1017600082BF81E08093E3010C94620BE8EDF0E02E
-:1017700080818E7F80831092E20008951092DA00BB
-:101780001092E10008951F920F920FB60F9211244C
-:101790002F933F934F935F936F937F938F939F9379
-:1017A000AF93BF93EF93FF938091E10082FF0BC053
-:1017B0008091E20082FF07C08091E1008B7F8093DF
-:1017C000E1000E942F0E8091DA0080FF1FC08091FF
-:1017D000D80080FF1BC08091DA008E7F8093DA00F2
-:1017E0008091D90080FF0DC080E189BD82E189BD73
-:1017F00009B400FEFDCF81E08093E4010E94280837
-:1018000005C019BC1092E4010E9436088091E100E5
-:1018100080FF19C08091E20080FF15C08091E20036
-:101820008E7F8093E2008091E20080618093E200ED
-:101830008091D80080628093D80019BC85E08093A5
-:10184000E4010E943A088091E10084FF30C0809159
-:10185000E20084FF2CC080E189BD82E189BD09B42A
-:1018600000FEFDCF8091D8008F7D8093D8008091BD
-:10187000E1008F7E8093E1008091E2008F7E809373
-:10188000E2008091E20081608093E2008091E001BB
-:10189000882311F084E007C08091E30087FD02C037
-:1018A00081E001C083E08093E4010E943C088091C4
-:1018B000E10083FF29C08091E20083FF25C0809171
-:1018C000E100877F8093E10082E08093E401109241
-:1018D000E0018091E1008E7F8093E1008091E20041
-:1018E0008E7F8093E2008091E20080618093E2002D
-:1018F00042E060E080E00E94C10A8091F0008860D0
-:101900008093F0000E943908FF91EF91BF91AF9151
-:101910009F918F917F916F915F914F913F912F9107
-:101920000F900FBE0F901F9018951F920F920FB639
-:101930000F9211242F933F934F935F936F937F9355
-:101940008F939F93AF93BF93CF93DF93EF93FF93C7
-:10195000C091E900CF708091EC00D82FD17080FD4C
-:10196000D0E81092E9008091F000877F8093F0002A
-:1019700078940E94D90C1092E9008091F000886060
-:101980008093F000CD2BCF70C093E900FF91EF91D1
-:10199000DF91CF91BF91AF919F918F917F916F9187
-:1019A0005F914F913F912F910F900FBE0F901F901D
-:1019B00018951F93CF93DF93CDB7DEB7AA970FB6D5
-:1019C000F894DEBF0FBECDBFE5EEF1E08091F100EF
-:1019D000819321E0ED3EF207C9F70E9458088091FB
-:1019E000E80083FF24C18091E5019091E601492F31
-:1019F00050E04A30510508F01AC1FA01EA5AFF4F87
-:101A00000C948D22803881F0823809F010C18091C9
-:101A1000E9018F708093E9008091EB0085FB8827B6
-:101A200080F91092E90006C08091E1019091E201F5
-:101A3000911182609091E800977F9093E8008093E5
-:101A4000F1001092F100C8C0282F2D7F09F0EFC0DF
-:101A5000882319F0823061F0EAC08091E70181307B
-:101A600009F0E5C0933009F080E08093E2012BC0DB
-:101A70008091E701811127C08091E9018F7009F4FD
-:101A8000D6C08093E9002091EB0020FF1CC093306A
-:101A900021F48091EB00806214C09091EB00906182
-:101AA0009093EB0021E030E0A90102C0440F551FE4
-:101AB0008A95E2F74093EA001092EA008091EB00E9
-:101AC00088608093EB001092E9008091E800877FA6
-:101AD00086C08111ACC01091E7011F778091E300AF
-:101AE0008078812B8093E3008091E800877F80934A
-:101AF000E8000E94F60A8091E80080FFFCCF809108
-:101B0000E30080688093E300111102C082E001C00D
-:101B100083E08093E4018BC08058823008F087C056
-:101B20008091E7019091E8018C3D53E0950779F5AC
-:101B300083E08A838AE289834FB7F894DE011396A3
-:101B400020E03EE051E2E32FF0E050935700E491B3
-:101B500020FF03C0E295EF703F5FEF708E2F90E0A3
-:101B6000EA3010F0C79601C0C0968D939D932F5F09
-:101B7000243149F74FBF8091E800877F8093E800C8
-:101B80006AE270E0CE0101960E94020A14C0AE0122
-:101B90004F5F5F4F6091E9010E944B09BC01892BA7
-:101BA00009F445C09091E800977F9093E8008981FF
-:101BB0009A810E94600A8091E8008B778093E80008
-:101BC00036C08038A1F58091E800877F8093E800D7
-:101BD0008091E0018093F1008091E8008E778093FE
-:101BE000E8000E94F60A23C0811121C08091E7011C
-:101BF0009091E80199270297D4F48091E800877FBB
-:101C00008093E8008091E7018093E0010E94F60A4A
-:101C10008091E001811106C08091E30087FD02C040
-:101C200081E001C084E08093E4010E944408809137
-:101C3000E80083FF0AC08091E800877F8093E80076
-:101C40008091EB0080628093EB00AA960FB6F89427
-:101C5000DEBF0FBECDBFDF91CF911F9108950895D4
-:101C6000CF938091E4018823A1F0C091E900CF7067
-:101C70009091EC00892F817090FD80E8C82B109224
-:101C8000E9008091E80083FD0E94D90CCF70C093D9
-:101C9000E900CF91089590936901809368010895B8
-:101CA000E0916801F0916901309721F00190F08195
-:101CB000E02D099480E00895E0916801F0916901B8
-:101CC000309721F00280F381E02D09940895E0918E
-:101CD0006801F0916901309721F00480F581E02DD1
-:101CE00009940895209166013091670128173907FA
-:101CF00071F09093670180936601E0916801F09123
-:101D00006901309721F00680F781E02D099408954C
-:101D100020916401309165012817390771F0909383
-:101D2000650180936401E0916801F0916901309749
-:101D300021F00084F185E02D0994089508950C9414
-:101D40009E0E0E945C1A0E940E040C94221BCF92DD
-:101D5000DF92EF92FF920F931F93CF93DF93CDB754
-:101D6000DEB72B970FB6F894DEBF0FBECDBF0E9433
-:101D700026048BE6C82E81E0D82E00E010E0E02E8D
-:101D8000802F0E941C05F60141916F01F82EF42668
-:101D9000B1F40F5F1F4F0E30110589F78FEF898364
-:101DA0008A831B820E94651A8160782F9D838C83B1
-:101DB00049815A816B818D810E944A0F40C0909168
-:101DC000CC0191FF04C08B870E9422058B8520E007
-:101DD00030E04F2D50E0922FBA01022E02C07595CF
-:101DE00067950A94E2F760FF24C02E83EF8221E01A
-:101DF00030E0690102C0CC0CDD1C9A95E2F790E05E
-:101E00008C219D21892B09F420E028870E94651AE6
-:101E10008160782F9A8789874E815F8168858A855E
-:101E20000E944A0FF801E559FE4F8081C826C08202
-:101E300006C02F5F3F4F2630310569F6AACF0E94BA
-:101E4000091E0E94500E90916A018917A1F00E940C
-:101E5000500E80936A012B960FB6F894DEBF0FBE2A
-:101E6000CDBFDF91CF911F910F91FF90EF90DF9049
-:101E7000CF900C9446072B960FB6F894DEBF0FBE9A
-:101E8000CDBFDF91CF911F910F91FF90EF90DF9029
-:101E9000CF900895CF93DF93CDB7DEB72B970FB6D2
-:101EA000F894DEBF0FBECDBF4F83588769877A870E
-:101EB0008B87DE01119686E0FD0111928A95E9F784
-:101EC00085E0FE01379601900D928A95E1F74981F0
-:101ED0005A816B817C818D819E810E944D162B964B
-:101EE0000FB6F894DEBF0FBECDBFDF91CF9108953E
-:101EF000CF93C82F882309F4C1C0823859F40E94B7
-:101F0000500E81FDBBC089E30E94EA180E94A2190D
-:101F100089E30CC0833879F40E94500E80FDAEC076
-:101F200083E50E94EA180E94A21983E50E942919FC
-:101F3000CF910C94A219843859F40E94500E82FD5E
-:101F40009DC087E40E94EA180E94A21987E4EECFA0
-:101F50008CEF8C0F813A48F48C2F0E94492081111C
-:101F60008DC08C2F0E94EA18E3CF80E28C0F88305E
-:101F700048F4C77081E001C0880FCA95EAF70E9453
-:101F80006B19D6CF8BE58C0F833078F4C53A29F0E6
-:101F9000C63A31F083E890E005C081E890E002C0E5
-:101FA00082E890E0CF910C94720E88E58C0F83311B
-:101FB00008F064C0C83A39F1C93A41F1CA3A49F166
-:101FC000CB3A51F1CC3A59F1CD3A61F1C03B69F1CC
-:101FD000CE3A71F1CF3A79F1C13B81F1C23B89F13F
-:101FE000C33B91F1C43B99F1C53BA1F1C63BA9F1BB
-:101FF000C73BB1F1C83BB9F1C93BC1F1CA3BC9F11B
-:1020000080E090E038C082EE90E035C089EE90E04C
-:1020100032C08AEE90E02FC085EB90E02CC086EBBA
-:1020200090E029C087EB90E026C08CEC90E023C0C4
-:102030008DEC90E020C083E891E01DC08AE891E03B
-:102040001AC082E991E017C084E991E014C081E2EE
-:1020500092E011C083E292E00EC084E292E00BC0F5
-:1020600085E292E008C086E292E005C087E292E055
-:1020700002C08AE292E0CF910C94880ECF9108952D
-:10208000882309F44BC0823859F40E94500E81FF16
-:1020900045C089E30E94EA180E94A21989E30CC096
-:1020A000833871F40E94500E80FF38C083E50E948F
-:1020B000EA180E94A21983E50E9429190C94A2191A
-:1020C000843859F40E94500E82FF28C087E40E9491
-:1020D000EA180E94A21987E4EFCF9CEF980F913A7B
-:1020E00058F390E2980F983050F4877091E001C057
-:1020F000990F8A95EAF7892F0E947119DFCF9BE526
-:10210000980F933020F480E090E00C94720E885A7F
-:10211000833120F480E090E00C94880E08958823A9
-:1021200021F00E946B190C94A2190895882321F0C4
-:102130000E9471190C94A2190895BF92CF92DF9258
-:10214000EF92FF920F931F93CF93DF9300D000D0B5
-:1021500000D0CDB7DEB77C0185E0F701DE01119636
-:1021600001900D928A95E1F7F70183819481892B83
-:1021700009F4DDC2908181818F3F19F49F3F09F4FA
-:10218000D6C2F7010281258122952F7099838A8317
-:1021900089819A812E830E94A918182FB92E0E9436
-:1021A000A8180E946F17EB2DE295EF704E2F50E0AC
-:1021B000FA01E05AFF4F2E810C948D228B2D807FE7
-:1021C0009B2D9F70F92E882319F0F29480EFF8224E
-:1021D000002349F0FF2009F457C28F2D0E947B197C
-:1021E0000E94A21951C2812F0E944010FF2009F4C1
-:1021F0009EC28F2D0E94811926960FB6F894DEBFDD
-:102200000FBECDBFDF91CF911F910F91FF90EF9047
-:10221000DF90CF90BF900C94A2193B2D307F8B2D77
-:102220008F70303211F08295807F112319F01130B8
-:1022300021F12CC00023B9F0222309F490C12130F0
-:1022400009F08DC126960FB6F894DEBF0FBECDBF44
-:10225000DF91CF911F910F91FF90EF90DF90CF9082
-:10226000BF900C948B19222319F0213009F45FC21E
-:102270008E830E948E198E8186C1002321F0223028
-:1022800008F055C26CC1211152C27DC1002321F05A
-:10229000222309F464C1F8C1222309F474C109C2DC
-:1022A0008B2D86958695837019F08130D1F03FC2D1
-:1022B000002321F0812F9B2D937002C080E090E0DD
-:1022C00026960FB6F894DEBF0FBECDBFDF91CF913B
-:1022D0001F910F91FF90EF90DF90CF90BF900C94E3
-:1022E000720E002321F0812F9B2D937002C080E09D
-:1022F00090E026960FB6F894DEBF0FBECDBFDF91FB
-:10230000CF911F910F91FF90EF90DF90CF90BF90F2
-:102310000C94880E812F002319F00E94111D02C019
-:102320000E94791D26960FB6F894DEBF0FBECDBF72
-:10233000DF91CF911F910F91FF90EF90DF90CF90A1
-:10234000BF900C94FE1D8B2D837009F075C0011198
-:10235000EEC1812F829586958770880F880F912F07
-:102360009F70C92ED12CE12CF12C082E04C0CC0C6E
-:10237000DD1CEE1CFF1C0A94D2F714FF12C00FE004
-:1023800010E020E030E004C0000F111F221F331FB7
-:102390008A95D2F7C901B80160957095809590959E
-:1023A00003C060E070E0CB014B2D4695469543702D
-:1023B0004230C1F060F56C297D298E299F2941307A
-:1023C00051F126960FB6F894DEBF0FBECDBFDF9158
-:1023D000CF911F910F91FF90EF90DF90CF90BF9022
-:1023E0000C9496176C297D298E299F2926960FB665
-:1023F000F894DEBF0FBECDBFDF91CF911F910F913B
-:10240000FF90EF90DF90CF90BF900C94B2170E9496
-:102410009617C701B60126960FB6F894DEBF0FBE19
-:10242000CDBFDF91CF911F910F91FF90EF90DF9083
-:10243000CF90BF900C947A17002319F08B2D8170E8
-:1024400001C08695882309F472C1812F82958695F3
-:102450008770880F880F912F9F70C92ED12CE12C87
-:10246000F12C082E04C0CC0CDD1CEE1CFF1C0A94C1
-:10247000D2F714FF12C00FE010E020E030E004C0FB
-:10248000000F111F221F331F8A95D2F7C901B8010F
-:10249000609570958095909503C060E070E0CB01E9
-:1024A0004B2D4695469543704230C1F060F56C293E
-:1024B0007D298E299F29413051F126960FB6F89437
-:1024C000DEBF0FBECDBFDF91CF911F910F91FF9067
-:1024D000EF90DF90CF90BF900C9470186C297D29FD
-:1024E0008E299F2926960FB6F894DEBF0FBECDBF6A
-:1024F000DF91CF911F910F91FF90EF90DF90CF90E0
-:10250000BF900C948C180E947018C701B6012696D3
+:1004D000DAE0DEBFCDBF04B603FE24C08091F00198
+:1004E0009091F101A091F201B091F3018730904B0E
+:1004F000A740B04BB9F41092F0011092F1011092A4
+:10050000F2011092F30114BE84B7877F84BF88E1A3
+:100510000FB6F89480936000109260000FBEE0E088
+:10052000FFE3099511E0A0E0B1E0EAE1F8E402C0E0
+:1005300005900D92A433B107D9F711E0A4E3B1E01F
+:1005400001C01D92A03FB107E1F70E94E6090C949B
+:100550000B240C940000662319F06130F1F03DC0CB
+:10056000FC018281882341F00E94B51B90933501E4
+:100570008093340181EE1CC080913401909135014B
+:100580000E94C11B8634910534F486E20E94481013
+:1005900086E20E94101181EE1EC0FC018281882338
+:1005A00051F00E94B51B909335018093340185EE84
+:1005B0000E94481012C080913401909135010E9430
+:1005C000C11B8634910534F487E20E94481087E20B
+:1005D0000E94101185EE0E94101180E090E00895B5
+:1005E00008956091B3017091B4018091B50190912B
+:1005F000B6010E94131B56985E9825982D98269850
+:100600002E9827982F98813019F0823021F0089584
+:10061000259A2D9A0895269A2E9A08950C94F102FF
+:1006200056985E9825982D9826982E9827982F985A
+:100630008FEF90E0909389008093880090938B00D7
+:1006400080938A0090938D0080938C00259A2D9A38
+:100650002FEF80E792E0215080409040E1F700C00A
+:100660000000269A2E9A2FEF80E792E021508040DA
+:100670009040E1F700C00000279A2F9A2FEF80E703
+:1006800092E0215080409040E1F700C000002598A2
+:100690002D982FEF80E792E0215080409040E1F7C5
+:1006A00000C0000026982E982FEF80E792E021509E
+:1006B00080409040E1F700C0000027982F9856989E
+:1006C0005E9825982D9826982E9827982F9808950B
+:1006D00089EA8093800089E08093810024982C9897
+:1006E0003F988AB18F748AB96E98479A8BB1806BA4
+:1006F0008BB9769A0E9410030C94F00280E28093EA
+:1007000000018091360181110EC00E94CD0381E06D
+:10071000809336012FEF83ED90E32150804090408D
+:10072000E1F700C0000080E40E94D3038093000141
+:1007300081112EC00E94FD0380930001811128C009
+:100740000E94FD0380930001811122C08FE30E946B
+:10075000FD038093000181111BC00E94F50380E41A
+:100760000E94D30380930001811112C08CE00E948B
+:10077000FD038093000181110BC00E94FD03809353
+:100780000001811105C08FE30E94FD0380930001E9
+:100790000E94F5038091000108951092B9008AE04B
+:1007A0008093B800089594EA9093BC009091BC00A7
+:1007B00097FFFCCF9091B900987F983021F090314D
+:1007C00011F081E008958093BB0084E88093BC0021
+:1007D0008091BC0087FFFCCF8091B900887F883171
+:1007E00011F0803471F780E0089584E98093BC00B3
+:1007F0008091BC0084FDFCCF08958093BB0084E809
+:100800008093BC008091BC0087FFFCCF9091B90021
+:10081000987F81E0983209F480E0089584E880931D
+:10082000BC008091BC0087FFFCCF8091BB00089585
+:1008300080910001811115C080E40E94D303809350
+:10084000000181110CC082E10E94FD038093000130
+:10085000811105C08FEF0E94FD03809300010E946B
+:10086000F50384B1807F84B985B1807F85B98AB171
+:10087000837F8AB98BB1837F8BB93E984698089560
+:100880000E947E03809300010E94180480B38C7044
+:1008900080BB81B3836F81BBE6E4F1E0A8E3B1E004
+:1008A00011921D9281E0E435F807D1F70C946803AA
+:1008B000BF92CF92DF92EF92FF920F931F93CF934D
+:1008C000DF9380910001882379F0809137018F5F59
+:1008D00080933701811108C00E947E03809300013C
+:1008E000811102C00E94100308E311E0C0E0D0E0D3
+:1008F000DD24D39482E0C82EEE24E394F12CC7309B
+:1009000000F580910001811162C080E40E94D30350
+:1009100080930001811112C082E10E94FD03809347
+:10092000000181110BC0C7010C2E01C0880F0A9471
+:10093000EAF780950E94FD03809300010E94F50371
+:1009400046C0CA30A1F028F4C83059F0C93061F06F
+:1009500005C0CC3089F070F0CD3089F0209A28980D
+:1009600010C0219A29980DC0229A2A980AC0239A69
+:100970002B9807C0529A01C0539A5B9802C03E9AC6
+:100980004698E0EAEA95F1F78FB179995AC092E07A
+:1009900081708D25892B7C9B02C090E001C094E082
+:1009A000892B7D9B02C090E001C098E0892B7E9B43
+:1009B00002C090E001C090E1892B9FB19095991FF2
+:1009C0009927991F9295990F907E892B0FC080913E
+:1009D000000181114BC080E40E94D3038093000189
+:1009E000882389F1B12C0E94F5038B2DF8019081A9
+:1009F000981719F08083C09201010E941804219673
+:100A00000F5F1F4FCE30D10509F079CF80910101E2
+:100A1000882371F1815080930101882339F08FE997
+:100A20009FE00197F1F700C0000022C0A6E4B1E00A
+:100A3000E8E3F1E081918D9391E0E634F907D1F795
+:100A400017C090E0A5CF83E10E94FD0380930001D1
+:100A50008111C8CF81E40E94D303809300018111EA
+:100A6000C1CF0E940E04B82EB094BDCF80E0BECF9F
+:100A70000E940E0381E0DF91CF911F910F91FF90B3
+:100A8000EF90DF90CF90BF900895E82FF0E0EA5B01
+:100A9000FE4F808108950895089596E0799FF001B2
+:100AA000112494E5899FE00DF11D1124E60FF11D3D
+:100AB000EE0FFF1FEC51FF4F859194910895880F21
+:100AC000991F805A9040FC01859194910895880F58
+:100AD000991F80529F4FFC018591949108950F9327
+:100AE0001F93CF93DF93EC01811520E3920730F53C
+:100AF000811530E2930708F0B1C08B3B910588F473
+:100B0000883A910508F058C0853A910508F049C027
+:100B10008430910508F043C08130910509F4B2C1D9
+:100B2000AEC18F3F910509F0D0F5803F910508F0E7
+:100B300092C0805E9109089790F1A1C1C11581E52D
+:100B4000D807A8F4C23090E5D90708F09FC0C115B6
+:100B500020E5D20709F486C008F092C0C11580E4F0
+:100B6000D80708F08CC18E011127106CCCC1C115BB
+:100B700090E8D90758F4C11520E7D20708F07BC1E7
+:100B8000C11530E6D30708F423C179C1C11580E946
+:100B9000D80708F074C18E011F70106AB4C18E01AD
+:100BA000B2C1853A910509F470C1863A910509F4FC
+:100BB0006FC103E810E4A7C1883A910509F46BC13D
+:100BC000893A910509F46AC18A3A910509F469C123
+:100BD0008B3A910509F468C18C3A910509F467C113
+:100BE0008D3A910509F466C1803B910509F465C110
+:100BF0008E3A910509F464C18F3A910509F463C1F5
+:100C0000813B910509F462C1823B910509F461C100
+:100C1000833B910509F460C1843B910509F45FC1F0
+:100C2000853B910509F45EC1863B910509F45DC1E0
+:100C3000873B910509F45CC1883B910509F45BC1D0
+:100C4000893B910509F45AC18A3B910509F059C1C4
+:100C50000AE216E458C18C01106555C19F700E94CC
+:100C6000670552C10E94A2149FEF24E33CE091501B
+:100C700020403040E1F700C000000E940F1C43C13B
+:100C80008091CF0181608093CF013DC10E94B71D4B
+:100C9000811102C00E949D1D0E94D41D90E090937E
+:100CA000F0018093EF01C23080E5D80721F48091F4
+:100CB000EF01816086C0C43090E5D90721F48091AE
+:100CC000EF0182607EC0C63020E5D20721F480911A
+:100CD000EF01846076C0C83030E5D30719F4809105
+:100CE000EF0127C0CA3080E5D80721F48091EF01D9
+:100CF000806167C0CC3090E5D90721F48091EF0185
+:100D000080625FC0CE3020E5D20721F48091EF01F0
+:100D1000806457C0C03130E5D30721F48091EF01E2
+:100D200080684FC0C23180E5D80729F48091EF0177
+:100D30008460886046C0C33090E5D90721F4809173
+:100D4000EF018E7F3EC0C53020E5D20721F48091AF
+:100D5000EF018D7F36C0C73030E5D30721F4809195
+:100D6000EF018B7F2EC0C93080E5D80719F4809140
+:100D7000EF0126C0CB3090E5D90721F48091EF0137
+:100D80008F7E1FC0CD3020E5D20721F48091EF0186
+:100D90008F7D17C0CF3030E5D30721F48091EF016C
+:100DA0008F7B0FC0C13180E5D80721F48091EF011E
+:100DB0008F7707C0C331D04531F48091EF018B7F2D
+:100DC000877F8093EF018091EF010E94D81D9BC027
+:100DD0008D2F99278F70992781309105E9F48E0125
+:100DE000037011279C0102C0220F331F0A95E2F7FE
+:100DF00089011C68CE0164E0880F991F6A95E1F7AC
+:100E000088279370082B192B73E0CC0FDD1F7A9580
+:100E1000E1F7C076DD272CC08230910529F41C2F24
+:100E20000027016F106A6FC08330910561F4CE0115
+:100E30008370992701E010E002C0000F111F8A950E
+:100E4000E2F71C680EC0049709F05DC0CE01837004
+:100E5000992701E010E002C0000F111F8A95E2F708
+:100E60001A6843E0CC0FDD1F4A95E1F7C07ED770CA
+:100E70000C2B1D2B48C08E011F70106244C000E077
+:100E800010E041C001E010E03EC001E810E43BC0CA
+:100E900002E810E438C002EE14E435C009EE14E4B0
+:100EA00032C00AEE14E42FC005EB14E42CC006EBAC
+:100EB00014E429C007EB14E426C00CEC14E423C0AE
+:100EC0000DEC14E420C003E815E41DC00AE815E4A5
+:100ED0001AC002E915E417C004E915E414C001E2E0
+:100EE00016E411C003E216E40EC004E216E40BC0DF
+:100EF00005E216E408C006E216E405C007E216E4BF
+:100F000002C000E014E4C801DF91CF911F910F915E
+:100F1000089596E0799FF001112494E5899FE00DF2
+:100F2000F11D1124E60FF11DEE0FFF1FEC51FF4FD5
+:100F300085919491803E9105E0F4803C910558F5AF
+:100F40008133910509F46FC048F48932910509F4A1
+:100F500063C08A32910509F46DC072C0893391056E
+:100F6000E9F082389105D1F08533910509F44DC03F
+:100F700067C0833E910581F138F4803E9105B9F058
+:100F8000823E9105D9F05CC0863E910561F1873EB5
+:100F90009105A1F155C00E945F0508952091EF01D0
+:100FA00020FD02C021FF4CC080EE90E049C080913E
+:100FB000EF0180FFF9CF89E390E042C08091EF011B
+:100FC00082FF0EC08091EF0184FF03C080E090E0BB
+:100FD00037C083EE90E034C08091EF0182FFF2CF02
+:100FE00082EE90E02DC08091EF0183FF0BC08091D5
+:100FF000EF0184FDEBCF87EE90E022C08091EF01FE
+:1010000083FFF5CF86EE90E01BC08091EF0185FF56
+:1010100007C089E290E014C08091EF0185FFF9CF0D
+:1010200085E390E00DC08091EF0186FF07C08AE262
+:1010300090E006C08091EF0186FFF9CF81E390E058
+:101040000E946F05089508950C942308809164010F
+:101050000895CF93DF9300D01F92CDB7DEB72091D4
+:10106000E601243019F523E029839B838A832093AA
+:10107000E9008FEF9091E800815095FD06C095ED55
+:101080009A95F1F700008111F5CF8091E80085FF76
+:101090000DC040E050E063E070E0CE0101960E9498
+:1010A000930A8091E8008E778093E8000F900F906C
+:1010B0000F90DF91CF910895CF93DF9300D01F92CF
+:1010C000CDB7DEB72091E601243021F522E0298357
+:1010D0009B838A8383E08093E9008FEF9091E800FF
+:1010E000815095FD06C095ED9A95F1F700008111AC
+:1010F000F5CF8091E80085FF0DC040E050E063E04F
+:1011000070E0CE0101960E94930A8091E8008E77EC
+:101110008093E8000F900F900F90DF91CF9108958A
+:101120002091E6012430F1F422E02093E9002FEF32
+:101130003091E800215035FD06C035ED3A95F1F7C4
+:1011400000002111F5CF2091E80025FF0BC040E001
+:1011500050E065E070E00E94930A8091E8008E778D
+:101160008093E8000895CF93DF93EC018091E6012E
+:10117000843009F046C090910C019923D9F09091E8
+:101180000D019923B9F08093E9008FEF9091E80069
+:10119000815095FD06C095E19A95F1F70000811107
+:1011A000F5CF8091E80085FF2CC040E050E060E181
+:1011B00070E017C081E08093E9008FEF9091E80024
+:1011C000815095FD06C095ED9A95F1F700008111CB
+:1011D000F5CF8091E80085FF14C040E050E068E062
+:1011E00070E0CE010E94930A8091E8008E77809390
+:1011F000E80080E1FE01A4E5B1E001900D928A953E
+:10120000E1F7DF91CF9108958091E501811109C047
+:101210000E94250C0E94820C8091E20084608093E1
+:10122000E20008951092E501089508950C94332288
+:101230000E94A61B0E9439220E941F0F0C942408B2
+:1012400042E061EC81E00E949F0B42E061EC82E0B1
+:101250000E949F0B42E061EC83E00E949F0B42E101
+:1012600061EC84E00C949F0B8091E801833009F4D9
+:1012700055C030F4813071F0823009F48EC0089589
+:101280008A3009F47AC08B3009F460C0893009F0E3
+:101290009CC020C08091E701813A09F096C08091FE
+:1012A000E800877F8093E8008091EB019091EC014A
+:1012B000892B21F060E080E090E003C060E184E5EC
+:1012C00091E070E00E94DC0A8091E8008B778093C7
+:1012D000E80008958091E701813209F076C080919D
+:1012E000EB019091EC01009719F0039709F06DC0A4
+:1012F0008091E800877F8093E8008091E80082FD7C
+:1013000005C08091E6018111F8CF5FC08091F100A6
+:10131000809364018091E8008B7753C08091E7014E
+:10132000813A09F052C08091EB019091EC01892B38
+:1013300009F04BC08091E800877F8093E80080919E
+:10134000E80080FFFCCF80910C0136C08091E7015E
+:101350008132D9F58091EB019091EC01892BA9F5AF
+:101360008091E800877F8093E8000E94D40B8091F1
+:10137000E90180930C010C94A2148091E701813261
+:1013800021F58091E800877F8093E8000E94D40BCC
+:101390008091EA018093650108958091E701813A87
+:1013A000A1F48091E800877F8093E8008091E800B5
+:1013B00080FFFCCF809165018093F1008091E8006F
+:1013C0008E778093E8000C94D40B089584B7877FC0
+:1013D00084BF88E10FB6F89480936000109260009B
+:1013E0000FBE90E080E80FB6F89480936100909370
+:1013F00061000FBE0E946E0F0E94250C0E94820C9D
+:101400008091E20084608093E20078940E94FD0E57
+:101410000E94700F82E091E00E941A0F0E94212228
+:101420008091E601853069F40E94661B8091E40199
+:101430008823B1F30E94911B882391F30E947D0AB7
+:10144000EFCF0E94760FECCF292F332723303105C1
+:10145000A9F06CF42130310509F442C02230310585
+:1014600009F043C08DE690E020E133E042C0213234
+:101470003105C9F02232310519F137C09927813081
+:10148000910541F08230910541F0892B71F5ECE036
+:10149000F3E005C0E4EFF2E002C0ECEDF2E084918D
+:1014A00090E09F0126C0643000F5E62FF0E0EE0FDB
+:1014B000FF1FEE5DFE4F2081318189E090E019C071
+:1014C000643098F4E62FF0E0DF01AA0FBB1FA65EA0
+:1014D000BE4F2D913C91EA5EFE4F808190E009C0A5
+:1014E00082E190E02DE733E004C080E090E020E06E
+:1014F00030E0FA0131832083089580E189BD82E1E3
+:1015000089BD09B400FEFDCF8091D8008F7D809306
+:10151000D8008091E00082608093E0008091E0003C
+:1015200081FDFCCF0895CF92DF92EF92FF920F934F
+:101530001F93CF93DF937C018B01EA010E94F50B8F
+:10154000811131C0209731F088819981081B190BD6
+:10155000E80EF91EC12CD12C0115110519F180914D
+:10156000E80085FD14C08091E8008E778093E80044
+:10157000209741F0888199818C0D9D1D99838883E6
+:1015800085E011C00E94F50B882331F30CC0F701F0
+:1015900081917F018093F10001501109FFEFCF1A73
+:1015A000DF0ADACF80E0DF91CF911F910F91FF909A
+:1015B000EF90DF90CF9008952091ED013091EE01F2
+:1015C0002617370748F06115710539F42091E800B6
+:1015D0002E772093E80001C0B901FC0120E06115DD
+:1015E0007105B9F18091E601882309F440C0853086
+:1015F00009F43FC08091E80083FD3DC08091E80080
+:1016000082FF06C08091E80082FF26C080E0089536
+:101610008091E80080FFE3CF2091F3008091F200F9
+:1016200090E0922B6115710551F08830910538F4E6
+:1016300021912093F100615071090196F3CF21E0CF
+:10164000089709F020E08091E8008E778093E80009
+:10165000C6CF2111C7CFD6CF8091E601882339F0BC
+:10166000853039F08091E80083FFCCCF04C082E060
+:10167000089583E0089581E008952091ED0130916F
+:10168000EE012617370748F06115710539F42091EE
+:10169000E8002E772093E80001C0B901FC0120E0AA
+:1016A00061157105C1F18091E601882309F441C0FB
+:1016B000853009F440C08091E80083FD3EC08091F0
+:1016C000E80082FF06C08091E80082FF27C080E02A
+:1016D00008958091E80080FFE3CF2091F30080918E
+:1016E000F20090E0922B6115710559F08830910558
+:1016F00040F424912093F1003196615071090196D4
+:10170000F2CF21E0089709F020E08091E8008E7781
+:101710008093E800C5CF2111C6CFD5CF8091E601D7
+:10172000882339F0853039F08091E80083FFCBCFF2
+:1017300004C082E0089583E0089581E00895982F21
+:10174000973058F59093E900981739F07091EC00B4
+:101750002091ED005091F00003C0242F762F50E02F
+:1017600021FF19C03091EB003E7F3093EB003091A8
+:10177000ED003D7F3093ED003091EB003160309310
+:10178000EB007093EC002093ED005093F00020915B
+:10179000EE0027FF07C09F5FD3CF8F708093E900D3
+:1017A00081E0089580E008958091E70187FD05C0FC
+:1017B0008091E80080FF0EC012C08091E80082FD99
+:1017C00005C08091E6018111F8CF08958091E8006D
+:1017D0008B7708C08091E6018111EACF089580914E
+:1017E000E8008E778093E80008958091E40090915E
+:1017F000E50045E62091EC0020FF21C02091E800A3
+:1018000020FD21C02091E601222389F0253089F0B6
+:101810002091EB0025FD0FC02091E4003091E50000
+:101820002817390739F3415041F0C901E3CF82E06D
+:10183000089583E0089581E0089584E0089520915B
+:10184000E80022FFDFCF80E008950E94930C0E9401
+:101850009B0CE0EEF0E0808181608083E8EDF0E0B9
+:1018600080818F77808319BCA7EDB0E08C918E7F4B
+:101870008C9380818F7E80831092E50108950F9371
+:101880001F93CF93DF930E94930C0E949B0CC8ED93
+:10189000D0E088818F778883888180688883888179
+:1018A0008F7D888319BC1092E6011092E20110929C
+:1018B000E4011092E30100EE10E0F80180818B7FDB
+:1018C000808388818160888342E060E080E00E94BC
+:1018D0009F0BE1EEF0E080818E7F8083E2EEF0E00E
+:1018E000808181608083808188608083F80180812D
+:1018F0008E7F8083888180618883DF91CF911F9163
+:101900000F910895E8EDF0E080818F7E8083E7ED10
+:10191000F0E080818160808384E082BF81E08093F9
+:10192000E5010C943F0CE8EDF0E080818E7F808330
+:101930001092E20008951092DA001092E1000895EA
+:101940001F920F920FB60F9211242F933F934F9334
+:101950005F936F937F938F939F93AF93BF93EF9317
+:10196000FF938091E10082FF0BC08091E20082FF33
+:1019700007C08091E1008B7F8093E1000E94FC0E04
+:101980008091DA0080FF1FC08091D80080FF1BC0CB
+:101990008091DA008E7F8093DA008091D90080FFF9
+:1019A0000DC080E189BD82E189BD09B400FEFDCF93
+:1019B00081E08093E6010E94040905C019BC1092E1
+:1019C000E6010E9412098091E10080FF19C0809118
+:1019D000E20080FF15C08091E2008E7F8093E200DC
+:1019E0008091E20080618093E2008091D800806263
+:1019F0008093D80019BC85E08093E6010E94160907
+:101A00008091E10084FF30C08091E20084FF2CC00F
+:101A100080E189BD82E189BD09B400FEFDCF8091DE
+:101A2000D8008F7D8093D8008091E1008F7E8093D5
+:101A3000E1008091E2008F7E8093E2008091E200DD
+:101A400081608093E2008091E201882311F084E0BC
+:101A500007C08091E30087FF02C083E001C081E0FE
+:101A60008093E6010E9418098091E10083FF29C05C
+:101A70008091E20083FF25C08091E100877F809301
+:101A8000E10082E08093E6011092E2018091E100A2
+:101A90008E7F8093E1008091E2008E7F8093E20050
+:101AA0008091E20080618093E20042E060E080E0AB
+:101AB0000E949F0B8091F00088608093F0000E944C
+:101AC0001509FF91EF91BF91AF919F918F917F91F8
+:101AD0006F915F914F913F912F910F900FBE0F909B
+:101AE0001F9018951F920F920FB60F9211242F93EB
+:101AF0003F934F935F936F937F938F939F93AF9396
+:101B0000BF93CF93EF93FF93C091E900CF70809183
+:101B1000EC001092E9008091F000877F8093F00044
+:101B200078940E94AE0D1092E9008091F0008860D8
+:101B30008093F000C093E900FF91EF91CF91BF91A6
+:101B4000AF919F918F917F916F915F914F913F9155
+:101B50002F910F900FBE0F901F9018951F93CF934A
+:101B6000DF93CDB7DEB7AA970FB6F894DEBF0FBEEE
+:101B7000CDBFE7EEF1E08091F100819321E0EF3EEF
+:101B8000F207C9F70E9434098091E80083FF1CC165
+:101B90002091E7013091E801832F90E08A30910590
+:101BA00008F012C1FC01EA5AFF4F0C94BB23203805
+:101BB00081F0223809F008C18091EB018F70809389
+:101BC000E9008091EB0085FB882780F91092E900FD
+:101BD00006C08091E3019091E4019111826090919F
+:101BE000E800977F9093E8008093F1001092F10055
+:101BF000C5C0822F8D7F09F0E7C0222319F0223063
+:101C000061F0E2C08091E901813009F0DDC033303C
+:101C100009F080E08093E40128C08091E9018111FE
+:101C200024C02091EB012F7009F4CEC02093E9006D
+:101C30008091EB0080FF19C08091EB00333011F4EC
+:101C4000806211C080618093EB0081E090E0022E01
+:101C500001C0880F0A94EAF78093EA001092EA0024
+:101C60008091EB0088608093EB001092E9008091F6
+:101C7000E800877F86C02111A7C01091E9011F7776
+:101C80008091E3008078812B8093E3008091E800CD
+:101C9000877F8093E8000E94D40B8091E80080FF4A
+:101CA000FCCF8091E30080688093E300112311F062
+:101CB00083E001C082E08093E60186C02058223094
+:101CC00008F082C08091E9019091EA018C3D23E007
+:101CD000920779F583E08A838AE289834FB7F89483
+:101CE000DE01139620E03EE051E2E32FF0E0509356
+:101CF0005700E49120FF03C0E295EF703F5FEF7063
+:101D00008E2F90E0EA3010F0C79601C0C0968D93F8
+:101D10009D932F5F243149F74FBF8091E800877F63
+:101D20008093E8006AE270E0CE0101960E94DC0A2E
+:101D300014C0AE014F5F5F4F6091EB010E94240A17
+:101D4000009709F441C02091E800277F2093E80024
+:101D5000BC0189819A810E943D0B8091E8008B77BC
+:101D60008093E80031C0203879F58091E800877FC2
+:101D70008093E8008091E2018093F1008091E80077
+:101D80008E778093E8000E94D40B1EC021111CC0E6
+:101D90009091E9019230C0F48091E800877F8093B0
+:101DA000E8009093E2010E94D40B8091E20181113E
+:101DB00004C08091E30087FF02C084E001C081E09D
+:101DC0008093E6010E9420098091E80083FF0AC009
+:101DD0008091E800877F8093E8008091EB0080622B
+:101DE0008093EB00AA960FB6F894DEBF0FBECDBF6E
+:101DF000DF91CF911F9108950895CF938091E601CF
+:101E00008823B1F08091E9008F709091EC0090FFF1
+:101E100002C090E801C090E0C92FC82B1092E900E1
+:101E20008091E80083FD0E94AE0DCF70C093E90061
+:101E3000CF91089590936B0180936A010895E0918A
+:101E40006A01F0916B01309721F00190F081E02D53
+:101E5000099480E00895E0916A01F0916B01309758
+:101E600021F00280F381E02D09940895E0916A0148
+:101E7000F0916B01309721F00480F581E02D0994F9
+:101E8000089520916801309169018217930771F0DC
+:101E90009093690180936801E0916A01F0916B0170
+:101EA000309721F00680F781E02D09940895209164
+:101EB0006601309167018217930771F09093670173
+:101EC00080936601E0916A01F0916B01309721F0F7
+:101ED0000084F185E02D0994089508950C946D0F08
+:101EE0000E94AC1B0E9440040C94721CCF92DF92A3
+:101EF000EF92FF920F931F93CF93DF93CDB7DEB78F
+:101F00002B970FB6F894DEBF0FBECDBF0E945804CA
+:101F10003DE6E32E31E0F32E00E010E0C02E802FEE
+:101F20000E944505F701D1907F01D826B1F40F5FDB
+:101F30001F4F0E30110591F78FEF89838A831B8223
+:101F40000E94B51B8160782F9D838C8349815A81C3
+:101F50006B818D810E94191041C09091CF0191FF3A
+:101F600004C08B870E944B058B8520E030E04D2D0F
+:101F700050E0922FBA01022E02C0759567950A941F
+:101F8000E2F760FF25C02E83CF82EE24E394F12C8C
+:101F900002C0EE0CFF1C9A95E2F790E08E219F2183
+:101FA00021E0892B09F420E028870E94B51B81607D
+:101FB000782F9A8789874E815F8168858A850E94FC
+:101FC0001910F801E359FE4F80818E25808306C0E9
+:101FD0002F5F3F4F2630310561F6A9CF0E94561F73
+:101FE00010916C010E941F0F1817A1F00E941F0F83
+:101FF00080936C012B960FB6F894DEBF0FBECDBF59
+:10200000DF91CF911F910F91FF90EF90DF90CF90D4
+:102010000C9424082B960FB6F894DEBF0FBECDBFEC
+:10202000DF91CF911F910F91FF90EF90DF90CF90B4
+:102030000895CF93DF93CDB7DEB72B970FB6F89403
+:10204000DEBF0FBECDBF4F83588769877A878B87E6
+:10205000DE01119686E0FD0111928A95E9F785E08F
+:10206000FE01379601900D928A95E1F749815A81D8
+:102070006B817C818D819E810E946E172B960FB69D
+:10208000F894DEBF0FBECDBFDF91CF9108950895C4
+:10209000CF93C82F882309F4C1C0823859F40E9415
+:1020A0001F0F81FDBBC089E30E941A1A0E94E41A27
+:1020B00089E30CC0833879F40E941F0F80FDAEC005
+:1020C00083E50E941A1A0E94E41A83E50E945A1AB4
+:1020D000CF910C94E41A843859F40E941F0F82FDAA
+:1020E0009DC087E40E941A1A0E94E41A87E4EECF8A
+:1020F0008CEF8C0F813A48F48C2F0E94892181113A
+:102100008DC08C2F0E941A1AE3CF80E28C0F88308A
+:1021100048F4C77081E001C0880FCA95EAF70E94B1
+:102120009B1AD6CF8BE58C0F833078F4C53A29F013
+:10213000C63A31F482E890E005C081E890E002C040
+:1021400083E890E0CF910C94410F88E58C0F8331A8
+:1021500008F064C0C83A39F1C93A41F1CA3A49F1C4
+:10216000CB3A51F1CC3A59F1CD3A61F1C03B69F12A
+:10217000CE3A71F1CF3A79F1C13B81F1C23B89F19D
+:10218000C33B91F1C43B99F1C53BA1F1C63BA9F119
+:10219000C73BB1F1C83BB9F1C93BC1F1CA3BC9F575
+:1021A0008AE292E038C082EE90E035C089EE90E09D
+:1021B00032C08AEE90E02FC085EB90E02CC086EB19
+:1021C00090E029C087EB90E026C08CEC90E023C023
+:1021D0008DEC90E020C083E891E01DC08AE891E09A
+:1021E0001AC082E991E017C084E991E014C081E24D
+:1021F00092E011C083E292E00EC084E292E00BC054
+:1022000085E292E008C086E292E005C087E292E0B3
+:1022100002C080E090E0CF910C94570FCF910895C9
+:10222000882309F44BC0823859F40E941F0F81FFA4
+:1022300045C089E30E941A1A0E94E41A89E30CC07F
+:10224000833871F40E941F0F80FF38C083E50E941D
+:102250001A1A0E94E41A83E50E945A1A0C94E41A8E
+:10226000843859F40E941F0F82FF28C087E40E941F
+:102270001A1A0E94E41A87E4EFCF9CEF980F913A64
+:1022800058F390E2980F983050F4877091E001C0B5
+:10229000990F8A95EAF7892F0E94A11ADFCF9BE553
+:1022A000980F933020F480E090E00C94410F885A0E
+:1022B000833120F480E090E00C94570F0895882338
+:1022C00021F00E949B1A0C94E41A0895882321F0AF
+:1022D0000E94A11A0C94E41A0895CF92DF92EF9213
+:1022E000FF920F931F93CF93DF93CDB7DEB728975D
+:1022F0000FB6F894DEBF0FBECDBF8C0185E0F801AC
+:10230000DE01119601900D928A95E1F7F801D080D7
+:10231000E180F280558152955F7023813481232BB7
+:1023200039F0FFEFEF1206C081E0DF1203C003C0F7
+:1023300081E001C080E080FDE2C2C8015F830E94AD
+:102340004710D982EA8269817A818F2D0E94161AFC
+:102350009E8388870E94CA190E949D184E815F81C2
+:102360006885FF2029F00E94B81A68855F814E8138
+:10237000E42FE295EF70F0E0E05AFF4F0C94BB239E
+:10238000842F807F142F1F70882311F01295107FE7
+:10239000FF20B1F0112309F467C280E2860F883074
+:1023A00028F4812F68870E949B1A04C0812F6887B8
+:1023B0000E94AB1A688568870E94E41A688554C237
+:1023C000862F68870E9410116885112309F497C22F
+:1023D000605E812F683018F40E94A11A02C00E942A
+:1023E000B11A28960FB6F894DEBF0FBECDBFDF91AD
+:1023F000CF911F910F91FF90EF90DF90CF900C94B1
+:10240000E41A242F207F842F8F70203211F08295C0
+:10241000807F662319F0613019F12BC0FF20B1F0E5
+:10242000552309F493C1513009F090C128960FB695
+:10243000F894DEBF0FBECDBFDF91CF911F910F91FA
+:10244000FF90EF90DF90CF900C94CB1A552319F0AA
+:10245000513009F454C28E830E94CE1A8E8189C1F4
+:10246000FF2021F0523008F04AC270C1511147C21A
+:1024700080C1FF2021F0552309F468C1F5C155231F
+:1024800009F477C105C2242F26952695237030E0E4
+:102490002115310521F021303105C9F030C2FF206E
+:1024A00021F0862F942F937002C080E090E0289650
+:1024B0000FB6F894DEBF0FBECDBFDF91CF911F9155
+:1024C0000F91FF90EF90DF90CF900C94410FFF2081
+:1024D00021F0862F942F937002C080E090E0289620
+:1024E0000FB6F894DEBF0FBECDBFDF91CF911F9125
+:1024F0000F91FF90EF90DF90CF900C94570F862FA5
+:10250000FF2019F00E945E1E02C00E94C61E28967F
:102510000FB6F894DEBF0FBECDBFDF91CF911F91F4
-:102520000F91FF90EF90DF90CF90BF900C945418D4
-:10253000103FD1F118F4103E50F4A1C0123F09F43D
-:1025400063C008F44CC0133F09F473C098C01F70F7
-:102550008B2D8F710023A1F00E94ED17812F2696FD
-:102560000FB6F894DEBF0FBECDBFDF91CF911F91A4
-:102570000F91FF90EF90DF90CF90BF900C948F1051
-:102580000E940E18812F26960FB6F894DEBF0FBE5C
-:10259000CDBFDF91CF911F910F91FF90EF90DF9012
-:1025A000CF90BF900C9496100023A9F02111BFC0CA
-:1025B0008B2D8F7126960FB6F894DEBF0FBECDBF60
-:1025C000DF91CF911F910F91FF90EF90DF90CF900F
-:1025D000BF900C943318223008F0A9C0E9CF002333
-:1025E000A9F08B2D8F7126960FB6F894DEBF0FBE23
-:1025F000CDBFDF91CF911F910F91FF90EF90DF90B2
-:10260000CF90BF900C94ED17002359F38B2D8F7151
-:1026100026960FB6F894DEBF0FBECDBFDF91CF91E7
-:102620001F910F91FF90EF90DF90CF90BF900C948F
-:102630000E18002399F08B2D8F7126960FB6F89403
-:10264000DEBF0FBECDBFDF91CF911F910F91FF90E5
-:10265000EF90DF90CF90BF900C94D81726960FB6CE
-:10266000F894DEBF0FBECDBFDF91CF911F910F91C8
-:10267000FF90EF90DF90CF90BF900C94CE17002387
-:10268000A9F0222309F4ADCF812F26960FB6F89436
-:10269000DEBF0FBECDBFDF91CF911F910F91FF9095
-:1026A000EF90DF90CF90BF900C94780F222309F425
-:1026B000ADCF812F26960FB6F894DEBF0FBECDBFEB
-:1026C000DF91CF911F910F91FF90EF90DF90CF900E
-:1026D000BF900C9440104B2D4F70612FC7010E948A
-:1026E000AE0226960FB6F894DEBF0FBECDBFDF91C7
-:1026F000CF911F910F91FF90EF90DF90CF90BF90FF
-:102700000C94F2164B2D4F70612FC70126960FB611
-:10271000F894DEBF0FBECDBFDF91CF911F910F9117
-:10272000FF90EF90DF90CF90BF900C94E30526963A
-:102730000FB6F894DEBF0FBECDBFDF91CF911F91D2
-:102740000F91FF90EF90DF90CF90BF9008950E947F
-:1027500088190E945D190E94A2190E94AE1E0E9453
-:10276000FE1D80E090E00E94720E80E090E00C94EC
-:10277000880E0E9478190C94A7130E94A918292F7B
-:1027800022952F702C3030F42A3048F42250223019
-:1027900078F405C02C3041F02F3031F009C0803E74
-:1027A00048F0803F29F406C093FB882780F90895FC
-:1027B00080E0089581E00895CF93DF9300D000D0AA
-:1027C0001F92CDB7DEB70F900F900F900F900F9024
-:1027D000DF91CF910895CF93DF9300D000D000D048
-:1027E000CDB7DEB726960FB6F894DEBF0FBECDBFCD
-:1027F000DF91CF9108951F93CF93DF93C09179011B
-:1028000016E080917A01C81799F0D0E01C9FF00182
-:102810001D9FF00D1124E558FE4F408151816281CA
-:102820007381848195810E94EB132196C770E9CF53
-:10283000DF91CF911F9108954091AB015091AC0170
-:102840006091AD017091AE018091AF019091B001A6
-:102850000C94EB138091B00182958F7009F054C0F5
-:102860008091AD01882309F44FC080917901A09136
-:102870007A014091AE015091AF016091AB0170912E
-:10288000AC01B6E08A1709F43FC090E0411551054C
-:10289000C1F17F3F11F46F3FA1F1B89FF001B99FE3
-:1028A000F00D1124E558FE4F218127132AC0208105
-:1028B000261327C02281211124C0238134812417AB
-:1028C000350710F421503109241B350B283C310504
-:1028D000C0F42091B0012F7020612093B00126E058
-:1028E000289FF001299FF00D1124E058FE4F8081B0
-:1028F0008F70806180838BEA91E00E949D100C9420
-:10290000FB1301968770BECF0895CF92DF92EF92AE
-:10291000FF920F931F93CF93DF93CDB7DEB76297EC
-:102920000FB6F894DEBF0FBECDBF8C0185E0F80175
-:10293000DE011D9601900D928A95E1F7D8014C9128
-:1029400011965C91119712966C918091AE019091C5
-:10295000AF01009709F475C13091AB017091AC01E2
-:102960007F3F19F43F3F09F46CC1F801C380D48064
-:10297000E090AD01EE2009F4BEC02091B001C81670
-:10298000D90628F0D601A81BB90BCD0104C080954B
-:1029900090958C0D9D1DFF24F394883C910578F053
-:1029A000F12C207F09F0C4C07C2DD98AC88A89897E
-:1029B0000E94DC138BEA91E00E949D10AFC0822F31
-:1029C000807F09F045C0571313C0431311C0611134
-:1029D0000FC02F7020612093B0010E941C148BEA5D
-:1029E00091E00E949D108091B001F80185832EC076
-:1029F000CD2819F15F3F11F44F3FF9F0F62E611128
-:102A00001CC08091790120917A0136E0821709F487
-:102A10005BC090E0389FF001399FF00D1124E5581C
-:102A2000FE4F7181571306C07081471303C0728136
-:102A3000711103C001968770E9CFF62E662309F461
-:102A40001CC18091B00181608093B001F12C15C14F
-:102A5000571309C0431307C0611105C08091B0012D
-:102A6000F8018583C8C04D875E878D859E856A8BFA
-:102A70000E94BD136A898823D1F16623C1F1209198
-:102A8000B001822F82958F7090E0029774F0809150
-:102A9000AB019091AC0198878F831986DB86CA863B
-:102AA0002C87CE0107960E949D1086E0F801ABEAC4
-:102AB000B1E001900D928A95E1F70E942A140E94DC
-:102AC0001C14FF24F394D9C04D875E878D859E85A5
-:102AD0000E94A918292F22952F70223008F0C1C01A
-:102AE0009F7009F0BBC0805E883008F4C6C0C80182
-:102AF0000E949D10E6CFC816D90608F453C0F6010F
-:102B0000E81BF90BCF01883C910508F450C0F12C6B
-:102B10007C2DD98AC88A89890E94DC13EBEAF1E00E
-:102B200086E0DF011D928A95E9F70E941C14A5C07A
-:102B3000571314C0431312C0611110C08091B0012B
-:102B4000F8018583C8010E949D1086E0EBEAF1E060
-:102B5000DF011D928A95E9F7FE2C8FC04D875E87B5
-:102B60008D859E856A8B0E94BD136A89882309F42E
-:102B7000BECF662309F4BBCF2091B001822F82958E
-:102B80008F7090E002970CF490CF8091AB01909100
-:102B9000AC019A8389831B82DD82CC822E83CE0195
-:102BA000019681CF809590958C0D9D1DACCFF62E12
-:102BB000662309F49CCF571333C0431331C02091CF
-:102BC000B00120FD24C0822F82958F70482F50E0E5
-:102BD00041155105E1F0D80115962C9315974F300A
-:102BE000510549F08F5F982F9295907F822F8F70BB
-:102BF000892B15968C93C8010E949D1086E0F801E0
-:102C0000ABEAB1E001900D928A95E1F78ECF86E0B4
-:102C1000F801ABEAB1E001900D928A95E1F72DC081
-:102C20004D875E878D859E850E94BD1381113DCFA6
-:102C30008091B00181608093B001C8010E949D1015
-:102C40001CC0662309F453CF4D875E878D859E8512
-:102C50000E94BD13882309F44ACF27CF811143CFA7
-:102C60000CC0243008F043CF9F7009F43CCFD8014A
-:102C700015969C91907F09F036CF8F2D62960FB6F6
-:102C8000F894DEBF0FBECDBFDF91CF911F910F91A2
-:102C9000FF90EF90DF90CF9008951F93CF93DF9335
-:102CA000CDB7DEB72C970FB6F894DEBF0FBECDBF01
-:102CB0004F83588769877A878B879C87CE010796D1
-:102CC0000E948514882371F08A859B85892B09F4DD
-:102CD00041C088858F3F09F065C08F818F3F09F023
-:102CE00061C038C086E0FE013796DE011196019082
-:102CF0000D928A95E1F76A857B856115710551F121
-:102D0000FF81E885EF3F11F4FF3F21F120917A0127
-:102D100030E0C9010196877099274091790150E010
-:102D20008417950709F447C0F983EA837D836C8390
-:102D300096E0929FD001939FB00D1124A558BE4FED
-:102D4000FE01319601900D929A95E1F780937A01F8
-:102D50000E94FB1316E08091790190917A01891706
-:102D6000B9F1189FC001112485589E4F0E94851407
-:102D7000882371F1E09179011E9FF0011124E5583B
-:102D8000FE4F4081518162817381848195810E94CF
-:102D9000EB138091790190E00196877099278093D9
-:102DA0007901D9CF4F81588569857A858B859C8536
-:102DB0000E94EB13CFCF0E94B91310927A011092A8
-:102DC0007901EBEAF1E086E0DF011D928A95E9F7EF
-:102DD0002C960FB6F894DEBF0FBECDBFDF91CF911A
-:102DE0001F910895EF92FF920F931F93CF93DF935C
-:102DF0008C01892B09F46CC0F12CEE24E394E801DA
-:102E00002196F8018491843740F4843008F051C051
-:102E1000813081F0823019F15BC0853709F444C0FC
-:102E2000A8F19CE7980F903708F052C08F770E9466
-:102E3000401041C00E5F1F4FFE01849190E2980F39
-:102E4000983050F48770FE2D01C0FF0F8A95EAF785
-:102E50008F2F0E947B1914C00E94780F2DC00E5F27
-:102E60001F4FFE01849190E2980F983060F48770B4
-:102E7000FE2D01C0FF0F8A95EAF78F2F0E9481195E
-:102E80000E94A21919C00E94401016C00E5F1F4F69
-:102E9000FE01C491CC2381F08FE99FE00197F1F707
-:102EA00000C00000C150F6CF0E5F1F4FFE01F4902E
-:102EB00003C00E94780F8E018F2D882309F49FCFC5
-:102EC000EFE9FFE03197F1F700C000008150F5CF46
-:102ED000DF91CF911F910F91FF90EF90089508958A
-:102EE0006093B5017093B6018093B7019093B801D8
-:102EF0000C94A7130F931F930091B5011091B60185
-:102F00002091B7013091B801DC01CB01802B912BCE
-:102F1000A22BB32B8093B5019093B601A093B70178
-:102F2000B093B8011F910F910C94A7130F931F93A7
-:102F30000091B5011091B6012091B7013091B8010F
-:102F4000DC01CB0180239123A223B3238093B5011D
-:102F50009093B601A093B701B093B8011F910F9160
-:102F60000C94A7130F931F930091B5011091B60114
-:102F70002091B7013091B801DC01CB018027912766
-:102F8000A227B3278093B5019093B601A093B70110
-:102F9000B093B8011F910F910C94A7131092B10137
-:102FA0001092B2011092B3011092B4010C94A713C5
-:102FB00041E050E060E070E004C0440F551F661F20
-:102FC000771F8A95D2F74093B1015093B201609375
-:102FD000B3017093B4010C94A71341E050E060E09A
-:102FE00070E004C0440F551F661F771F8A95D2F703
-:102FF0008091B1019091B201A091B301B091B4015F
-:10300000482B592B6A2B7B2B4093B1015093B20173
-:103010006093B3017093B4010C94A71341E050E0A6
-:1030200060E070E004C0440F551F661F771F8A954B
-:10303000D2F740955095609570958091B10190912F
-:10304000B201A091B301B091B401482359236A237E
-:103050007B234093B1015093B2016093B30170930D
-:10306000B4010C94A71341E050E060E070E004C0AC
-:10307000440F551F661F771F8A95D2F78091B101C3
-:103080009091B201A091B301B091B40148275927A2
-:103090006A277B274093B1015093B2016093B3013B
-:1030A0007093B4010C94A7130F931F930091B10177
-:1030B0001091B2012091B3013091B401DC01CB0138
-:1030C000802B912BA22BB32B8093B1019093B20153
-:1030D000A093B301B093B4011F910F910C94A71367
-:1030E0000F931F930091B1011091B2012091B30190
-:1030F0003091B401DC01CB0180239123A223B323BF
-:103100008093B1019093B201A093B301B093B40145
-:103110001F910F910C94A7130F931F930091B1016E
-:103120001091B2012091B3013091B401DC01CB01C7
-:1031300080279127A227B3278093B1019093B201F2
-:10314000A093B301B093B4011F910F910C94A713F6
-:103150000895CF92DF92EF92FF920F931F93CF9338
-:10316000DF938C01C090B101D090B201E090B30127
-:10317000F090B4018091B5019091B601A091B70192
-:10318000B091B801C82AD92AEA2AFB2ACFE1D0E0B7
-:10319000D701C6010C2E04C0B695A79597958795C3
-:1031A0000A94D2F780FF07C0B8018C2F0E9407064F
-:1031B0008130910531F4219758F7B80180E00E94E1
-:1031C0000706DF91CF911F910F91FF90EF90DF9055
-:1031D000CF90089590910C019923F1F090910D01F9
-:1031E0009923D1F0982F9695969596959F3080F5D6
-:1031F000E0910E01F0910F01E90FF11D877021E0C0
-:1032000030E0A90102C0440F551F8A95E2F7CA01B8
-:103210009181892B8183089520910E0130910F01B6
-:10322000F90132969FEF40E05191851789F09F3F59
-:1032300019F4511101C0942F4F5F4E30A9F79F3FF1
-:1032400039F0F901E90FF11D97FDFA958283089590
-:10325000089590910C019923F9F090910D01992313
-:10326000D9F0982F9695969596959F3028F5E091F0
-:103270000E01F0910F01E90FF11D877021E030E0A0
-:10328000A90102C0440F551F8A95E2F7CA01809533
-:10329000918189238183089520910E0130910F013E
-:1032A000F9013296205F3F4F9081891301C010824F
-:1032B0003196E217F307C1F7089581E090E0E091BD
-:1032C0000E01F0910F01E80FF91F10820196803175
-:1032D0009105A9F708959091CB01892B8093CB019B
-:1032E000089580959091CB0189238093CB01089517
-:1032F0001092CB0108959091CA01892B8093CA0145
-:10330000089580959091CA0189238093CA010895F8
-:103310001092CA0108958093B90108951092B901DD
-:10332000089580910E0190910F01FC0131969C014E
-:10333000205F3F4F80E0919191118F5FE217F3077B
-:10334000D1F70895E0910E01F0910F018091CB012A
-:103350008083E0910E01F0910F0190818091CA016C
-:10336000892B80838091B901882361F0E0910E015F
-:10337000F0910F019081892B80830E949119811116
-:103380001092B90180910E0190910F010C945C0E86
-:10339000CF92DF92EF92FF926C01EE24FF24C114D2
-:1033A000D104E104F10421F0C701B60120E101C01C
-:1033B00020E0C72ED82EE92EFF24C114D104E10449
-:1033C000F10419F0285FC701B6016B017C0154E0DC
-:1033D000F694E794D794C7945A95D1F7C114D104C1
-:1033E000E104F10419F02C5FC701B6016B017C0107
-:1033F00042E0F694E794D794C7944A95D1F7C11464
-:10340000D104E104F10419F02E5FC701B601DC011B
-:10341000CB01B695A79597958795892B8A2B8B2BF2
-:1034200009F02F5F822FFF90EF90DF90CF900895EB
-:103430008091E401843011F120E488E190E00FB63E
-:10344000F894A895809360000FBE2093600083B726
-:10345000817F846083BF83B7816083BF78948895C0
-:1034600083B78E7F83BF0FB6F894A89580916000D4
-:10347000886180936000109260000FBE08950895E7
-:103480000C943F1ACF930E94401A0E9426040E9477
-:103490003F1AC0E08C2F0E941C05811104C0CF5F31
-:1034A000CE30C1F701C081E0CF9108950E94B913D9
-:1034B0000E94500E0C94460782E084BD93E095BDB7
-:1034C0009AEF97BD80936E0008952FB7F89480917E
-:1034D000CD019091CE01A091CF01B091D0012FBF2D
-:1034E0000895CF92DF92EF92FF920F931F932FB721
-:1034F000F8944091CD015091CE016091CF0170912F
-:10350000D0012FBF6A017B01EE24FF248C0120E053
-:1035100030E0C016D106E206F30610F4415051091E
-:103520009A01281B390BC9011F910F91FF90EF9051
-:10353000DF90CF9008951F920F920FB60F92112433
-:103540008F939F93AF93BF938091CD019091CE01C4
-:10355000A091CF01B091D0010196A11DB11D809322
-:10356000CD019093CE01A093CF01B093D001BF9134
-:10357000AF919F918F910F900FBE0F901F90189554
-:103580000E94480BF8942FEF87EA91E62150804083
-:103590009040E1F700C0000087E090EBDC018093F1
-:1035A000ED019093EE01A093EF01B093F0019CE048
-:1035B00088E10FB6F894A895809360000FBE9093B1
-:1035C0006000FFCFEF92FF920F931F93CF93DF9393
-:1035D000D82FC0E08C2F0E941C0500E010E0E82EE0
-:1035E000F12CC701002E02C0959587950A94E2F749
-:1035F00080FD06C00F5F1F4F0630110591F709C00F
-:10360000602F7C2F80E00E94E4058D13F3CF81E0D2
-:1036100004C0CF5FCE30F1F680E0DF91CF911F91F3
-:103620000F91FF90EF900895CF93C82F8CE20E94E6
-:10363000E21A882321F08C2FCF910C94E21A80E0BB
-:10364000CF910895CF930E94691C811102C00E94FE
-:103650004F1CC5E6C15049F00E9426048FE39CE947
-:103660000197F1F700C00000F5CF89E20E94141B1A
-:10367000811113C18AE20E94141B81110E944F1C08
-:1036800085E00E94141B81110E94C01A0E94741CC4
-:103690008093CC0187E00E94141B8823A9F18BE161
-:1036A0000E94141B882351F08091CC0181FB2227BA
-:1036B00020F991E0922790FB81F90EC08EE00E94E4
-:1036C000141B882361F08091CC0182FB222720F912
-:1036D00091E0922790FB82F98093CC0115C080E1A4
-:1036E0000E94141B9091CC01882341F093FB222768
-:1036F00020F981E0822780FB93F904C0892F80950F
-:1037000080FB90F99093CC018091CC010E94781CB1
-:103710000E94861C8093DE0180EE0E94141B882389
-:1037200041F08091DE01982F909590FB80F9809375
-:10373000DE0189E30E94141B882359F08091DE0189
-:1037400081FB222720F991E0922790FB81F9809359
-:10375000DE0182EE0E94141B882359F08091DE0165
-:1037600082FB222720F991E0922790FB82F9809337
-:10377000DE0186EE0E94141B882359F08091DE0141
-:1037800083FB222720F991E0922790FB83F9809315
-:10379000DE0183EE0E94141B882359F08091DE0124
-:1037A00084FB222720F991E0922790FB84F98093F3
-:1037B000DE0185E30E94141B882359F08091DE010D
-:1037C00085FB222720F991E0922790FB85F98093D1
-:1037D000DE0181E30E94141B882359F08091DE01F1
-:1037E00086FB222720F991E0922790FB86F98093AF
-:1037F000DE0181E10E94141B882359F08091DE01D3
-:1038000087FB222720F991E0922790FB87F980938C
-:10381000DE018091DE010E948A1C8091DE0187FB1F
-:10382000882780F980930D0187E20E94141BC82F1E
-:103830008EE10E94141B8111C2608FE10E94141B53
-:103840008111C46080E20E94141B8111C86081E272
-:103850000E94141B8111C06182E20E94141B81111D
-:10386000C06283E20E94141B8111C06484E20E9442
-:10387000141B882311F0C06802C0CC2329F08C2FC0
-:103880000E94811C6C2F03C00E947D1C682F70E079
-:1038900080E090E0CF910C947017CF9108956DEE79
-:1038A0007EEF80E090E00E94C32260E082E090E042
-:1038B0000E94B52260E083E090E00E94B52260E0C3
-:1038C00084E090E00E94B52260E085E090E00C94F6
-:1038D000B52280E090E00E94AF2221E08D3E9E4F15
-:1038E00009F020E0822F089582E090E00C94A72256
-:1038F000682F82E090E00C94B52283E090E00C9475
-:10390000A722682F83E090E00C94B52284E090E039
-:103910000C94A722682F84E090E00C94B52280914B
-:10392000D30180FF0BC06091130185E0689FB00157
-:10393000112475956795759567952BC081FF09C012
-:103940006091130185E0689FB0011124759567951A
-:1039500020C082FF07C06091130185E0689FB0011D
-:10396000112417C09091D4019923D1F060911201D4
-:10397000961788F72091130185E0289F9001112464
-:10398000929FA001939F500D112470E0CA010E94E4
-:1039900079226038710540F46115710519F406C08B
-:1039A00065E070E0862F08958FE7089581E008951F
-:1039B0008091D30180FF08C06091110170E075957E
-:1039C00067957595679521C081FF06C060911101CB
-:1039D00070E07595679519C082FF04C06091110170
-:1039E00070E010C09091D401992399F0609110017A
-:1039F0009617A0F780911101899FC001112470E0F2
-:103A00000E9479226038710540F46115710519F43E
-:103A100006C061E070E0862F08958FE7089581E089
-:103A20000895803F21F40E948F1C819504C0813F3E
-:103A300029F40E948F1C8093D7010895823F21F4BE
-:103A40000E948F1C819504C0833F29F40E948F1C23
-:103A50008093D6010895893F19F40E94D81C05C0AF
-:103A60008A3F31F40E94D81C81958093D801089533
-:103A70008B3F21F40E94D81C819504C08C3F29F40F
-:103A80000E94D81C8093D9010895843F21F480912D
-:103A9000D501816017C0853F21F48091D5018260F6
-:103AA00011C0863F21F48091D50184600BC0873F0F
-:103AB00021F48091D501886005C0883F31F4809160
-:103AC000D50180618093D50108958D3F21F48091C7
-:103AD000D30181600BC08E3F21F48091D3018260BD
-:103AE00005C08F3F29F48091D30184608093D30176
-:103AF0000895803F39F48091D70187FF6CC0109200
-:103B0000D70169C0813F29F48091D7011816BCF311
-:103B100062C09091D601823F29F497FF5CC0109259
-:103B2000D60159C0833F19F41916CCF354C0893F0C
-:103B300041F48091D80118160CF04DC01092D801B4
-:103B40004AC08A3F29F48091D80187FF44C0F6CF4C
-:103B50008B3F39F48091D90187FF3DC01092D90184
-:103B60003AC08C3F29F48091D9011816BCF333C0B8
-:103B7000843F21F48091D5018E7F17C0853F21F4C9
-:103B80008091D5018D7F11C0863F21F48091D501B0
-:103B90008B7F0BC0873F21F48091D501877F05C0C3
-:103BA000883F31F48091D5018F7E8093D50113C079
-:103BB0008D3F21F48091D3018E7F0BC08E3F21F485
-:103BC0008091D3018D7F05C08F3F29F48091D3016F
-:103BD0008B7F8093D3018091D60181110EC080919B
-:103BE000D70181110AC08091D801811106C080914E
-:103BF000D901811102C01092D401089585ED91E0A0
-:103C00000E94670E0E94651A9093D2018093D101A1
-:103C100008951F93CF93DF938091D1019091D201AA
-:103C20000E94711AAC019091D401992321F0209146
-:103C3000140130E006C0209115018AE0289F900110
-:103C400011244217530708F485C08091D601C09112
-:103C5000D701D091D8011091D901811107C0C111AC
-:103C600075C0D11173C0111171C074C09F3F19F09C
-:103C70009F5F9093D401181624F40E948F1C8093A8
-:103C8000D6018091D60187FF05C00E948F1C8195C7
-:103C90008093D6011C1624F40E948F1C8093D701B8
-:103CA0008091D70187FF05C00E948F1C819580936A
-:103CB000D7016091D601662331F1C091D701CC23A1
-:103CC00011F1062E000C770B880B990B0E948021B6
-:103CD00023E333E343E35FE30E94E4210E944821AE
-:103CE0006093D6016C2FCC0F770B880B990B0E9439
-:103CF000802123E333E343E35FE30E94E4210E9456
-:103D000048216093D7011D1624F40E94D81C80938B
-:103D1000D8018091D80187FF05C00E94D81C8195E9
-:103D20008093D801111624F40E94D81C8093D901E5
-:103D30008091D90187FF05C00E94D81C819580938E
-:103D4000D901DF91CF911F910C94FE1D9F3F09F087
-:103D50008FCFA0CFDF91CF911F910895E5EDF1E0D6
-:103D600085E0DF011D928A95E9F71092D401109247
-:103D7000D3010895833081F128F4813059F08230E5
-:103D8000D1F00895853009F449C0B8F1863009F4BE
-:103D900056C0089580911501262F30E0280F311D5F
-:103DA0002F3F310524F4680F6093150108958FEFBC
-:103DB00080931501089580911401262F30E0280F7B
-:103DC000311D2F3F310524F4680F609314010895CD
-:103DD0008FEF80931401089580911301262F30E016
-:103DE000280F311D2F3F310524F4680F6093130114
-:103DF00008958FEF80931301089580911201262F6B
-:103E000030E0280F311D2F3F310524F4680F6093F7
-:103E1000120108958FEF809312010895809111018E
-:103E2000262F30E0280F311D2F3F310524F4680F75
-:103E30006093110108958FEF80931101089580918F
-:103E40001001262F30E0280F311D2F3F310524F4BB
-:103E5000680F6093100108958FEF8093100108950B
-:103E6000833011F128F4813049F0823091F00895C7
-:103E7000853081F120F18630C1F1089580911501DE
-:103E8000681720F4861B8093150108951092150180
-:103E9000089580911401681720F4861B8093140103
-:103EA000089510921401089580911301681720F469
-:103EB000861B809313010895109213010895809139
-:103EC0001201681720F4861B809312010895109246
-:103ED0001201089580911101681720F4861B8093C8
-:103EE0001101089510921101089580911001681731
-:103EF00020F4861B809310010895109210010895FC
-:103F00000F931F938D3109F46BC008F03FC08E30C2
-:103F100009F47DC0C0F4873009F46EC068F48630BF
-:103F200009F0AFC08091CC01817F8E7F8093CC015E
-:103F300081E08093DB01A6C0883009F458C08B3043
-:103F400009F49BC09EC0863109F497C078F4803193
-:103F500009F470C0813109F094C00E94B9139091A6
-:103F60000D0181E0892780930D0187C0893109F413
-:103F700084C08B3109F085C08091CC0181FB222760
-:103F800020F991E0922790FB81F94AC0853309F42A
-:103F90005BC048F4873209F457C008F45AC089322C
-:103FA00009F452C06EC0833438F48A3308F067C015
-:103FB000883309F462C065C0833409F445C088348D
-:103FC00009F05FC00E94B9130FEF13ED20E3015019
-:103FD00010402040E1F700C000000E94C01A4DC010
-:103FE0000E9402210E94500E0E94460746C00E9475
-:103FF000741C0E94861C41C09091CC01892F817055
-:1040000090FF12C0917F9E7F9093CC013BC0809126
-:10401000CC0182FB222720F991E0922790FB82F9C4
-:104020008093CC01992349F18091CC0181608093E8
-:10403000CC0123C08091CC0183FB222720F991E0A1
-:10404000922790FB83F9ECCF61E070E080E090E094
-:1040500010C08D5141E050E060E070E08A019B01AA
-:1040600004C0000F111F221F331F8A95D2F7C90108
-:10407000B8010E9470170E94B91381E003C08953F0
-:10408000E9CF80E01F910F91089580E008950C948E
-:104090004520CF93C82F8091DB01813079F018F053
-:1040A0008230E9F187C0E0910E01F0910F0180812B
-:1040B000813169F0823209F07FC009C0E0910E01C0
-:1040C000F0910F018081813111F0823261F48C2FE7
-:1040D0000E944720811104C08C2F0E94801F1DC0A8
-:1040E00081E090E01AC08C2F0E944520811114C0FD
-:1040F000C43179F048F4CB3079F0C03109F060C0B8
-:1041000082E08093DB0108C0C93219F0C83321F086
-:1041100057C01092DB0154C081E0817053C0C93296
-:1041200089F118F5C43171F1A8F4C73009F046C01F
-:104130008AE08093150194E19093140193E09093A9
-:1041400013018093120188E08093110188E280932B
-:10415000100134C0CE51C63088F5EC2FF0E0E65D9A
-:10416000FE4F80818093DA0129C0CE34E9F020F43B
-:10417000CB3421F56AE013C0C13579F0C235F1F4D2
-:1041800061E00DC08091DA01882319F01092DA0104
-:1041900015C081E08093DB0115C061E006C080910D
-:1041A000DA010E94BA1E0AC06AE08091DA010E9418
-:1041B000301F04C01092DB0180E004C081E002C027
-:1041C00080E0ABCFCF910895E1E8F0E08081886096
-:1041D00080838081816080838FB7F89493E090938F
-:1041E000890090ED909388008FBF0895EFE6F0E08E
-:1041F0008081826080830895EFE6F0E080818D7F8A
-:1042000080830895EFE6F0E0908182E08927808343
-:1042100008951F920F920FB60F9211242F933F9380
-:104220004F935F936F937F938F939F93AF93BF93BE
-:10423000EF93FF938091DC019091DD0101969093C3
-:10424000DD018093DC01811103C082E00E944607FA
-:10425000E091DD01E695E695F0E0E657FB4FE4914D
-:104260008091DC018E1303C080E00E944607FF911D
-:10427000EF91BF91AF919F918F917F916F915F91DE
-:104280004F913F912F910F900FBE0F901F90189557
-:104290000E944F216894B1110C94DE2108950E9470
-:1042A000C32188F09F5798F0B92F9927B751B0F0E4
-:1042B000E1F0660F771F881F991F1AF0BA95C9F7AA
-:1042C00014C0B13091F00E94DD21B1E008950C944A
-:1042D000DD21672F782F8827B85F39F0B93FCCF3FD
-:1042E000869577956795B395D9F73EF49095809527
-:1042F000709561957F4F8F4F9F4F0895E89409C047
-:1043000097FB3EF490958095709561957F4F8F4F08
-:104310009F4F9923A9F0F92F96E9BB279395F6951E
-:10432000879577956795B795F111F8CFFAF4BB0F9C
-:1043300011F460FF1BC06F5F7F4F8F4F9F4F16C000
-:10434000882311F096E911C0772321F09EE8872F8A
-:10435000762F05C0662371F096E8862F70E060E046
-:104360002AF09A95660F771F881FDAF7880F9695BF
-:10437000879597F9089557FD9058440F551F59F0A8
-:104380005F3F71F04795880F97FB991F61F09F3F42
-:1043900079F087950895121613061406551FF2CF6B
-:1043A0004695F1DF08C0161617061806991FF1CFBB
-:1043B00086957105610508940895E894BB276627E2
-:1043C0007727CB0197F908950E94F7210C94682272
-:1043D0000E945A2238F00E94612220F0952311F0A9
-:1043E0000C9451220C94572211240C94DE210E942B
-:1043F000BB2170F3959FC1F3950F50E0551F629F4D
-:10440000F001729FBB27F00DB11D639FAA27F00D2D
-:10441000B11DAA1F649F6627B00DA11D661F829F54
-:104420002227B00DA11D621F739FB00DA11D621F39
-:10443000839FA00D611D221F749F3327A00D611D56
-:10444000231F849F600D211D822F762F6A2F112438
-:104450009F5750409AF0F1F088234AF0EE0FFF1F6B
-:10446000BB1F661F771F881F91505040A9F79E3FC2
-:10447000510580F00C9451220C94DE215F3FE4F34F
-:10448000983ED4F3869577956795B795F795E79518
-:104490009F5FC1F7FE2B880F911D9695879597F921
-:1044A000089597F99F6780E870E060E008959FEFB6
-:1044B00080EC089500240A941616170618060906BB
-:1044C000089500240A94121613061406050608958A
-:1044D000092E0394000C11F4882352F0BB0F40F412
-:1044E000BF2B11F460FF04C06F5F7F4F8F4F9F4F52
-:1044F000089597FB072E16F4009407D077FD09D096
-:104500000E94932207FC05D03EF4909581959F4F21
-:104510000895709561957F4F0895EE0FFF1F0590E8
-:10452000F491E02D0994AA1BBB1B51E107C0AA1FFF
-:10453000BB1FA617B70710F0A61BB70B881F991F44
-:104540005A95A9F780959095BC01CD010895F999E8
-:10455000FECF92BD81BDF89A992780B50895A8E154
-:10456000B0E042E050E00C94CA22262FF999FECF29
-:104570001FBA92BD81BD20BD0FB6F894FA9AF99A80
-:104580000FBE019608950E94B522272F0C94B622E3
-:10459000DC01CB01FC01F999FECF06C0F2BDE1BD03
-:1045A000F89A319600B40D9241505040B8F70895F2
-:0445B000F894FFCFAD
-:1045B40020024707D707B2077E074A070101BA015D
-:1045C40028080A03140A3F4D36394B04FE03C80376
-:1045D4008F0322033B0354036D0301020304050606
-:0445E40007080900BB
+:102520000F91FF90EF90DF90CF900C944B1F842F72
+:10253000837009F076C0F110E2C1262F229526950E
+:102540002770220F220F862F8F70C82ED12CE12CDE
+:10255000F12C022E04C0CC0CDD1CEE1CFF1C0A94D6
+:10256000D2F764FF10C06FE070E080E090E004C03C
+:10257000660F771F881F991F2A95D2F7609570956F
+:102580008095909503C060E070E0CB01242F2695E4
+:1025900026952370422F50E042305105D1F0433050
+:1025A000510559F16C297D298E299F29413051050A
+:1025B00041F128960FB6F894DEBF0FBECDBFDF9174
+:1025C000CF911F910F91FF90EF90DF90CF900C94DF
+:1025D000C2186C297D298E299F2928960FB6F89458
+:1025E000DEBF0FBECDBFDF91CF911F910F91FF9046
+:1025F000EF90DF90CF900C94DC180E94C218C701B6
+:10260000B60128960FB6F894DEBF0FBECDBFDF919E
+:10261000CF911F910F91FF90EF90DF90CF900C948E
+:10262000A818FF2019F0842F817001C08695882397
+:1026300009F465C1262F229526952770220F220FB7
+:10264000862F8F70C82ED12CE12CF12C022E04C0C5
+:10265000CC0CDD1CEE1CFF1C0A94D2F764FF10C0EA
+:102660006FE070E080E090E004C0660F771F881F85
+:10267000991F2A95D2F7609570958095909503C023
+:1026800060E070E0CB01242F269526952370422F21
+:1026900050E042305105D1F04330510559F16C29D9
+:1026A0007D298E299F294130510541F128960FB689
+:1026B000F894DEBF0FBECDBFDF91CF911F910F9178
+:1026C000FF90EF90DF90CF900C9496196C297D29A4
+:1026D0008E299F2928960FB6F894DEBF0FBECDBF76
+:1026E000DF91CF911F910F91FF90EF90DF90CF90EE
+:1026F0000C94B0190E949619C701B60128960FB61E
+:10270000F894DEBF0FBECDBFDF91CF911F910F9127
+:10271000FF90EF90DF90CF900C947C19603FC9F14F
+:1027200018F4603E50F49BC0623F09F460C008F4A6
+:102730004AC0633F09F46FC092C0162F1F70842FE8
+:102740008F71FF2099F00E941519812F28960FB6DE
+:10275000F894DEBF0FBECDBFDF91CF911F910F91D7
+:10276000FF90EF90DF90CF900C945F110E9436198C
+:10277000812F28960FB6F894DEBF0FBECDBFDF9134
+:10278000CF911F910F91FF90EF90DF90CF900C941D
+:102790006611FF20A1F05111B2C0842F8F712896CD
+:1027A0000FB6F894DEBF0FBECDBFDF91CF911F9162
+:1027B0000F91FF90EF90DF90CF900C945B19523007
+:1027C00008F09DC0EACFFF20A1F0842F8F712896DA
+:1027D0000FB6F894DEBF0FBECDBFDF91CF911F9132
+:1027E0000F91FF90EF90DF90CF900C941519FF2080
+:1027F00061F3842F8F7128960FB6F894DEBF0FBE59
+:10280000CDBFDF91CF911F910F91FF90EF90DF909F
+:10281000CF900C943619FF2091F0842F8F71289659
+:102820000FB6F894DEBF0FBECDBFDF91CF911F91E1
+:102830000F91FF90EF90DF90CF900C9400192896A5
+:102840000FB6F894DEBF0FBECDBFDF91CF911F91C1
+:102850000F91FF90EF90DF90CF900C94F618FF202F
+:10286000A1F0552309F4B1CF862F28960FB6F8941E
+:10287000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10288000EF90DF90CF900C944810552309F4B1CF0E
+:10289000862F28960FB6F894DEBF0FBECDBFDF910E
+:1028A000CF911F910F91FF90EF90DF90CF900C94FC
+:1028B00010114F70C8010E94AB0228960FB6F89411
+:1028C000DEBF0FBECDBFDF91CF911F910F91FF9063
+:1028D000EF90DF90CF900C941B184F70C801289692
+:1028E0000FB6F894DEBF0FBECDBFDF91CF911F9121
+:1028F0000F91FF90EF90DF90CF900C944C052896AD
+:102900000FB6F894DEBF0FBECDBFDF91CF911F9100
+:102910000F91FF90EF90DF90CF9008950E94B81A2A
+:102920000E94C81A0E948D1A0E94E41A0E94F71F82
+:102930000E944B1F80E090E00E94410F80E090E0F9
+:102940000C94570F0E94A81A0C948E140E940B1A14
+:10295000292F22952F7030E02C3031054CF42A308D
+:1029600031056CF4225031092230310590F407C052
+:102970002C30310551F02F30310539F00AC0803E3E
+:1029800010F0803F31F481E0089593FB882780F9AF
+:10299000089580E00895CF93DF9300D000D01F9278
+:1029A000CDB7DEB70F900F900F900F900F90DF9183
+:1029B000CF910895CF93DF9300D000D000D0CDB752
+:1029C000DEB726960FB6F894DEBF0FBECDBFDF91FF
+:1029D000CF9108951F93CF93DF93C0917B0116E0B1
+:1029E00080917C01C81799F0D0E01C9FF0011D9FD9
+:1029F000F00D1124E358FE4F4081518162817381B3
+:102A0000848195810E94DA142196C770E9CFDF9105
+:102A1000CF911F9108954091AD015091AE01609109
+:102A2000AF017091B0018091B1019091B2010C940D
+:102A3000DA14CF938091B20182958F7009F05FC054
+:102A40008091AF01882309F45AC020917B01A091A5
+:102A50007C016091AD017091AE018091B0019091C7
+:102A6000B10131E06F3F09F030E0B32FC6E02A1723
+:102A700009F445C0009721F07F3F21F44B2F03C09C
+:102A800041E001C040E030E040FD35C0C29FF001B0
+:102A9000C39FF00D1124E358FE4F418174132BC0E6
+:102AA0004081641328C04281411125C04381548173
+:102AB0004817590710F441505109481B590B483C1D
+:102AC0005105C8F48091B2018F7080618093B2018A
+:102AD00086E0829FF001839FF00D1124EE57FE4F98
+:102AE00080818F70806180838DEA91E00E946D11FA
+:102AF000CF910C94EA142F5F3F4F2770B8CFCF913E
+:102B00000895CF92DF92EF92FF920F931F93CF938E
+:102B1000DF93CDB7DEB762970FB6F894DEBF0FBE76
+:102B2000CDBF8C0185E0F801DE011D9601900D926C
+:102B30008A95E1F7D8014C9111965C911197129604
+:102B40006C9112971396ED90FC9014977091AD01D3
+:102B5000E091AE012091B0013091B1012115310514
+:102B600031F0EF3F31F481E07F3F19F403C081E0A1
+:102B700001C080E0B82FB170CB2E80FD6CC1D09029
+:102B8000AF01DD2009F4F5C0F091B201E216F306C1
+:102B900038F0C701821B930B883C910548F09BC01D
+:102BA000209530952E0D3F1D283C310508F093C02F
+:102BB0008F2F807F09F052C0E51314C0741312C028
+:102BC000D62E61110FC0FF70F061F093B2010E9428
+:102BD0000B158DEA91E00E946D118091B201F80110
+:102BE00085836CC1EF2831F05F3F31F481E04F3FC6
+:102BF00019F403C081E001C080E080FD03C081E0E2
+:102C0000862701C080E0F82FF170FF2E80FF1CC0E6
+:102C100080917B0120917C0136E0821709F428C164
+:102C200090E0389FF001399FF00D1124E358FE4FDA
+:102C30007181571306C07081471303C072816713F7
+:102C400003C001968770E9CFD62E662309F436C1FA
+:102C50008091B20181608093B20153C0E51308C036
+:102C6000741306C0611104C0D8011596FC93AEC060
+:102C70004D875E878D859E856A8B0E94A6146A8922
+:102C8000882329F1D62E662311F12091B201822FDB
+:102C900082958F7090E002970CF460C08091AD0136
+:102CA0009091AE0198878F831986FB86EA862C87E0
+:102CB000CE01079651C0E51731F14D875E878D85AE
+:102CC0009E856A8B0E94A6146A8981112EC0C80154
+:102CD0000E946D11A4C08F2F807F69F77E2DF98A25
+:102CE000E88A89890E94CB148DEA91E00E946D11D7
+:102CF000EDEAF1E086E0DF011D928A95E9F70E9496
+:102D00000B15D12CDBC07413D8CF6111D6CFD801ED
+:102D10001596FC93C8010E946D11EDEAF1E086E082
+:102D2000DF011D928A95E9F7C9C0D62E662379F294
+:102D30002091B201822F82958F7090E0029774F0FB
+:102D40008091AD019091AE019A8389831B82FD82AF
+:102D5000EC822E83CE0101960E946D1186E0F8016F
+:102D6000ADEAB1E001900D928A95E1F70E94191544
+:102D70006FC0E216F30628F0C701821B930B9C017B
+:102D800004C0209530952E0D3F1D283C310508F0DC
+:102D900052C0D62E662309F49ACFE5132CC07413C3
+:102DA0002AC08091B20180FD1DC0982F92959F701E
+:102DB000C9F0D80115968C9315979F3039F09F5F15
+:102DC0009295907F8F70892B15968C93C8010E94E5
+:102DD0006D1186E0F801ADEAB1E001900D928A959F
+:102DE000E1F736C086E0F801ADEAB1E001900D925E
+:102DF0008A95E1F763C04D875E878D859E850E9429
+:102E0000A614882379F086E0F801ADEAB1E00190DC
+:102E10000D928A95E1F70E9419150E940B15DD2489
+:102E2000D3944CC08091B20181608093B201C801FB
+:102E30000E946D1143C07E2DF98AE88A89890E941B
+:102E4000CB14EDEAF1E086E0DF011D928A95E9F707
+:102E50000E940B1533C0662309F439CF4D875E8776
+:102E60008D859E850E94A614882309F430CFCBCF90
+:102E70004D875E878D859E850E940B1A292F22958E
+:102E80002F7030E0223031052CF49F7041F0811119
+:102E900006C00CC0243031052CF49F7049F4805ECC
+:102EA000883020F0C8010E946D11CF2CDC2C06C0A8
+:102EB000D80115969C91907F91F7F8CF8D2D629651
+:102EC0000FB6F894DEBF0FBECDBFDF91CF911F913B
+:102ED0000F91FF90EF90DF90CF9008951F93CF93C5
+:102EE000DF93CDB7DEB72C970FB6F894DEBF0FBED9
+:102EF000CDBF4F83588769877A878B879C87CE01A0
+:102F000007960E9481158823C1F02F8138858A8514
+:102F10009B85892B31F03F3F11F080E003C02F3FAC
+:102F2000E1F781E0811147C04F81588569857A8535
+:102F30008B859C850E94DA143EC086E0FE013796A0
+:102F4000DE01119601900D928A95E1F7FF81E885E7
+:102F50004A855B854115510531F0EF3F31F481E041
+:102F6000FF3F19F403C081E001C080E080FD23C071
+:102F700020917C0130E0C90101968770992760910A
+:102F80007B0170E086179707F1F1F983EA835D838F
+:102F90004C8396E0929FD001939FB00D1124A358CB
+:102FA000BE4FFE01319601900D929A95E1F7809304
+:102FB0007C010E94EA1416E080917B0190917C01D3
+:102FC000891779F1189FC001112483589E4F0E94E0
+:102FD0008115882331F1E0917B011E9FF0011124BE
+:102FE000E358FE4F408151816281738184819581D4
+:102FF0000E94DA1480917B0190E0019687709927F6
+:1030000080937B01D9CF0E94A21410927C01109270
+:103010007B01EDEAF1E086E0DF011D928A95E9F798
+:10302000CACF2C960FB6F894DEBF0FBECDBFDF918E
+:10303000CF911F910895EF92FF920F931F93CF931B
+:10304000DF939C01009709F471C0F12CEE24E39406
+:10305000E9012196F9018491843740F4843008F025
+:1030600056C0813081F0823021F160C0853709F48B
+:1030700049C0C0F19CE7980F903708F057C08F7790
+:103080000E94101146C089010E5F1F4FFE018491FE
+:1030900090E2980F983050F48770FE2D01C0FF0F1A
+:1030A0008A95EAF78F2F0E94BB1A15C00E9448101C
+:1030B00014C089010E5F1F4FFE01849190E2980FAA
+:1030C000983068F48770FE2D01C0FF0F8A95EAF7EB
+:1030D0008F2F0E94C11A0E94E41AE8011AC00E94B0
+:1030E0001011FBCF2E5F3F4FFE01C491CC2341F066
+:1030F0008FE99FE00197F1F700C00000C150F6CFC3
+:10310000E90107C0FE01F490E901229602C00E9485
+:1031100048108F2D882341F0EFE9FFE03197F1F758
+:1031200000C000008150F6CF9E0192CFDF91CF9179
+:103130001F910F91FF90EF90089508956093B7014C
+:103140007093B8018093B9019093BA010C948E14D6
+:103150000F931F930091B7011091B8012091B9010D
+:103160003091BA01062B172B282B392B0093B7016E
+:103170001093B8012093B9013093BA011F910F91B8
+:103180000C948E140F931F930091B7011091B80106
+:103190002091B9013091BA0106231723282339233E
+:1031A0000093B7011093B8012093B9013093BA018D
+:1031B0001F910F910C948E140F931F930091B701E0
+:1031C0001091B8012091B9013091BA010627172753
+:1031D000282739270093B7011093B8012093B9012C
+:1031E0003093BA011F910F910C948E141092B30179
+:1031F0001092B4011092B5011092B6010C948E1485
+:1032000041E050E060E070E004C0440F551F661FCD
+:10321000771F8A95D2F74093B3015093B40160931E
+:10322000B5017093B6010C948E1441E050E060E05B
+:1032300070E004C0440F551F661F771F8A95D2F7B0
+:103240008091B3019091B401A091B501B091B60104
+:10325000842B952BA62BB72B8093B3019093B401AD
+:10326000A093B501B093B6010C948E1441E050E0E8
+:1032700060E070E004C0440F551F661F771F8A95F9
+:10328000D2F740955095609570958091B3019091DB
+:10329000B401A091B501B091B60184239523A62372
+:1032A000B7238093B3019093B401A093B501B09379
+:1032B000B6010C948E1441E050E060E070E004C070
+:1032C000440F551F661F771F8A95D2F78091B3016F
+:1032D0009091B401A091B501B091B60184279527D2
+:1032E000A627B7278093B3019093B401A093B501AB
+:1032F000B093B6010C948E140F931F930091B301F9
+:103300001091B4012091B5013091B601062B172B15
+:10331000282B392B0093B3011093B4012093B501EE
+:103320003093B6011F910F910C948E140F931F933D
+:103330000091B3011091B4012091B5013091B60113
+:1033400006231723282339230093B3011093B401D4
+:103350002093B5013093B6011F910F910C948E14F8
+:103360000F931F930091B3011091B4012091B50107
+:103370003091B60106271727282739270093B30174
+:103380001093B4012093B5013093B6011F910F91B2
+:103390000C948E140895CF92DF92EF92FF920F93C8
+:1033A0001F93CF93DF93EC01C090B701D090B80189
+:1033B000E090B901F090BA018091B3019091B4010D
+:1033C000A091B501B091B601C82AD92AEA2AFB2AF0
+:1033D0000FE110E0B701A601002E04C076956795B5
+:1033E000579547950A94D2F740FD05C00150110941
+:1033F00088F780E007C0BE01802F0E9489070197EF
+:10340000A9F3802FDF91CF911F910F91FF90EF9043
+:10341000DF90CF900895CF93DF93EC010E94CB19FA
+:10342000BE010E948907DF91CF910895CB010E94D0
+:103430000B1A089590910C019923D9F090910D01E8
+:103440009923B9F0982F9695969596959F3088F583
+:10345000E0910E01F0910F01E90FF11D877021E05D
+:1034600030E001C0220F8A95EAF78181822B8183A7
+:10347000089540910E0150910F0120E030E09FEF40
+:10348000FA01E20FF31F6281681799F09F3F19F468
+:10349000611101C0922F2F5F3F4F2E30310581F710
+:1034A0009F3F39F0FA01E90FF11D97FDFA958283EC
+:1034B0000895089590910C019923E1F090910D01E8
+:1034C0009923C1F0982F9695969596959F3020F563
+:1034D000E0910E01F0910F01E90FF11D877021E0DD
+:1034E00030E001C0220F8A95EAF7209581812823D8
+:1034F0002183089540910E0150910F0120E030E0AA
+:10350000FA01E20FF31F9281981301C012822F5F1C
+:103510003F4F2E303105A1F7089581E090E0E09112
+:103520000E01F0910F01E80FF91F10820196803112
+:103530009105A9F708959091CE01982B9093CE0113
+:10354000089580959091CE0198239093CE0108958F
+:103550001092CE0108959091CD01982B9093CD01BA
+:10356000089580959091CD0198239093CD01089571
+:103570001092CD0108959091CC01982B9093CC019D
+:10358000089580959091CC0198239093CC01089553
+:103590001092CC0108958093BB0108951092BB0155
+:1035A000089540910E0150910F0120E030E080E03D
+:1035B000FA01E20FF31F918191118F5F2F5F3F4F4F
+:1035C0002F303105A9F70895E0910E01F0910F0118
+:1035D0008091CE018083E0910E01F0910F018081F6
+:1035E0009091CD01892B8083E0910E01F0910F0124
+:1035F00080819091CC01892B80839091BB0199238C
+:1036000061F0E0910E01F0910F018081892B8083A0
+:103610000E94D11A81111092BB0180910E019091EC
+:103620000F010C942B0FCF92DF92EF92FF920F932A
+:103630001F936C01EE24FF24C114D104E104F104B2
+:1036400021F46B017C0180E001C080E133272F2D44
+:103650001E2D0D2D011511052105310519F0885F6D
+:103660006801790197018601A4E0369527951795A1
+:103670000795AA95D1F7011511052105310519F016
+:103680008C5F6801790197018601F2E036952795F4
+:1036900017950795FA95D1F7011511052105310503
+:1036A00019F08E5F68017901B701A60176956795DB
+:1036B00057954795452B462B472B09F08F5F1F9158
+:1036C0000F91FF90EF90DF90CF9008958091E601E9
+:1036D000843021F11092D00120E488E190E00FB60F
+:1036E000F894A895809360000FBE2093600080E05E
+:1036F0000E94240883B7817F846083BF83B7816081
+:1037000083BF7894889583B78E7F83BF88E10FB697
+:10371000F89480936000109260000FBE08950895A1
+:103720000895CF930E948F1B0E9458040E94901B03
+:10373000C0E08C2F0E944505811105C0CF5FCE30BF
+:10374000C1F780E001C081E0CF9108950E94A214EA
+:103750000E941F0F0C94240882E084BD93E095BD65
+:103760009AEF97BD80936E0008952FB7F8948091DB
+:10377000D1019091D201A091D301B091D4012FBF7A
+:103780000895CF92DF92EF92FF920F931F932FB77E
+:10379000F8944091D1015091D2016091D301709180
+:1037A000D4012FBF6A017B01EE24FF248C0120E0AD
+:1037B00030E0C016D106E206F30610F4415051097C
+:1037C000481B590BCA011F910F91FF90EF90DF909A
+:1037D000CF9008951F920F920FB60F9211248F93DE
+:1037E0009F93AF93BF938091D1019091D201A0910B
+:1037F000D301B091D4010196A11DB11D8093D101D7
+:103800009093D201A093D301B093D401BF91AF9113
+:103810009F918F910F900FBE0F901F9018950E944F
+:10382000250CF8942FEF87EA91E6215080409040D4
+:10383000E1F700C0000087E090EBDC018093F0012D
+:103840009093F101A093F201B093F3012CE088E191
+:1038500090E00FB6F894A895809360000FBE209377
+:103860006000FFCFEF92FF920F931F93CF93DF93F0
+:10387000E82EF12C8F2D0E944505C0E0D0E0082FE6
+:1038800010E098010C2E02C0359527950A94E2F7B6
+:1038900020FD05C02196C630D10599F709C06C2FCF
+:1038A0007F2D80E00E944D05E812F4CF81E005C035
+:1038B000F3948EE0F812DECF80E0DF91CF911F917C
+:1038C0000F91FF90EF900895CF93C82F8CE20E9444
+:1038D000321C882321F08C2FCF910C94321C80E075
+:1038E000CF910895CF930E94B71D811102C00E940D
+:1038F0009D1DC5E6C15049F00E9458048FE39CE924
+:103900000197F1F700C00000F5CF89E20E94641C26
+:10391000811111C18AE20E94641C81110E949D1DC7
+:1039200085E00E94641C81110E940F1C0E94C21D30
+:103930008093CF0187E00E94641C882399F18BE17A
+:103940000E94641C882351F09091CF0191FB88273D
+:1039500080F921E0822780FB91F922C08EE00E944D
+:10396000641C882351F09091CF0192FB882780F945
+:1039700021E0822780FB92F913C080E10E94641C41
+:103980009091CF01882341F093FB882780F921E0B3
+:10399000822780FB93F904C0892F809580FB90F9E2
+:1039A0009093CF018091CF010E94C61D0E94D41D2B
+:1039B0008093EF0180EE0E94641C882341F0809187
+:1039C000EF01982F909590FB80F98093EF0189E3A8
+:1039D0000E94641C882359F09091EF0191FB882785
+:1039E00080F921E0822780FB91F99093EF0182EE2C
+:1039F0000E94641C882359F09091EF0192FB882764
+:103A000080F921E0822780FB92F99093EF0186EE06
+:103A10000E94641C882359F09091EF0193FB882742
+:103A200080F921E0822780FB93F99093EF0183EEE8
+:103A30000E94641C882359F09091EF0194FB882721
+:103A400080F921E0822780FB94F99093EF0185E3D0
+:103A50000E94641C882359F09091EF0195FB882700
+:103A600080F921E0822780FB95F99093EF0181E3B3
+:103A70000E94641C882359F09091EF0196FB8827DF
+:103A800080F921E0822780FB96F99093EF0181E194
+:103A90000E94641C882359F09091EF0197FB8827BE
+:103AA00080F921E0822780FB97F99093EF018091C4
+:103AB000EF010E94D81D8091EF0187FB882780F9D4
+:103AC00080930D0187E20E94641CC82F8EE10E9442
+:103AD000641C8111C2608FE10E94641C8111C4606A
+:103AE00080E20E94641C8111C86081E20E94641C13
+:103AF0008111C06182E20E94641C8111C06283E274
+:103B00000E94641C8111C06484E20E94641C8823AA
+:103B100011F0C06802C0CC2329F08C2F0E94CF1D69
+:103B20006C2F03C00E94CB1D682F70E080E090E0F6
+:103B3000CF910C949E18CF9108956DEE7EEF80E0AA
+:103B400090E00E94F52360E082E090E00E94E32391
+:103B500060E083E090E00E94E32360E084E090E096
+:103B60000E94E32360E085E090E00C94E32380E092
+:103B700090E00E94DD2321E08D3E9E4F09F020E081
+:103B8000822F089582E090E00C94D523682F82E084
+:103B900090E00C94E32383E090E00C94D523682F0D
+:103BA00083E090E00C94E32384E090E00C94D52330
+:103BB000682F84E090E00C94E3238091D70180FF8C
+:103BC0000BC06091130185E0689FB00111247595C9
+:103BD0006795759567952AC081FF09C060911301AB
+:103BE00085E0689FB0011124759567951FC082FF1D
+:103BF00007C06091130185E0689FB001112416C0D1
+:103C00004091D8014423C9F060911201461788F70A
+:103C10002091130185E0289F90011124429FC0014B
+:103C2000439F900D112470E00E94A7236038710516
+:103C300040F46115710539F002C065E070E0862F2F
+:103C400008958FE7089581E008958091D70180FF5E
+:103C500008C06091110170E075956795759567953D
+:103C600021C081FF06C06091110170E075956795D4
+:103C700019C082FF04C06091110170E010C08091F2
+:103C8000D8018823C1F0609110018617A0F79091A8
+:103C90001101989FC001112470E00E94A723603891
+:103CA000710528F46115710521F0862F08958FE7BD
+:103CB000089581E0089561E070E0F4CF803F21F441
+:103CC0000E94DD1D819504C0813F29F40E94DD1D05
+:103CD0008093DB010895823F21F40E94DD1D8195D0
+:103CE00004C0833F29F40E94DD1D8093DA0108950A
+:103CF000893F19F40E94251E05C08A3F31F40E94B5
+:103D0000251E81958093DC0108958B3F21F40E944C
+:103D1000251E819504C08C3F29F40E94251E8093A6
+:103D2000DD010895843F21F48091D901816017C09D
+:103D3000853F21F48091D901826011C0863F21F432
+:103D40008091D90184600BC0873F21F48091D90113
+:103D5000886005C0883F31F48091D90180618093EB
+:103D6000D90108958D3F21F48091D70181600BC066
+:103D70008E3F21F48091D701826005C08F3F29F4E6
+:103D80008091D70184608093D7010895803F39F4F2
+:103D90008091DB0187FF6CC01092DB0169C0813F1D
+:103DA00029F48091DB011816BCF362C09091DA010E
+:103DB000823F29F497FF5CC01092DA0159C0833F1B
+:103DC00019F41916CCF354C0893F41F48091DC01F9
+:103DD00018160CF04DC01092DC014AC08A3F29F43D
+:103DE0008091DC0187FF44C0F6CF8B3F39F480918E
+:103DF000DD0187FF3DC01092DD013AC08C3F29F400
+:103E00008091DD011816BCF333C0843F21F480910A
+:103E1000D9018E7F17C0853F21F48091D9018D7F14
+:103E200011C0863F21F48091D9018B7F0BC0873F61
+:103E300021F48091D901877F05C0883F31F48091BA
+:103E4000D9018F7E8093D90113C08D3F21F48091D9
+:103E5000D7018E7F0BC08E3F21F48091D7018D7FDB
+:103E600005C08F3F29F48091D7018B7F8093D701C4
+:103E70008091DA0181110EC08091DB0181110AC0AD
+:103E80008091DC01811106C08091DD01811102C0A9
+:103E90001092D801089589ED91E00E94360F0E949A
+:103EA000B51B9093D6018093D50108951F93CF93AE
+:103EB000DF938091D5019091D6010E94C11B409162
+:103EC000D801442321F02091140130E006C0209154
+:103ED00015015AE0259F900111248217930708F4D9
+:103EE00082C08091DA011091DB01D091DC01C09198
+:103EF000DD01811107C0111105C0D11103C0CC2310
+:103F000009F471C04F3F19F04F5F4093D801181664
+:103F100024F40E94DD1D8093DA018091DA0187FF8D
+:103F200005C00E94DD1D81958093DA01111624F4ED
+:103F30000E94DD1D8093DB018091DB0187FF05C0BE
+:103F40000E94DD1D81958093DB016091DA0166237B
+:103F500039F11091DB01112319F1772767FD709575
+:103F6000872F972F0E94B82223E333E343E35FE3D5
+:103F70000E941C230E9485226093DA01612F77271B
+:103F800067FD7095872F972F0E94B82223E333E3B4
+:103F900043E35FE30E941C230E9485226093DB01C0
+:103FA0001D1624F40E94251E8093DC018091DC0103
+:103FB00087FF05C00E94251E81958093DC011C1699
+:103FC00024F40E94251E8093DD018091DD0187FF8E
+:103FD00005C00E94251E81958093DD01DF91CF9160
+:103FE0001F910C944B1FDF91CF911F910895E9ED24
+:103FF000F1E085E0DF011D928A95E9F71092D80182
+:104000001092D7010895833081F128F4813059F05E
+:104010008230D1F00895853009F449C0B8F1863076
+:1040200009F456C0089520911501862F90E0820F63
+:10403000911D8F3F910520F4620F60931501089543
+:104040008FEF80931501089520911401862F90E041
+:10405000820F911D8F3F910520F4620F6093140130
+:1040600008958FEF80931401089520911301862FF6
+:1040700090E0820F911D8F3F910520F4620F6093B5
+:10408000130108958FEF8093130108952091120179
+:10409000862F90E0820F911D8F3F910520F4620FD3
+:1040A0006093120108958FEF80931201089520917B
+:1040B0001101862F90E0820F911D8F3F910520F412
+:1040C000620F6093110108958FEF8093110108959D
+:1040D00020911001862F90E0820F911D8F3F910556
+:1040E00020F4620F6093100108958FEF8093100108
+:1040F0000895833011F128F4813049F0823091F035
+:104100000895853081F120F18630C1F108958091C4
+:104110001501681720F4861B8093150108951092ED
+:104120001501089580911401681720F4861B80936F
+:1041300014010895109214010895809113016817D5
+:1041400020F4861B809313010895109213010895A3
+:1041500080911201681720F4861B80931201089544
+:1041600010921201089580911101681720F4861BA6
+:10417000809311010895109211010895809110010A
+:10418000681720F4861B8093100108951092100187
+:1041900008958D3109F442C020F58E3009F477C0BE
+:1041A00070F4873009F459C018F48630F1F134C046
+:1041B000883009F4A8C08B3009F4A5C02DC0863121
+:1041C00009F4A1C038F4803109F472C0813109F4D6
+:1041D00079C022C0893109F496C08B3109F44DC0F1
+:1041E0001BC0853309F487C048F4873209F483C0C3
+:1041F00008F473C0893209F47EC00EC0833438F4E9
+:104200008A3308F068C0883309F47DC005C0833460
+:1042100009F471C0883499F080E008950E943F222B
+:104220000E941F0F0E9424086EC08091CF01817FE1
+:104230008E7F8093CF0181E08093DF0108950E94FB
+:10424000A2142FEF83ED90E3215080409040E1F7DE
+:1042500000C000000E940F1C56C09091CF01892F12
+:104260008095817080FB90F919F0966098601DC070
+:10427000997F977F9093CF0146C09091CF0191FB9A
+:10428000882780F921E0822780FB91F909C090916D
+:10429000CF0192FB882780F921E0822780FB92F9E9
+:1042A0009093CF01882379F191609093CF01089585
+:1042B0009091CF0193FB882780F921E0822780FB32
+:1042C00093F9EECF0E94A21480910D0191E089270D
+:1042D00080930D0118C027EC01C023EE280F61E088
+:1042E00070E080E090E004C0660F771F881F991F80
+:1042F0002A95D2F704C061E070E080E090E00E946F
+:104300009E180E94A21481E0089580E0089580E044
+:104310000895CF93C82F8091DF01813079F018F094
+:104320008230D1F184C0A0910E01B0910F018C9127
+:10433000813169F0823209F07CC009C0A0910E0180
+:10434000B0910F018C91813111F0823249F48C2FA0
+:104350000E94852181111DC08C2F0E94C9201AC086
+:104360008C2F0E948721811114C0C43179F048F448
+:10437000CB3079F0C03109F060C082E08093DF017A
+:1043800008C0C93219F0C83321F057C01092DF01BC
+:1043900054C081E0817053C0C93289F118F5C4312D
+:1043A00071F1A8F4C73009F046C08AE08093150186
+:1043B00094E19093140193E0909313018093120180
+:1043C00088E08093110188E28093100134C0CE51BF
+:1043D000C63088F5EC2FF0E0E65DFE4F80818093DB
+:1043E000DE0129C0CE34E9F020F4CB3421F56AE0B7
+:1043F00013C0C13579F0C235F1F461E00DC0809190
+:10440000DE01882319F01092DE0115C081E080934F
+:10441000DF0115C061E006C08091DE010E9403202B
+:104420000AC06AE08091DE010E94792004C01092E7
+:10443000DF0180E004C081E002C080E0ABCFCF911B
+:104440000895E1E8F0E08081886080838081816068
+:1044500080838FB7F89493E09093890090ED9093C8
+:1044600088008FBF0895EFE6F0E08081826080834E
+:104470000895EFE6F0E080818D7F80830895EFE678
+:10448000F0E0808192E08927808308951F920F9247
+:104490000FB60F9211242F933F934F935F936F9317
+:1044A0007F938F939F93AF93BF93EF93FF938091ED
+:1044B000E0019091E10101969093E1018093E00188
+:1044C000811103C082E00E942408E091E101E69599
+:1044D000E695F0E0E657FB4FE4918091E0018E1302
+:1044E00003C080E00E942408FF91EF91BF91AF913B
+:1044F0009F918F917F916F915F914F913F912F91FC
+:104500000F900FBE0F901F90189504D06894B111B2
+:104510008DC0089570D088F09F5790F0B92F9927DB
+:10452000B751A0F0D1F0660F771F881F991F1AF0BE
+:10453000BA95C9F712C0B13081F077D0B1E00895D3
+:1045400074C0672F782F8827B85F39F0B93FCCF354
+:10455000869577956795B395D9F73EF490958095B4
+:10456000709561957F4F8F4F9F4F0895E89409C0D4
+:1045700097FB3EF490958095709561957F4F8F4F96
+:104580009F4F9923A9F0F92F96E9BB279395F695AC
+:10459000879577956795B795F111F8CFFAF4BB0F2A
+:1045A00011F460FF1BC06F5F7F4F8F4F9F4F16C08E
+:1045B000882311F096E911C0772321F09EE8872F18
+:1045C000762F05C0662371F096E8862F70E060E0D4
+:1045D0002AF09A95660F771F881FDAF7880F96954D
+:1045E000879597F9089557FD9058440F551F59F036
+:1045F0005F3F71F04795880F97FB991F61F09F3FD0
+:1046000079F087950895121613061406551FF2CFF8
+:104610004695F1DF08C0161617061806991FF1CF48
+:1046200086957105610508940895E894BB2766276F
+:104630007727CB0197F908950BD078C069D028F07F
+:104640006ED018F0952309F05AC05FC01124EECF48
+:10465000CADFA0F3959FD1F3950F50E0551F629FDD
+:10466000F001729FBB27F00DB11D639FAA27F00DCB
+:10467000B11DAA1F649F6627B00DA11D661F829FF2
+:104680002227B00DA11D621F739FB00DA11D621FD7
+:10469000839FA00D611D221F749F3327A00D611DF4
+:1046A000231F849F600D211D822F762F6A2F1124D6
+:1046B0009F5750408AF0E1F088234AF0EE0FFF1F29
+:1046C000BB1F661F771F881F91505040A9F79E3F60
+:1046D000510570F014C0AACF5F3FECF3983EDCF3B5
+:1046E000869577956795B795F795E7959F5FC1F79D
+:1046F000FE2B880F911D9695879597F9089597F948
+:104700009F6780E870E060E008959FEF80EC089577
+:1047100000240A94161617061806090608950024A0
+:104720000A9412161306140605060895092E03941A
+:10473000000C11F4882352F0BB0F40F4BF2B11F48E
+:1047400060FF04C06F5F7F4F8F4F9F4F089597FBAF
+:10475000072E16F4009407D077FD09D00E94C123DC
+:1047600007FC05D03EF4909581959F4F0895709574
+:1047700061957F4F0895EE0FFF1F0590F491E02D96
+:104780000994AA1BBB1B51E107C0AA1FBB1FA61798
+:10479000B70710F0A61BB70B881F991F5A95A9F7EA
+:1047A00080959095BC01CD010895F999FECF92BDF9
+:1047B00081BDF89A992780B50895A8E1B0E042E05C
+:1047C00050E00C94FD23262FF999FECF92BD81BDB8
+:1047D000F89A019700B4021639F01FBA20BD0FB63F
+:1047E000F894FA9AF99A0FBE08950196272F0E941D
+:1047F000E4230C94E323DC01CB01FC01F999FECF07
+:1048000006C0F2BDE1BDF89A319600B40D92415058
+:0A4810005040B8F70895F894FFCF68
+:10481A0020022608B30890085C0829080101BC0197
+:10482A0028080A03140A3F4D36394B04FE03C8030D
+:10483A008F0322033B0354036D030102030405069D
+:04484A000708090052
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c b/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c index 24ff1c6884..f319013312 100644 --- a/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c +++ b/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c @@ -7,6 +7,9 @@ #define SYMB 1 // symbols #define MDIA 2 // media keys +#define LSFTO M(0) // Left shift, open parens when tapped +#define RSFTC M(1) // Right shift, close parens when tapped + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * @@ -17,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | BkSp | A | S | D | F | G |------| |------| H | Alt/J| K | L |; / L2| LGui/' | * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * |LShift/(|Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl|RShift/)| * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | * `----------------------------------' `----------------------------------' @@ -36,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + LSFTO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, @@ -45,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_RGHT, KC_6,KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(SYMB), KC_Y,KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_H,ALT_T(KC_J),KC_K, KC_L, LT(MDIA,KC_SCLN),GUI_T(KC_QUOT), - MEH_T(KC_NO),KC_N,KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + MEH_T(KC_NO),KC_N,KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), RSFTC, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, KC_LALT, CTL_T(KC_ESC), KC_PGUP, @@ -140,17 +143,37 @@ const uint16_t PROGMEM fn_actions[] = { [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) }; +static uint16_t key_timer; + const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - // MACRODOWN only works in this function switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); + case 0: { + if (record->event.pressed) { + key_timer = timer_read(); // if the key is being pressed, we start the timer. + register_code(KC_LSFT); // we're now holding down Shift. + } else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down"). + if (timer_elapsed(key_timer) < 70) { // the threshhold we pick for counting something as a tap. + register_code(KC_9); // sending 9 while Shift is held down gives us an opening paren + unregister_code(KC_9); // now let's let go of that key + } + unregister_code(KC_LSFT); // let's release the Shift key now. + } + break; + } + case 1: { + if (record->event.pressed) { + key_timer = timer_read(); // Now we're doing the same thing, only for the right shift/close paren key + register_code(KC_RSFT); + } else { + if (timer_elapsed(key_timer) < 70) { + register_code(KC_0); + unregister_code(KC_0); + } + unregister_code(KC_RSFT); + } + break; } - break; } return MACRO_NONE; }; @@ -183,3 +206,5 @@ void matrix_scan_user(void) { } }; + + diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py new file mode 100644 index 0000000000..7076a6ecb2 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py @@ -0,0 +1,710 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Compiler for keymap.c files + +This scrip will generate a keymap.c file from a simple +markdown file with a specific layout. + +Usage: + python compile_keymap.py INPUT_PATH [OUTPUT_PATH] +""" +from __future__ import division +from __future__ import print_function +from __future__ import absolute_import +from __future__ import unicode_literals + +import os +import io +import re +import sys +import json +import unicodedata +import collections +import itertools as it + +PY2 = sys.version_info.major == 2 + +if PY2: + chr = unichr + + +KEYBOARD_LAYOUTS = { + # These map positions in the parsed layout to + # positions in the KEYMAP MATRIX + 'ergodox_ez': [ + [ 0, 1, 2, 3, 4, 5, 6], [38, 39, 40, 41, 42, 43, 44], + [ 7, 8, 9, 10, 11, 12, 13], [45, 46, 47, 48, 49, 50, 51], + [14, 15, 16, 17, 18, 19 ], [ 52, 53, 54, 55, 56, 57], + [20, 21, 22, 23, 24, 25, 26], [58, 59, 60, 61, 62, 63, 64], + [27, 28, 29, 30, 31 ], [ 65, 66, 67, 68, 69], + [ 32, 33], [70, 71 ], + [ 34], [72 ], + [ 35, 36, 37], [73, 74, 75 ], + ] +} + +ROW_INDENTS = { + 'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0] +} + +BLANK_LAYOUTS = [ +# Compact Layout +""" +.------------------------------------.------------------------------------. +| | | | | | | | | | | | | | | +!-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! +| | | | | | | | | | | | | | | +!-----+----+----+----x----x----! ! !----x----x----+----+----+-----! +| | | | | | |-----!-----! | | | | | | +!-----+----+----+----x----x----! ! !----x----x----+----+----+-----! +| | | | | | | | | | | | | | | +'-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' +""", + +# Wide Layout +""" +.---------------------------------------------. .---------------------------------------------. +| | | | | | | | ! | | | | | | | +!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------! +| | | | | | | | ! | | | | | | | +!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------! +| | | | | | |-------! !-------! | | | | | | +!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------! +| | | | | | | | ! | | | | | | | +'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------' + | | | | | | ! | | | | | + '------------------------------' '------------------------------' + .---------------. .---------------. + | | | ! | | + .-------+-------+-------! !-------+-------+-------. + ! ! | | ! | ! ! + ! ! !-------! !-------! ! ! + | | | | ! | | | + '-----------------------' '-----------------------' +""", +] + + +DEFAULT_CONFIG = { + "keymaps_includes": [ + "keymap_common.h", + ], + 'filler': "-+.'!:x", + 'separator': "|", + 'default_key_prefix': ["KC_"], +} + + +SECTIONS = [ + 'layout_config', + 'layers', +] + + +# Markdown Parsing + +ONELINE_COMMENT_RE = re.compile(r""" + ^ # comment must be at the start of the line + \s* # arbitrary whitespace + // # start of the comment + (.*) # the comment + $ # until the end of line +""", re.MULTILINE | re.VERBOSE +) + +INLINE_COMMENT_RE = re.compile(r""" + ([\,\"\[\]\{\}\d]) # anythig that might end a expression + \s+ # comment must be preceded by whitespace + // # start of the comment + \s # and succeded by whitespace + (?:[^\"\]\}\{\[]*) # the comment (except things which might be json) + $ # until the end of line +""", re.MULTILINE | re.VERBOSE) + +TRAILING_COMMA_RE = re.compile(r""" + , # the comma + (?:\s*) # arbitrary whitespace + $ # only works if the trailing comma is followed by newline + (\s*) # arbitrary whitespace + ([\]\}]) # end of an array or object +""", re.MULTILINE | re.VERBOSE) + + +def loads(raw_data): + if isinstance(raw_data, bytes): + raw_data = raw_data.decode('utf-8') + + raw_data = ONELINE_COMMENT_RE.sub(r"", raw_data) + raw_data = INLINE_COMMENT_RE.sub(r"\1", raw_data) + raw_data = TRAILING_COMMA_RE.sub(r"\1\2", raw_data) + return json.loads(raw_data) + + +def parse_config(path): + def reset_section(): + section.update({ + 'name': section.get('name', ""), + 'sub_name': "", + 'start_line': -1, + 'end_line': -1, + 'code_lines': [], + }) + + def start_section(line_index, line): + end_section() + if line.startswith("# "): + name = line[2:] + elif line.startswith("## "): + name = line[3:] + else: + name = "" + + name = name.strip().replace(" ", "_").lower() + if name in SECTIONS: + section['name'] = name + else: + section['sub_name'] = name + section['start_line'] = line_index + + def end_section(): + if section['start_line'] >= 0: + if section['name'] == 'layout_config': + config.update(loads("\n".join( + section['code_lines'] + ))) + elif section['sub_name'].startswith('layer'): + layer_name = section['sub_name'] + config['layer_lines'][layer_name] = section['code_lines'] + + reset_section() + + def amend_section(line_index, line): + section['end_line'] = line_index + section['code_lines'].append(line) + + config = DEFAULT_CONFIG.copy() + config.update({ + 'layer_lines': collections.OrderedDict(), + 'macro_ids': {'UM'}, + 'unicode_macros': {}, + }) + + section = {} + reset_section() + + with io.open(path, encoding="utf-8") as fh: + for i, line in enumerate(fh): + if line.startswith("#"): + start_section(i, line) + elif line.startswith(" "): + amend_section(i, line[4:]) + else: + # TODO: maybe parse description + pass + + end_section() + assert 'layout' in config + return config + +# header file parsing + +IF0_RE = re.compile(r""" + ^ + #if 0 + $.*? + #endif +""", re.MULTILINE | re.DOTALL | re.VERBOSE) + + +COMMENT_RE = re.compile(r""" + /\* + .*? + \*/" +""", re.MULTILINE | re.DOTALL | re.VERBOSE) + + +def read_header_file(path): + with io.open(path, encoding="utf-8") as fh: + data = fh.read() + data, _ = COMMENT_RE.subn("", data) + data, _ = IF0_RE.subn("", data) + return data + + +def regex_partial(re_str_fmt, flags): + def partial(*args, **kwargs): + re_str = re_str_fmt.format(*args, **kwargs) + return re.compile(re_str, flags) + return partial + + +KEYDEF_REP = regex_partial(r""" + #define + \s + ( + (?:{}) # the prefixes + (?:\w+) # the key name + ) # capture group end +""", re.MULTILINE | re.DOTALL | re.VERBOSE) + + +ENUM_RE = re.compile(r""" + ( + enum + \s\w+\s + \{ + .*? # the enum content + \} + ; + ) # capture group end +""", re.MULTILINE | re.DOTALL | re.VERBOSE) + + +ENUM_KEY_REP = regex_partial(r""" + ( + {} # the prefixes + \w+ # the key name + ) # capture group end +""", re.MULTILINE | re.DOTALL | re.VERBOSE) + + +def parse_keydefs(config, data): + prefix_options = "|".join(config['key_prefixes']) + keydef_re = KEYDEF_REP(prefix_options) + enum_key_re = ENUM_KEY_REP(prefix_options) + for match in keydef_re.finditer(data): + yield match.groups()[0] + + for enum_match in ENUM_RE.finditer(data): + enum = enum_match.groups()[0] + for key_match in enum_key_re.finditer(enum): + yield key_match.groups()[0] + + +def parse_valid_keys(config, out_path): + basepath = os.path.abspath(os.path.join(os.path.dirname(out_path))) + dirpaths = [] + subpaths = [] + while len(subpaths) < 6: + path = os.path.join(basepath, *subpaths) + dirpaths.append(path) + dirpaths.append(os.path.join(path, "tmk_core", "common")) + dirpaths.append(os.path.join(path, "quantum")) + subpaths.append('..') + + includes = set(config['keymaps_includes']) + includes.add("keycode.h") + + valid_keycodes = set() + for dirpath, include in it.product(dirpaths, includes): + include_path = os.path.join(dirpath, include) + if os.path.exists(include_path): + header_data = read_header_file(include_path) + valid_keycodes.update( + parse_keydefs(config, header_data) + ) + return valid_keycodes + + +# Keymap Parsing + +def iter_raw_codes(layer_lines, filler, separator): + filler_re = re.compile("[" + filler + " ]") + for line in layer_lines: + line, _ = filler_re.subn("", line.strip()) + if not line: + continue + codes = line.split(separator) + for code in codes[1:-1]: + yield code + + +def iter_indexed_codes(raw_codes, key_indexes): + key_rows = {} + key_indexes_flat = [] + + for row_index, key_indexes in enumerate(key_indexes): + for key_index in key_indexes: + key_rows[key_index] = row_index + key_indexes_flat.extend(key_indexes) + assert len(raw_codes) == len(key_indexes_flat) + for raw_code, key_index in zip(raw_codes, key_indexes_flat): + # we keep track of the row mostly for layout purposes + yield raw_code, key_index, key_rows[key_index] + + +LAYER_CHANGE_RE = re.compile(r""" + (DF|TG|MO)\(\d+\) +""", re.VERBOSE) + + +MACRO_RE = re.compile(r""" + M\(\w+\) +""", re.VERBOSE) + + +UNICODE_RE = re.compile(r""" + U[0-9A-F]{4} +""", re.VERBOSE) + + +NON_CODE = re.compile(r""" + ^[^A-Z0-9_]$ +""", re.VERBOSE) + + +def parse_uni_code(raw_code): + macro_id = "UC_" + ( + unicodedata.name(raw_code) + .replace(" ", "_") + .replace("-", "_") + ) + code = "M({})".format(macro_id) + uc_hex = "{:04X}".format(ord(raw_code)) + return code, macro_id, uc_hex + + +def parse_key_code(raw_code, key_prefixes, valid_keycodes): + if raw_code in valid_keycodes: + return raw_code + + for prefix in key_prefixes: + code = prefix + raw_code + if code in valid_keycodes: + return code + + +def parse_code(raw_code, key_prefixes, valid_keycodes): + if not raw_code: + return 'KC_TRNS', None, None + + if LAYER_CHANGE_RE.match(raw_code): + return raw_code, None, None + + if MACRO_RE.match(raw_code): + macro_id = raw_code[2:-1] + return raw_code, macro_id, None + + if UNICODE_RE.match(raw_code): + hex_code = raw_code[1:] + return parse_uni_code(chr(int(hex_code, 16))) + + if NON_CODE.match(raw_code): + return parse_uni_code(raw_code) + + code = parse_key_code(raw_code, key_prefixes, valid_keycodes) + return code, None, None + + +def parse_keymap(config, key_indexes, layer_lines, valid_keycodes): + keymap = {} + raw_codes = list(iter_raw_codes( + layer_lines, config['filler'], config['separator'] + )) + indexed_codes = iter_indexed_codes(raw_codes, key_indexes) + key_prefixes = config['key_prefixes'] + for raw_code, key_index, row_index in indexed_codes: + code, macro_id, uc_hex = parse_code( + raw_code, key_prefixes, valid_keycodes + ) + # TODO: line numbers for invalid codes + err_msg = "Could not parse key '{}' on row {}".format( + raw_code, row_index + ) + assert code is not None, err_msg + # print(repr(raw_code), repr(code), macro_id, uc_hex) + if macro_id: + config['macro_ids'].add(macro_id) + if uc_hex: + config['unicode_macros'][macro_id] = uc_hex + keymap[key_index] = (code, row_index) + return keymap + + +def parse_keymaps(config, valid_keycodes): + keymaps = collections.OrderedDict() + key_indexes = config.get( + 'key_indexes', KEYBOARD_LAYOUTS[config['layout']] + ) + # TODO: maybe validate key_indexes + + for layer_name, layer_lines, in config['layer_lines'].items(): + keymaps[layer_name] = parse_keymap( + config, key_indexes, layer_lines, valid_keycodes + ) + return keymaps + +# keymap.c output + +USERCODE = """ +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + case L1: + ergodox_right_led_1_on(); + break; + case L2: + ergodox_right_led_2_on(); + break; + case L3: + ergodox_right_led_3_on(); + break; + case L4: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + break; + case L5: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + break; + // case L6: + // ergodox_right_led_2_on(); + // ergodox_right_led_3_on(); + // break; + // case L7: + // ergodox_right_led_1_on(); + // ergodox_right_led_2_on(); + // ergodox_right_led_3_on(); + // break; + default: + ergodox_board_led_off(); + break; + } +}; +""" + +MACROCODE = """ +#define UC_MODE_WIN 0 +#define UC_MODE_LINUX 1 +#define UC_MODE_OSX 2 + +// TODO: allow default mode to be configured +static uint16_t unicode_mode = UC_MODE_WIN; + +uint16_t hextokeycode(uint8_t hex) {{ + if (hex == 0x0) {{ + return KC_P0; + }} + if (hex < 0xA) {{ + return KC_P1 + (hex - 0x1); + }} + return KC_A + (hex - 0xA); +}} + +void unicode_action_function(uint16_t hi, uint16_t lo) {{ + switch (unicode_mode) {{ + case UC_MODE_WIN: + register_code(KC_LALT); + + register_code(KC_PPLS); + unregister_code(KC_PPLS); + + register_code(hextokeycode((hi & 0xF0) >> 4)); + unregister_code(hextokeycode((hi & 0xF0) >> 4)); + register_code(hextokeycode((hi & 0x0F))); + unregister_code(hextokeycode((hi & 0x0F))); + register_code(hextokeycode((lo & 0xF0) >> 4)); + unregister_code(hextokeycode((lo & 0xF0) >> 4)); + register_code(hextokeycode((lo & 0x0F))); + unregister_code(hextokeycode((lo & 0x0F))); + + unregister_code(KC_LALT); + break; + case UC_MODE_LINUX: + register_code(KC_LCTL); + register_code(KC_LSFT); + + register_code(KC_U); + unregister_code(KC_U); + + register_code(hextokeycode((hi & 0xF0) >> 4)); + unregister_code(hextokeycode((hi & 0xF0) >> 4)); + register_code(hextokeycode((hi & 0x0F))); + unregister_code(hextokeycode((hi & 0x0F))); + register_code(hextokeycode((lo & 0xF0) >> 4)); + unregister_code(hextokeycode((lo & 0xF0) >> 4)); + register_code(hextokeycode((lo & 0x0F))); + unregister_code(hextokeycode((lo & 0x0F))); + + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + break; + case UC_MODE_OSX: + break; + }} +}} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{ + if (!record->event.pressed) {{ + return MACRO_NONE; + }} + // MACRODOWN only works in this function + switch(id) {{ + case UM: + unicode_mode = (unicode_mode + 1) % 2; + break; +{macro_cases} +{unicode_macro_cases} + default: + break; + }} + return MACRO_NONE; +}}; +""" + + +UNICODE_MACRO_TEMPLATE = """ +case {macro_id}: + unicode_action_function(0x{hi:02x}, 0x{lo:02x}); + break; +""".strip() + + +def unicode_macro_cases(config): + for macro_id, uc_hex in config['unicode_macros'].items(): + hi = int(uc_hex, 16) >> 8 + lo = int(uc_hex, 16) & 0xFF + unimacro_keys = ", ".join( + "T({})".format( + "KP_" + digit if digit.isdigit() else digit + ) for digit in uc_hex + ) + yield UNICODE_MACRO_TEMPLATE.format( + macro_id=macro_id, hi=hi, lo=lo + ) + + +def iter_keymap_lines(keymap, row_indents=None): + col_widths = {} + col = 0 + # first pass, figure out the column widths + prev_row_index = None + for code, row_index in keymap.values(): + if row_index != prev_row_index: + col = 0 + if row_indents: + col = row_indents[row_index] + col_widths[col] = max(len(code), col_widths.get(col, 0)) + prev_row_index = row_index + col += 1 + + # second pass, yield the cell values + col = 0 + prev_row_index = None + for key_index in sorted(keymap): + code, row_index = keymap[key_index] + if row_index != prev_row_index: + col = 0 + yield "\n" + if row_indents: + for indent_col in range(row_indents[row_index]): + pad = " " * (col_widths[indent_col] - 4) + yield (" /*-*/" + pad) + col = row_indents[row_index] + else: + yield pad + yield " {}".format(code) + if key_index < len(keymap) - 1: + yield "," + # This will be yielded on the next iteration when + # we know that we're not at the end of a line. + pad = " " * (col_widths[col] - len(code)) + prev_row_index = row_index + col += 1 + + +def iter_keymap_parts(config, keymaps): + # includes + for include_path in config['keymaps_includes']: + yield '#include "{}"\n'.format(include_path) + + yield "\n" + + # definitions + for i, macro_id in enumerate(sorted(config['macro_ids'])): + yield "#define {} {}\n".format(macro_id, i) + + yield "\n" + + for i, layer_name in enumerate(config['layer_lines']): + yield '#define L{0:<3} {0:<5} // {1}\n'.format(i, layer_name) + + yield "\n" + + # keymaps + yield "const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\n" + + for i, layer_name in enumerate(config['layer_lines']): + # comment + layer_lines = config['layer_lines'][layer_name] + prefixed_lines = " * " + " * ".join(layer_lines) + yield "/*\n{} */\n".format(prefixed_lines) + + # keymap codes + keymap = keymaps[layer_name] + row_indents = ROW_INDENTS.get(config['layout']) + keymap_lines = "".join(iter_keymap_lines(keymap, row_indents)) + yield "[L{0}] = KEYMAP({1}\n),\n".format(i, keymap_lines) + + yield "};\n\n" + + # no idea what this is for + yield "const uint16_t PROGMEM fn_actions[] = {};\n" + + # macros + yield MACROCODE.format( + macro_cases="", + unicode_macro_cases="\n".join(unicode_macro_cases(config)), + ) + + # TODO: dynamically create blinking lights + yield USERCODE + + +def main(argv=sys.argv[1:]): + if not argv or '-h' in argv or '--help' in argv: + print(__doc__) + return 0 + + in_path = os.path.abspath(argv[0]) + if not os.path.exists(in_path): + print("No such file '{}'".format(in_path)) + return 1 + + if len(argv) > 1: + out_path = os.path.abspath(argv[1]) + else: + dirname = os.path.dirname(in_path) + out_path = os.path.join(dirname, "keymap.c") + + config = parse_config(in_path) + valid_keys = parse_valid_keys(config, out_path) + keymaps = parse_keymaps(config, valid_keys) + + with io.open(out_path, mode="w", encoding="utf-8") as fh: + for part in iter_keymap_parts(config, keymaps): + fh.write(part) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex b/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex new file mode 100644 index 0000000000..ee1d30967d --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex @@ -0,0 +1,1240 @@ +:100000000C9412040C9456040C9456040C9456044C
+:100010000C9456040C9456040C9456040C945604F8
+:100020000C9456040C9456040C944F0F0C9421100D
+:100030000C9456040C9456040C9456040C945604D8
+:100040000C9456040C94D6240C9456040C94560428
+:100050000C9456040C94751E0C9456040C9456047F
+:100060000C9456040C9456040C9456040C945604A8
+:100070000C9456040C9456040C9456040C94560498
+:100080000C9456040C9456040C9456040C94560488
+:100090000C9456040C9456040C9456040C94560478
+:1000A0000C9456040C9456040C945604A305700545
+:1000B0005B05B505DC050F06F105F7050C063A06EC
+:1000C0002F06FA0532064605EB0523062C066D05BC
+:1000D0006405B205A905910567052605BE05140648
+:1000E0001D0629069705C705A60540051A06E5055C
+:1000F00088059D0594057C0520068B053105E805DE
+:100100008205C1052005AC055E054C057605730525
+:10011000CA059A05060637058505AF052305B80506
+:1001200003060906D3055505EE0543056A054F0587
+:10013000C405F40535062905A005BB05FD05CD055B
+:1001400052052606E2053D058E055805D9056105CF
+:1001500000063A05D005DF052C0549053F061706C0
+:1001600079053405D6057F0514058610A81093116E
+:10017000A8109311EA100D119311621175116E14EC
+:100180006E149C149C14DE141A151A171A173215C3
+:100190001A1729162916F4161A171A1708170552CE
+:1001A000045201520352010000001E001B001800FF
+:1001B0002F00010029001F0013000C003300E30092
+:1001C000E1002000090004003400E2002A002100C0
+:1001D0001A0008000600E000650022000A00120074
+:1001E0001900000049002E004A0000004D000000E8
+:1001F00002542E02025400002B0000005E30230047
+:100200000B001600050000004C0024000D0011003A
+:100210001000E4004B0025000E0015003600E6003B
+:100220002C0026000F001700370050002800270080
+:1002300014000700520051004E0035001C002D0034
+:100240001D004F000000010001000100010001003D
+:1002500000001E02300238020100010001001F02EE
+:10026000641438003000010001002002240223023F
+:1002700027020100010001002414251401000100DF
+:1002800001000100271426140100000001000100F4
+:100290000100000001000000010001000100000059
+:1002A0000100000001000100310021022D140000B6
+:1002B000010001006400250222020100010001008A
+:1002C0006402260236020100010001000100301420
+:1002D00037023830010035021F023102553002303A
+:1002E0000100010001002D0201003D30000001006D
+:1002F000010001000100010000003A0001000100BE
+:100300000100010001003B000100010001000100AB
+:1003100001003C00010001000100010001003D005E
+:10032000010001000100010001003E000100010088
+:100330000100000001004400010000000100000075
+:1003400001004500010000005300000001003F00D3
+:100350000100010001000000010040005F005C009E
+:10036000590062000100410060005D005A008500F4
+:100370000100420061005E005B0063000100430079
+:100380005500560057005800010067005400560001
+:1003900057005800000001000100010001000100A9
+:1003A00000004D30393001005B3001000100513058
+:1003B00058303C303B300100010050300130141403
+:1003C0005D30010001004A30593008145C300100F2
+:1003D0000100493057300430003000000100053082
+:1003E0000100000001000000010001000100000008
+:1003F0000100000001004F305A3037301E0200006B
+:1004000001004E3001004B30010001000100483076
+:10041000563054305330010001004C30010003309D
+:100420003A300100010052300100010001000100DA
+:1004300001000100010001000100010000000100B5
+:100440000100010001000100000042302030343082
+:1004500001000100010046302E302630333001000B
+:10046000010045302D301E300100010001004030F8
+:100470002B3022300100010001003F3025302C30AC
+:100480000100000001000100010000000100000067
+:1004900001000100010000000100000001004430E3
+:1004A000233031301F3000000100433035302A3016
+:1004B0002930010001003E302730303001000100BA
+:1004C0000100413028303230010001000100473086
+:1004D000010021300100010001000100363024300C
+:1004E0002F300100000001000100010001000100A7
+:1004F0000000010008301B30010001000100010074
+:1005000015300D301A3001000100010014300630A2
+:10051000010001000100010012300A300100010059
+:10052000010001000C301330010000000100010047
+:1005300001000000010000000100010001000000B6
+:1005400001000000010001000B30183007300000EE
+:10055000010001001C3011301030010001000100C9
+:100560000E30173001000100010001000F3019307A
+:10057000010001000100010001000930010001003B
+:10058000010001001D3001001630010000000100D3
+:100590000100010001000100000001000100010054
+:1005A0000100010001000100010001000100010043
+:1005B0000100010001000100010001000100010033
+:1005C0000100010001000100010001000100010023
+:1005D0000100000001000100010000000100000016
+:1005E0000100010001000000010000000100010005
+:1005F00001000100010000000100010001000100F4
+:1006000001000100010001000100010001000100E2
+:1006100001000100010001000100010001000100D2
+:1006200001000100010001000100010001000100C2
+:1006300001000100000016034500720067006F0012
+:1006400044006F007800200045005A0000001603A7
+:100650004500720067006F0044006F0078002000C2
+:1006600045005A0000000403090409026D0004015A
+:1006700000A0FA0904000001030101000921110191
+:100680000001223F000705810308000A0904010058
+:100690000103010200092111010001224D0007059B
+:1006A000820308000A090402000103000000092176
+:1006B000110100012236000705830308000A09041E
+:1006C000030001030000000921110100012239008B
+:1006D000070584031000011201100100000008ED5D
+:1006E000FE071301000102000105010906A1010531
+:1006F0000719E029E7150025019508750181020514
+:100700000819012905950575019102950175039157
+:1007100001050719002977150025019578750181D4
+:1007200002C005010980A101850216010026B7005B
+:100730001A01002AB700751095018100C0050C0947
+:1007400001A1018503160100269C021A01002A9CC2
+:1007500002751095018100C005010902A10109017E
+:10076000A100050919012905150025019505750147
+:100770008102950175038101050109300931158157
+:10078000257F95027508810609381581257F950119
+:1007900075088106050C0A38021581257F950175BB
+:1007A000088106C0C005010906A101050719E02955
+:1007B000E7150025019508750181029501750881ED
+:1007C0000105081901290595057501910295017525
+:1007D0000391010507190029FF150025FF950675EE
+:1007E000088100C0000000000000000000000001BF
+:1007F0000204060A0F17202C3A4A5D71879DB3C781
+:10080000DAE9F5FCFFFCF5E9DAC7B39D87715D4ACB
+:100810003A2C20170F0A0604020100000000000015
+:100820000000000011241FBECFEFDAE0DEBFCDBF15
+:1008300004B603FE24C08091F1019091F201A091D1
+:10084000F301B091F4018730904BA740B04BB9F45D
+:100850001092F1011092F2011092F3011092F40142
+:1008600014BE84B7877F84BF88E10FB6F894809365
+:100870006000109260000FBEE0E0FFE3099511E018
+:10088000A0E0B1E0E0E3FDE402C005900D92A433E6
+:10089000B107D9F711E0A4E3B1E001C01D92A13F77
+:1008A000B107E1F70E94950C0C9496260C94000079
+:1008B000282F882341F090E02A3018F4885A9F4F5F
+:1008C00008950697089582E690E008950F931F9388
+:1008D000CF93DF938C01EB0180913401909135012E
+:1008E000009709F448C0019709F089C080EE0E9482
+:1008F000F71281EE0E94F71288E10E94F71288E158
+:100900000E94BF13C801807F992724E096958795A0
+:100910002A95E1F70E945804182F0E94F712812FA0
+:100920000E94BF13802F8F700E945804182F0E94BE
+:10093000F712812F0E94BF13CE01807F992734E0E8
+:10094000969587953A95E1F70E945804D82F0E9412
+:10095000F7128D2F0E94BF138C2F8F700E945804A6
+:10096000C82F0E94F7128C2F0E94BF1380EE0E94A6
+:10097000BF1381EE3EC082EE0E94F71287E50E940F
+:10098000F71287E50E94BF13C801807F992744E0D2
+:10099000969587954A95E1F70E945804182F0E9472
+:1009A000F712812F0E94BF13802F8F700E9458046E
+:1009B000182F0E94F712812F0E94BF13CE01807F53
+:1009C000992754E0969587955A95E1F70E94580427
+:1009D000D82F0E94F7128D2F0E94BF138C2F8F707B
+:1009E0000E945804C82F0E94F7128C2F0E94BF1338
+:1009F00082EEDF91CF911F910F910C94BF13DF9185
+:100A0000CF911F910F910895FC018281882309F4F1
+:100A10003CC1862F90E08F35910508F036C1FC016E
+:100A2000EA5AFF4F0C944B26809134019091350186
+:100A3000019681709927909335018093340125C1E7
+:100A40006FEB70E019C160E970E008C061EA70E026
+:100A500013C163E870E00BC16BE570E081E290E0E8
+:100A600012C16BEB70E008C163E570E0F7CF6EEB8D
+:100A700070E002C164E070E0D4C069EB70E001C1D5
+:100A800062EB70E0F9C065E870E0F1C069E970E020
+:100A9000F3C065E570E0E2CF68EC70E0EDC069E8B6
+:100AA00070E0E5C064E770E0E2C062E970E0D6CFD4
+:100AB00066E770E0DCC063E970E0D0CF60EC70E026
+:100AC000DBC062EB70E0DDC069EA70E0D5C068EAC7
+:100AD00070E0D2C064E870E0CAC06DE970E0CCC0DC
+:100AE00067EF70E0CEC063EC70E0C6C061EC70E010
+:100AF000C3C069E570E0B2CF63EB70E0BDC064E5F0
+:100B000070E0ACCF6DEB70E0B7C066EB70E0B4C0E6
+:100B100065EB70E0B1C06AEB70E0AEC067E770E013
+:100B2000A6C060EA70E0A8C062EC70E0A5C06EE903
+:100B300070E0A2C068EB70E09FC067EB70E09CC003
+:100B400062E870E094C063E470E06BC061EB70E059
+:100B500093C066EA70E090C066EC70E08DC06EE114
+:100B600070E05FC06FE970E087C068E070E059C076
+:100B700067ED70E086C060E870E079C063EA70E01D
+:100B80007BC069EC70E078C061E870E070C066E935
+:100B900070E072C064EC70E06FC065E770E067C041
+:100BA00063E070E03EC061EB70E06BC06EEB70E044
+:100BB00068C063EB70E065C065E070E032C061E979
+:100BC00070E04CCF69E770E052C064EB70E054C055
+:100BD0006CEB70E051C06AE970E04EC068E870E00C
+:100BE00046C061E970E048C067E870E040C062E973
+:100BF00070E042C067E970E03FC068E770E037C06E
+:100C000060E770E034C069E070E00BC065EC70E054
+:100C100033C060E670E005C067EA70E02DC060E0B8
+:100C200070E082E290E02FC064EA70E025C06CEBD7
+:100C300070E027C067EC70E01FC068E970E01CC07E
+:100C400069EB70E019C06BE970E016C06FE770E007
+:100C50000EC065EA70E010C06CE970E00DC065E997
+:100C600070E00AC063E970E007C066E870E080E207
+:100C700090E009C064E970E083E090E004C06DEBAF
+:100C800070E080E090E00E94660480E090E00895CB
+:100C900008956091B3017091B4018091B501909174
+:100CA000B6010E94A11D56985E9825982D98269809
+:100CB0002E9827982F988330A9F028F4813051F08E
+:100CC000823069F012C0843041F0853071F4259A89
+:100CD0002D9A08C0259A2D9A0895259A2D9A269A1C
+:100CE0002E9A0895279A2F9A089556985E980895F7
+:100CF0000C94490656985E9825982D9826982E981B
+:100D000027982F988FEF90E0909389008093880028
+:100D100090938B0080938A0090938D0080938C0039
+:100D2000259A2D9A2FEF80E792E021508040904045
+:100D3000E1F700C00000269A2E9A2FEF80E792E09C
+:100D4000215080409040E1F700C00000279A2F9A80
+:100D50002FEF80E792E0215080409040E1F700C003
+:100D6000000025982D982FEF80E792E021508040D9
+:100D70009040E1F700C0000026982E982FEF80E702
+:100D800092E0215080409040E1F700C00000279899
+:100D90002F9856985E9825982D9826982E982798E3
+:100DA0002F98089589EA8093800089E080938100DC
+:100DB00024982C983F988AB18F748AB96E98479A74
+:100DC0008BB1806B8BB9769A0E947A060C94480698
+:100DD00080E2809300018091360181110EC00E9453
+:100DE000370781E0809336012FEF83ED90E32150A8
+:100DF00080409040E1F700C0000080E40E943D0781
+:100E00008093000181112EC00E946707809300012A
+:100E1000811128C00E94670780930001811122C0C0
+:100E20008FE30E9467078093000181111BC00E941D
+:100E30005F0780E40E943D0780930001811112C08A
+:100E40008CE00E9467078093000181110BC00E9413
+:100E5000670780930001811105C08FE30E94670737
+:100E6000809300010E945F07809100010895109215
+:100E7000B9008AE08093B800089594EA9093BC008A
+:100E80009091BC0097FFFCCF9091B900987F98306B
+:100E900021F0903111F081E008958093BB0084E847
+:100EA0008093BC008091BC0087FFFCCF8091B9008B
+:100EB000887F883111F0803471F780E0089584E9EB
+:100EC0008093BC008091BC0084FDFCCF089580938A
+:100ED000BB0084E88093BC008091BC0087FFFCCFFE
+:100EE0009091B900987F81E0983209F480E00895EC
+:100EF00084E88093BC008091BC0087FFFCCF809188
+:100F0000BB00089580910001811115C080E40E940A
+:100F10003D078093000181110CC082E10E946707A8
+:100F200080930001811105C08FEF0E9467078093B5
+:100F300000010E945F0784B1807F84B985B1807F02
+:100F400085B98AB1837F8AB98BB1837F8BB93E988B
+:100F5000469808950E94E806809300010E94820747
+:100F600080B38C7080BB81B3836F81BBE6E4F1E01A
+:100F7000A8E3B1E011921D9281E0E435F807D1F7C2
+:100F80000C94D206BF92CF92DF92EF92FF920F9312
+:100F90001F93CF93DF9380910001882379F0809194
+:100FA00037018F5F80933701811108C00E94E806E6
+:100FB00080930001811102C00E947A0608E311E0CB
+:100FC000C0E0D0E0DD24D39482E0C82EEE24E39488
+:100FD000F12CC73000F580910001811162C080E4DE
+:100FE0000E943D0780930001811112C082E10E949E
+:100FF00067078093000181110BC0C7010C2E01C04F
+:10100000880F0A94EAF780950E9467078093000191
+:101010000E945F0746C0CA30A1F028F4C83059F0DA
+:10102000C93061F005C0CC3089F070F0CD3089F066
+:10103000209A289810C0219A29980DC0229A2A989F
+:101040000AC0239A2B9807C0529A01C0539A5B9802
+:1010500002C03E9A4698E0EAEA95F1F78FB1799995
+:101060005AC092E081708D25892B7C9B02C090E054
+:1010700001C094E0892B7D9B02C090E001C098E004
+:10108000892B7E9B02C090E001C090E1892B9FB12B
+:101090009095991F9927991F9295990F907E892B6A
+:1010A0000FC08091000181114BC080E40E943D0778
+:1010B00080930001882389F1B12C0E945F078B2D5A
+:1010C000F8019081981719F08083C09201010E9465
+:1010D000820721960F5F1F4FCE30D10509F079CFDF
+:1010E00080910101882371F181508093010188234F
+:1010F00039F08FE99FE00197F1F700C0000022C0AE
+:10110000A6E4B1E0E8E3F1E081918D9391E0E6346B
+:10111000F907D1F717C090E0A5CF83E10E946707D8
+:10112000809300018111C8CF81E40E943D07809324
+:1011300000018111C1CF0E947807B82EB094BDCFB5
+:1011400080E0BECF0E94780681E0DF91CF911F91B1
+:101150000F91FF90EF90DF90CF90BF900895E82F10
+:10116000F0E0EA5BFE4F8081089508958B3B910586
+:1011700078F4883A910540F5853A9105D0F48430A9
+:10118000910508F0B1C08130910509F4ADC06BC084
+:10119000803E910508F467C0883E910508F4A4C01C
+:1011A0009C01205F31092031310508F05CC0906559
+:1011B0000895853A910509F459C0863A910509F4D4
+:1011C00058C083E890E40895883A910509F454C022
+:1011D000893A910509F453C08A3A910509F452C03D
+:1011E0008B3A910509F451C08C3A910509F450C02D
+:1011F0008D3A910509F44FC0803B910509F44EC02A
+:101200008E3A910509F44DC08F3A910509F44CC00E
+:10121000813B910509F44BC0823B910509F44AC01A
+:10122000833B910509F449C0843B910509F448C00A
+:10123000853B910509F447C0863B910509F446C0FA
+:10124000873B910509F445C0883B910509F444C0EA
+:10125000893B910509F443C08A3B910509F042C0DE
+:101260008AE296E4089580E090E0089581E890E4B1
+:10127000089582E890E4089582EE94E4089589EE5A
+:1012800094E408958AEE94E4089585EB94E4089537
+:1012900086EB94E4089587EB94E408958CEC94E451
+:1012A00008958DEC94E4089583E895E408958AE820
+:1012B00095E4089582E995E4089584E995E4089514
+:1012C00081E296E4089583E296E4089584E296E448
+:1012D000089585E296E4089586E296E4089587E20B
+:1012E00096E4089580E094E40895089596E0799F47
+:1012F000F001112494E5899FE00DF11D1124E60F02
+:10130000F11DEE0FFF1FE256FE4F85919491089557
+:10131000880F991F825E9F4FFC01859194910895DB
+:10132000880F991F82569E4FFC01859194910895D4
+:1013300026E0729FF001112444E5849FE00DF11D29
+:101340001124E60FF11DEE0FFF1FE256FE4F25910F
+:101350003491C9019A9581159F4110F4C9010895EE
+:10136000C90190528115904128F4C9019F700E94D3
+:1013700090090895C90190538115904120F4C90145
+:101380009927906C0895211580E5380769F40E942B
+:101390003D179FEF24E34CE0915020404040E1F79F
+:1013A00000C000000C949A1E213080E5380731F40B
+:1013B0008091CF0181608093CF010895C90190553C
+:1013C0008115904108F050C0832F99278F7099277D
+:1013D00081309105D9F4A9014370552702C0880FC7
+:1013E000991F4A95E2F79C68A90164E0440F551FD4
+:1013F0006A95E1F744275370842B952B73E0220FF5
+:10140000331F7A95E1F7207633271DC0823091058E
+:1014100029F4922F8827816F906A0895833091056F
+:10142000A9F4A9014370552781E090E002C0880F1C
+:10143000991F4A95E2F79C6843E0220F331F4A95B3
+:10144000E1F7207E3770822B932B08950497F1F4F7
+:10145000A9014370552781E090E002C0880F991FD1
+:101460004A95E2F79A68E8CFC901905781159041F3
+:1014700020F4C9019F7090620895C90190588115A8
+:10148000904120F4C9019F70906A0895203E310573
+:10149000E0F4203C310558F52133310509F470C0E2
+:1014A00048F42932310509F464C02A32310509F4BF
+:1014B0006EC074C029333105F1F022383105D9F0FE
+:1014C0002533310509F44EC069C0233E310589F149
+:1014D00038F4203E3105C1F0223E3105E1F05EC016
+:1014E000263E310569F1273E3105A9F157C0C901F2
+:1014F0000E94880908958091E20180FD02C081FF69
+:101500004DC080EE90E04BC08091E20180FFF9CFAA
+:1015100089E390E044C08091E20182FF0EC0809197
+:10152000E20184FF03C080E090E039C083EE90E0E8
+:1015300036C08091E20182FFF2CF82EE90E02FC0B0
+:101540008091E20183FF0BC08091E20184FDEBCF2B
+:1015500087EE90E024C08091E20183FFF5CF86EE14
+:1015600090E01DC08091E20185FF07C089E290E014
+:1015700016C08091E20185FFF9CF85E390E00FC0AE
+:101580008091E20186FF07C08AE290E008C0809166
+:10159000E20186FFF9CF81E390E001C0C9010E941A
+:1015A000B608089508950C94D20A809164010895B4
+:1015B000CF93DF9300D01F92CDB7DEB72091E80123
+:1015C000243019F523E029839B838A832093E90043
+:1015D0008FEF9091E800815095FD06C095ED9A95AA
+:1015E000F1F700008111F5CF8091E80085FF0DC073
+:1015F00040E050E063E070E0CE0101960E94420DB1
+:101600008091E8008E778093E8000F900F900F9004
+:10161000DF91CF910895CF93DF9300D01F92CDB784
+:10162000DEB72091E801243021F522E029839B8355
+:101630008A8383E08093E9008FEF9091E8008150E6
+:1016400095FD06C095ED9A95F1F700008111F5CF53
+:101650008091E80085FF0DC040E050E063E070E05D
+:10166000CE0101960E94420D8091E8008E77809312
+:10167000E8000F900F900F90DF91CF910895209187
+:10168000E8012430F1F422E02093E9002FEF3091BB
+:10169000E800215035FD06C035ED3A95F1F7000020
+:1016A0002111F5CF2091E80025FF0BC040E050E06C
+:1016B00065E070E00E94420D8091E8008E77809393
+:1016C000E8000895CF93DF93EC018091E801843026
+:1016D00009F046C090910C019923D9F090910D0129
+:1016E0009923B9F08093E9008FEF9091E800815041
+:1016F00095FD06C095E19A95F1F700008111F5CFAF
+:101700008091E80085FF2CC040E050E060E170E08F
+:1017100017C081E08093E9008FEF9091E80081503D
+:1017200095FD06C095ED9A95F1F700008111F5CF72
+:101730008091E80085FF14C040E050E068E070E070
+:10174000CE010E94420D8091E8008E778093E800E0
+:1017500080E1FE01A4E5B1E001900D928A95E1F7E8
+:10176000DF91CF9108958091E701811109C00E9416
+:10177000D40E0E94310F8091E20084608093E200D9
+:1017800008951092E701089508950C94C3240E94CF
+:10179000311E0E94C9240E94CE110C94D30A42E04B
+:1017A00061EC81E00E944E0E42E061EC82E00E941A
+:1017B0004E0E42E061EC83E00E944E0E42E161EC8D
+:1017C00084E00C944E0E8091EA01833009F455C0F8
+:1017D00030F4813071F0823009F48EC008958A307F
+:1017E00009F47AC08B3009F460C0893009F09CC0DC
+:1017F00020C08091E901813A09F096C08091E8000B
+:10180000877F8093E8008091ED019091EE01892B14
+:1018100021F060E080E090E003C060E184E591E0C9
+:1018200070E00E948B0D8091E8008B778093E80038
+:1018300008958091E901813209F076C08091ED012F
+:101840009091EE01009719F0039709F06DC0809117
+:10185000E800877F8093E8008091E80082FD05C062
+:101860008091E8018111F8CF5FC08091F1008093F1
+:1018700064018091E8008B7753C08091E901813A3F
+:1018800009F052C08091ED019091EE01892B09F091
+:101890004BC08091E800877F8093E8008091E8004A
+:1018A00080FFFCCF80910C0136C08091E90181322C
+:1018B000D9F58091ED019091EE01892BA9F58091E8
+:1018C000E800877F8093E8000E94830E8091EB01FF
+:1018D00080930C010C943D178091E901813221F530
+:1018E0008091E800877F8093E8000E94830E8091BA
+:1018F000EC018093650108958091E901813AA1F49A
+:101900008091E800877F8093E8008091E80080FF65
+:10191000FCCF809165018093F1008091E8008E7783
+:101920008093E8000C94830E089584B7877F84BF6A
+:1019300088E10FB6F89480936000109260000FBEAB
+:1019400090E080E80FB6F894809361009093610076
+:101950000FBE0E941D120E94D40E0E94310F809172
+:10196000E20084608093E20078940E94AC110E94AF
+:101970001F1282E091E00E94C9110E94B12480915F
+:10198000E801853069F40E94F41D8091E601882306
+:10199000B1F30E941C1E882391F30E942C0DEFCFFF
+:1019A0000E942512ECCF292F332723303105A9F0CF
+:1019B0006CF42130310509F442C02230310509F0C0
+:1019C00043C08DE690E02AE636E042C02132310580
+:1019D000C9F02232310519F137C0992781309105BC
+:1019E00041F08230910541F0892B71F5E6E6F6E091
+:1019F00005C0EEE4F6E002C0E6E3F6E0849190E094
+:101A00009F0126C0643000F5E62FF0E0EE0FFF1FC7
+:101A1000EE5DFE4F2081318189E090E019C0643095
+:101A200098F4E62FF0E0DF01AA0FBB1FA65EBE4FC1
+:101A30002D913C91EA5EFE4F808190E009C082E1E9
+:101A400090E027ED36E004C080E090E020E030E058
+:101A5000FA0131832083089580E189BD82E189BD47
+:101A600009B400FEFDCF8091D8008F7D8093D8000F
+:101A70008091E00082608093E0008091E00081FD31
+:101A8000FCCF0895CF92DF92EF92FF920F931F93B6
+:101A9000CF93DF937C018B01EA010E94A40E811198
+:101AA00031C0209731F088819981081B190BE80E0D
+:101AB000F91EC12CD12C0115110519F18091E800F6
+:101AC00085FD14C08091E8008E778093E800209710
+:101AD00041F0888199818C0D9D1D9983888385E0D3
+:101AE00011C00E94A40E882331F30CC0F70181912C
+:101AF0007F018093F10001501109FFEFCF1ADF0A37
+:101B0000DACF80E0DF91CF911F910F91FF90EF909E
+:101B1000DF90CF9008952091EF013091F0012617CA
+:101B2000370748F06115710539F42091E8002E77E8
+:101B30002093E80001C0B901FC0120E061157105A6
+:101B4000B9F18091E801882309F440C0853009F497
+:101B50003FC08091E80083FD3DC08091E80082FF96
+:101B600006C08091E80082FF26C080E00895809141
+:101B7000E80080FFE3CF2091F3008091F20090E035
+:101B8000922B6115710551F08830910538F421913F
+:101B90002093F100615071090196F3CF21E008977D
+:101BA00009F020E08091E8008E778093E800C6CFAE
+:101BB0002111C7CFD6CF8091E801882339F0853035
+:101BC00039F08091E80083FFCCCF04C082E0089513
+:101BD00083E0089581E008952091EF013091F001B4
+:101BE0002617370748F06115710539F42091E80090
+:101BF0002E772093E80001C0B901FC0120E06115B7
+:101C00007105C1F18091E801882309F441C0853054
+:101C100009F440C08091E80083FD3EC08091E80057
+:101C200082FF06C08091E80082FF27C080E008950F
+:101C30008091E80080FFE3CF2091F3008091F200D3
+:101C400090E0922B6115710559F08830910540F4B0
+:101C500024912093F1003196615071090196F2CFE1
+:101C600021E0089709F020E08091E8008E778093CA
+:101C7000E800C5CF2111C6CFD5CF8091E8018823D8
+:101C800039F0853039F08091E80083FFCBCF04C074
+:101C900082E0089583E0089581E00895982F9730B9
+:101CA00058F59093E900981739F07091EC00209165
+:101CB000ED005091F00003C0242F762F50E021FF5B
+:101CC00019C03091EB003E7F3093EB003091ED0076
+:101CD0003D7F3093ED003091EB0031603093EB00AD
+:101CE0007093EC002093ED005093F0002091EE00F3
+:101CF00027FF07C09F5FD3CF8F708093E90081E0FB
+:101D0000089580E008958091E90187FD05C08091E4
+:101D1000E80080FF0EC012C08091E80082FD05C07F
+:101D20008091E8018111F8CF08958091E8008B77C8
+:101D300008C08091E8018111EACF08958091E80000
+:101D40008E778093E80008958091E4009091E500FB
+:101D500045E62091EC0020FF21C02091E80020FD05
+:101D600021C02091E801222389F0253089F02091BB
+:101D7000EB0025FD0FC02091E4003091E50028170D
+:101D8000390739F3415041F0C901E3CF82E00895AA
+:101D900083E0089581E0089584E008952091E800AB
+:101DA00022FFDFCF80E008950E94420F0E944A0F79
+:101DB000E0EEF0E0808181608083E8EDF0E08081FA
+:101DC0008F77808319BCA7EDB0E08C918E7F8C93C8
+:101DD00080818F7E80831092E70108950F931F9377
+:101DE000CF93DF930E94420F0E944A0FC8EDD0E0CC
+:101DF00088818F77888388818068888388818F7DB8
+:101E0000888319BC1092E8011092E4011092E60157
+:101E10001092E50100EE10E0F80180818B7F808355
+:101E200088818160888342E060E080E00E944E0EFD
+:101E3000E1EEF0E080818E7F8083E2EEF0E0808151
+:101E400081608083808188608083F80180818E7FBB
+:101E50008083888180618883DF91CF911F910F916A
+:101E60000895E8EDF0E080818F7E8083E7EDF0E07B
+:101E700080818160808384E082BF81E08093E7017C
+:101E80000C94EE0EE8EDF0E080818E7F808310925E
+:101E9000E20008951092DA001092E10008951F9276
+:101EA0000F920FB60F9211242F933F934F935F938E
+:101EB0006F937F938F939F93AF93BF93EF93FF9312
+:101EC0008091E10082FF0BC08091E20082FF07C099
+:101ED0008091E1008B7F8093E1000E94AB118091A3
+:101EE000DA0080FF1FC08091D80080FF1BC0809166
+:101EF000DA008E7F8093DA008091D90080FF0DC0D8
+:101F000080E189BD82E189BD09B400FEFDCF81E099
+:101F10008093E8010E94B30B05C019BC1092E80140
+:101F20000E94C10B8091E10080FF19C08091E20006
+:101F300080FF15C08091E2008E7F8093E200809147
+:101F4000E20080618093E2008091D80080628093FB
+:101F5000D80019BC85E08093E8010E94C50B8091F0
+:101F6000E10084FF30C08091E20084FF2CC080E15A
+:101F700089BD82E189BD09B400FEFDCF8091D80002
+:101F80008F7D8093D8008091E1008F7E8093E10067
+:101F90008091E2008F7E8093E2008091E200816078
+:101FA0008093E2008091E401882311F084E007C06F
+:101FB0008091E30087FF02C083E001C081E080934D
+:101FC000E8010E94C70B8091E10083FF29C0809146
+:101FD000E20083FF25C08091E100877F8093E100CC
+:101FE00082E08093E8011092E4018091E1008E7F0D
+:101FF0008093E1008091E2008E7F8093E2008091E7
+:10200000E20080618093E20042E060E080E00E94B4
+:102010004E0E8091F00088608093F0000E94C40B07
+:10202000FF91EF91BF91AF919F918F917F916F91B0
+:102030005F914F913F912F910F900FBE0F901F9086
+:1020400018951F920F920FB60F9211242F933F9362
+:102050004F935F936F937F938F939F93AF93BF93B0
+:10206000CF93EF93FF93C091E900CF708091EC0084
+:102070001092E9008091F000877F8093F0007894BF
+:102080000E945D101092E9008091F00088608093BA
+:10209000F000C093E900FF91EF91CF91BF91AF9114
+:1020A0009F918F917F916F915F914F913F912F9170
+:1020B0000F900FBE0F901F9018951F93CF93DF9333
+:1020C000CDB7DEB7AA970FB6F894DEBF0FBECDBF6F
+:1020D000E9EEF1E08091F100819321E0E13FF20728
+:1020E000C9F70E94E30B8091E80083FF1CC1209197
+:1020F000E9013091EA01832F90E08A30910508F0E0
+:1021000012C1FC01EB54FF4F0C944B26203881F098
+:10211000223809F008C18091ED018F708093E900A9
+:102120008091EB0085FB882780F91092E90006C0BA
+:102130008091E5019091E601911182609091E80013
+:10214000977F9093E8008093F1001092F100C5C052
+:10215000822F8D7F09F0E7C0222319F0223061F031
+:10216000E2C08091EB01813009F0DDC0333009F02D
+:1021700080E08093E60128C08091EB01811124C0AA
+:102180002091ED012F7009F4CEC02093E9008091D9
+:10219000EB0080FF19C08091EB00333011F48062B6
+:1021A00011C080618093EB0081E090E0022E01C0BD
+:1021B000880F0A94EAF78093EA001092EA0080916F
+:1021C000EB0088608093EB001092E9008091E800BA
+:1021D000877F86C02111A7C01091EB011F778091E6
+:1021E000E3008078812B8093E3008091E800877F73
+:1021F0008093E8000E94830E8091E80080FFFCCF6E
+:102200008091E30080688093E300112311F083E064
+:1022100001C082E08093E80186C02058223008F097
+:1022200082C08091EB019091EC018C3D23E09207FC
+:1022300079F583E08A838AE289834FB7F894DE01D7
+:10224000139620E03EE051E2E32FF0E05093570078
+:10225000E49120FF03C0E295EF703F5FEF708E2F97
+:1022600090E0EA3010F0C79601C0C0968D939D9320
+:102270002F5F243149F74FBF8091E800877F80931B
+:10228000E8006AE270E0CE0101960E948B0D14C056
+:10229000AE014F5F5F4F6091ED010E94D30C00973C
+:1022A00009F441C02091E800277F2093E800BC0199
+:1022B00089819A810E94EC0D8091E8008B77809350
+:1022C000E80031C0203879F58091E800877F80935D
+:1022D000E8008091E4018093F1008091E8008E771E
+:1022E0008093E8000E94830E1EC021111CC09091B3
+:1022F000EB019230C0F48091E800877F8093E80082
+:102300009093E4010E94830E8091E401811104C046
+:102310008091E30087FF02C084E001C081E08093E8
+:10232000E8010E94CF0B8091E80083FF0AC08091F2
+:10233000E800877F8093E8008091EB0080628093C3
+:10234000EB00AA960FB6F894DEBF0FBECDBFDF91AB
+:10235000CF911F9108950895CF938091E80188232C
+:10236000B1F08091E9008F709091EC0090FF02C075
+:1023700090E801C090E0C92FC82B1092E90080912D
+:10238000E80083FD0E945D10CF70C093E900CF91FB
+:10239000089590936B0180936A010895E0916A011A
+:1023A000F0916B01309721F00190F081E02D0994BC
+:1023B00080E00895E0916A01F0916B01309721F07F
+:1023C0000280F381E02D09940895E0916A01F09173
+:1023D0006B01309721F00480F581E02D0994089578
+:1023E00020916801309169018217930771F09093F1
+:1023F000690180936801E0916A01F0916B01309767
+:1024000021F00680F781E02D09940895209166015E
+:10241000309167018217930771F090936701809361
+:102420006601E0916A01F0916B01309721F0008420
+:10243000F185E02D0994089508950C941C120E94D2
+:10244000371E0E94AA070C94FD1ECF92DF92EF92D6
+:10245000FF920F931F93CF93DF93CDB7DEB72B97E8
+:102460000FB6F894DEBF0FBECDBF0E94C2073DE697
+:10247000E32E31E0F32E00E010E0C02E802F0E940A
+:10248000AF08F701D1907F01D826B1F40F5F1F4F3D
+:102490000E30110591F78FEF89838A831B820E948A
+:1024A000401E8160782F9D838C8349815A816B8186
+:1024B0008D810E94C81241C09091CF0191FF04C04C
+:1024C0008B870E94B5088B8520E030E04D2D50E0D1
+:1024D000922FBA01022E02C0759567950A94E2F711
+:1024E00060FF25C02E83CF82EE24E394F12C02C03E
+:1024F000EE0CFF1C9A95E2F790E08E219F2121E0DF
+:10250000892B09F420E028870E94401E8160782FE3
+:102510009A8789874E815F8168858A850E94C81263
+:10252000F801E359FE4F80818E25808306C02F5F1E
+:102530003F4F2630310561F6A9CF0E94E12110916D
+:102540006C010E94CE111817A1F00E94CE11809349
+:102550006C012B960FB6F894DEBF0FBECDBFDF9196
+:10256000CF911F910F91FF90EF90DF90CF900C943F
+:10257000D30A2B960FB6F894DEBF0FBECDBFDF9106
+:10258000CF911F910F91FF90EF90DF90CF90089522
+:10259000CF93DF93CDB7DEB72B970FB6F894DEBF9E
+:1025A0000FBECDBF4F83588769877A878B87DE013F
+:1025B000119686E0FD0111928A95E9F785E0FE010A
+:1025C000379601900D928A95E1F749815A816B8186
+:1025D0007C818D819E810E94091A2B960FB6F894FA
+:1025E000DEBF0FBECDBFDF91CF9108950895CF9389
+:1025F000C82F882309F4C1C0823859F40E94CE1133
+:1026000081FDBBC089E30E94A81C0E94721D89E362
+:102610000CC0833879F40E94CE1180FDAEC083E5F2
+:102620000E94A81C0E94721D83E50E94E81CCF91A5
+:102630000C94721D843859F40E94CE1182FD9DC005
+:1026400087E40E94A81C0E94721D87E4EECF8CEFE5
+:102650008C0F813A48F48C2F0E94192481118DC06F
+:102660008C2F0E94A81CE3CF80E28C0F883048F4A6
+:10267000C77081E001C0880FCA95EAF70E94291D42
+:10268000D6CF8BE58C0F833078F4C53A29F0C63A63
+:1026900031F482E890E005C081E890E002C083E870
+:1026A00090E0CF910C94F01188E58C0F833108F005
+:1026B00064C0C83A39F1C93A41F1CA3A49F1CB3A52
+:1026C00051F1CC3A59F1CD3A61F1C03B69F1CE3AC2
+:1026D00071F1CF3A79F1C13B81F1C23B89F1C33B42
+:1026E00091F1C43B99F1C53BA1F1C63BA9F1C73BB0
+:1026F000B1F1C83BB9F1C93BC1F1CA3BC9F58AE2A6
+:1027000092E038C082EE90E035C089EE90E032C0B1
+:102710008AEE90E02FC085EB90E02CC086EB90E035
+:1027200029C087EB90E026C08CEC90E023C08DECB4
+:1027300090E020C083E891E01DC08AE891E01AC0D3
+:1027400082E991E017C084E991E014C081E292E04F
+:1027500011C083E292E00EC084E292E00BC085E2F9
+:1027600092E008C086E292E005C087E292E002C0F3
+:1027700080E090E0CF910C940612CF9108958823C9
+:1027800009F44BC0823859F40E94CE1181FF45C034
+:1027900089E30E94A81C0E94721D89E30CC0833843
+:1027A00071F40E94CE1180FF38C083E50E94A81CFE
+:1027B0000E94721D83E50E94E81C0C94721D8438EF
+:1027C00059F40E94CE1182FF28C087E40E94A81C01
+:1027D0000E94721D87E4EFCF9CEF980F913A58F357
+:1027E00090E2980F983050F4877091E001C0990FF3
+:1027F0008A95EAF7892F0E942F1DDFCF9BE5980F5E
+:10280000933020F480E090E00C94F011885A8331EA
+:1028100020F480E090E00C9406120895882321F0C3
+:102820000E94291D0C94721D0895882321F00E9496
+:102830002F1D0C94721D0895CF92DF92EF92FF929C
+:102840000F931F93CF93DF93CDB7DEB728970FB6C3
+:10285000F894DEBF0FBECDBF8C0185E0F801DE012C
+:10286000119601900D928A95E1F7F801D080E180F0
+:10287000F280258122952F7083819481892B39F0F4
+:10288000FFEFEF1206C081E0DF1203C003C081E05A
+:1028900001C080E080FDCEC2C8012F830E94F612E5
+:1028A000D982EA8289819A810E94661C9E838887E8
+:1028B0000E94651C0E94381B2F814E816885FF2075
+:1028C00029F00E94461D68854E812F81E42FE295F4
+:1028D000EF70F0E0E154FF4F0C944B26842F807F83
+:1028E000142F1F70882311F01295107FFF2059F0CC
+:1028F000112309F454C2812F68870E94391D0E9458
+:10290000721D68854CC2862F0E94BF13112309F4E3
+:1029100091C2812F0E943F1D28960FB6F894DEBF0A
+:102920000FBECDBFDF91CF911F910F91FF90EF9020
+:10293000DF90CF900C94721D342F307F842F8F70D6
+:10294000303211F08295807F662319F0613019F1E1
+:102950002BC0FF20B1F0222309F493C1213009F0EC
+:1029600090C128960FB6F894DEBF0FBECDBFDF91A1
+:10297000CF911F910F91FF90EF90DF90CF900C942B
+:10298000591D222319F0213009F454C28E830E946C
+:102990005C1D8E8189C1FF2021F0223008F04AC2DF
+:1029A00070C1211147C280C1FF2021F0222309F408
+:1029B00068C1F5C1222309F477C105C2242F2695E9
+:1029C0002695237030E02115310521F021303105A5
+:1029D000C9F030C2FF2021F0862F942F937002C0DF
+:1029E00080E090E028960FB6F894DEBF0FBECDBF12
+:1029F000DF91CF911F910F91FF90EF90DF90CF90DB
+:102A00000C94F011FF2021F0862F942F937002C0B8
+:102A100080E090E028960FB6F894DEBF0FBECDBFE1
+:102A2000DF91CF911F910F91FF90EF90DF90CF90AA
+:102A30000C940612862FFF2019F00E94E92002C094
+:102A40000E94512128960FB6F894DEBF0FBECDBF6D
+:102A5000DF91CF911F910F91FF90EF90DF90CF907A
+:102A60000C94D621842F837009F076C0F110E2C156
+:102A7000262F229526952770220F220F862F8F70E2
+:102A8000C82ED12CE12CF12C022E04C0CC0CDD1C64
+:102A9000EE1CFF1C0A94D2F764FF10C06FE070E0D8
+:102AA00080E090E004C0660F771F881F991F2A9569
+:102AB000D2F7609570958095909503C060E070E0C6
+:102AC000CB01242F269526952370422F50E04230CB
+:102AD0005105D1F04330510559F16C297D298E29DA
+:102AE0009F294130510541F128960FB6F894DEBF79
+:102AF0000FBECDBFDF91CF911F910F91FF90EF904F
+:102B0000DF90CF900C945D1B6C297D298E299F2925
+:102B100028960FB6F894DEBF0FBECDBFDF91CF91E0
+:102B20001F910F91FF90EF90DF90CF900C94771B47
+:102B30000E945D1BC701B60128960FB6F894DEBF50
+:102B40000FBECDBFDF91CF911F910F91FF90EF90FE
+:102B5000DF90CF900C94431BFF2019F0842F8170DD
+:102B600001C08695882309F465C1262F22952695F4
+:102B70002770220F220F862F8F70C82ED12CE12CA8
+:102B8000F12C022E04C0CC0CDD1CEE1CFF1C0A94A0
+:102B9000D2F764FF10C06FE070E080E090E004C006
+:102BA000660F771F881F991F2A95D2F76095709539
+:102BB0008095909503C060E070E0CB01242F2695AE
+:102BC00026952370422F50E042305105D1F043301A
+:102BD000510559F16C297D298E299F2941305105D4
+:102BE00041F128960FB6F894DEBF0FBECDBFDF913E
+:102BF000CF911F910F91FF90EF90DF90CF900C94A9
+:102C0000311C6C297D298E299F2928960FB6F894AE
+:102C1000DEBF0FBECDBFDF91CF911F910F91FF900F
+:102C2000EF90DF90CF900C944B1C0E94311CC70199
+:102C3000B60128960FB6F894DEBF0FBECDBFDF9168
+:102C4000CF911F910F91FF90EF90DF90CF900C9458
+:102C5000171C603FC9F118F4603E50F49BC0623FFE
+:102C600009F460C008F44AC0633F09F46FC092C021
+:102C7000162F1F70842F8F71FF2099F00E94B01BB8
+:102C8000812F28960FB6F894DEBF0FBECDBFDF911F
+:102C9000CF911F910F91FF90EF90DF90CF900C9408
+:102CA0000E140E94D11B812F28960FB6F894DEBF18
+:102CB0000FBECDBFDF91CF911F910F91FF90EF908D
+:102CC000DF90CF900C941514FF20A1F02111B2C019
+:102CD000842F8F7128960FB6F894DEBF0FBECDBF3C
+:102CE000DF91CF911F910F91FF90EF90DF90CF90E8
+:102CF0000C94F61B223008F09DC0EACFFF20A1F013
+:102D0000842F8F7128960FB6F894DEBF0FBECDBF0B
+:102D1000DF91CF911F910F91FF90EF90DF90CF90B7
+:102D20000C94B01BFF2061F3842F8F7128960FB68F
+:102D3000F894DEBF0FBECDBFDF91CF911F910F91F1
+:102D4000FF90EF90DF90CF900C94D11BFF2091F07B
+:102D5000842F8F7128960FB6F894DEBF0FBECDBFBB
+:102D6000DF91CF911F910F91FF90EF90DF90CF9067
+:102D70000C949B1B28960FB6F894DEBF0FBECDBFF8
+:102D8000DF91CF911F910F91FF90EF90DF90CF9047
+:102D90000C94911BFF20A1F0222309F4B1CF862FC0
+:102DA00028960FB6F894DEBF0FBECDBFDF91CF914E
+:102DB0001F910F91FF90EF90DF90CF900C94F7123E
+:102DC000222309F4B1CF862F28960FB6F894DEBFE0
+:102DD0000FBECDBFDF91CF911F910F91FF90EF906C
+:102DE000DF90CF900C94BF134F70C8010E94040570
+:102DF00028960FB6F894DEBF0FBECDBFDF91CF91FE
+:102E00001F910F91FF90EF90DF90CF900C94B61A26
+:102E10004F70C80128960FB6F894DEBF0FBECDBF25
+:102E2000DF91CF911F910F91FF90EF90DF90CF90A6
+:102E30000C94750928960FB6F894DEBF0FBECDBF6F
+:102E4000DF91CF911F910F91FF90EF90DF90CF9086
+:102E500008950E94461D0E94561D0E941B1D0E943F
+:102E6000721D0E9482220E94D62180E090E00E9482
+:102E7000F01180E090E00C9406120E94361D0C9434
+:102E800029170E94661C292F22952F7030E02C30C4
+:102E900031054CF42A3031056CF4225031092230CE
+:102EA000310590F407C02C30310551F02F30310539
+:102EB00039F00AC0803E10F0803F31F481E008957F
+:102EC00093FB882780F9089580E00895CF93DF93DE
+:102ED00000D000D01F92CDB7DEB70F900F900F90AB
+:102EE0000F900F90DF91CF910895CF93DF9300D093
+:102EF00000D000D0CDB7DEB726960FB6F894DEBF6F
+:102F00000FBECDBFDF91CF9108951F93CF93DF9375
+:102F1000C0917B0116E080917C01C81799F0D0E048
+:102F20001C9FF0011D9FF00D1124E358FE4F4081BE
+:102F3000518162817381848195810E9475172196E8
+:102F4000C770E9CFDF91CF911F9108954091AD01F6
+:102F50005091AE016091AF017091B0018091B101CB
+:102F60009091B2010C947517CF938091B201829524
+:102F70008F7009F05FC08091AF01882309F45AC0B7
+:102F800020917B01A0917C016091AD017091AE0117
+:102F90008091B0019091B10131E06F3F09F030E0D4
+:102FA000B32FC6E02A1709F445C0009721F07F3FF0
+:102FB00021F44B2F03C041E001C040E030E040FD70
+:102FC00035C0C29FF001C39FF00D1124E358FE4F9E
+:102FD000418174132BC04081641328C04281411188
+:102FE00025C0438154814817590710F441505109B5
+:102FF000481B590B483C5105C8F48091B2018F70B1
+:1030000080618093B20186E0829FF001839FF00D82
+:103010001124EE57FE4F80818F70806180838DEA8E
+:1030200091E00E941C14CF910C9485172F5F3F4FA5
+:103030002770B8CFCF910895CF92DF92EF92FF9291
+:103040000F931F93CF93DF93CDB7DEB762970FB681
+:10305000F894DEBF0FBECDBF8C0185E0F801DE0124
+:103060001D9601900D928A95E1F7D8014C91119629
+:103070005C91119712966C9112971396ED90FC90BB
+:1030800014977091AD01E091AE012091B0013091A3
+:10309000B1012115310531F0EF3F31F481E07F3F7F
+:1030A00019F403C081E001C080E0B82FB170CB2ECD
+:1030B00080FD6CC1D090AF01DD2009F4F5C0F09126
+:1030C000B201E216F30638F0C701821B930B883C6D
+:1030D000910548F09BC0209530952E0D3F1D283C52
+:1030E000310508F093C08F2F807F09F052C0E5139F
+:1030F00014C0741312C0D62E61110FC0FF70F0619E
+:10310000F093B2010E94A6178DEA91E00E941C1470
+:103110008091B201F80185836CC1EF2831F05F3FE7
+:1031200031F481E04F3F19F403C081E001C080E039
+:1031300080FD03C081E0862701C080E0F82FF17098
+:10314000FF2E80FF1CC080917B0120917C0136E026
+:10315000821709F428C190E0389FF001399FF00DE3
+:103160001124E358FE4F7181571306C07081471335
+:1031700003C07281671303C001968770E9CFD62E12
+:10318000662309F436C18091B20181608093B20157
+:1031900053C0E51308C0741306C0611104C0D80100
+:1031A0001596FC93AEC04D875E878D859E856A8B94
+:1031B0000E9441176A89882329F1D62E662311F1CE
+:1031C0002091B201822F82958F7090E002970CF4CB
+:1031D00060C08091AD019091AE0198878F83198670
+:1031E000FB86EA862C87CE01079651C0E51731F1A0
+:1031F0004D875E878D859E856A8B0E9441176A89FF
+:1032000081112EC0C8010E941C14A4C08F2F807F82
+:1032100069F77E2DF98AE88A89890E9466178DEA06
+:1032200091E00E941C14EDEAF1E086E0DF011D92BE
+:103230008A95E9F70E94A617D12CDBC07413D8CF6A
+:103240006111D6CFD8011596FC93C8010E941C14B9
+:10325000EDEAF1E086E0DF011D928A95E9F7C9C049
+:10326000D62E662379F22091B201822F82958F703B
+:1032700090E0029774F08091AD019091AE019A8335
+:1032800089831B82FD82EC822E83CE0101960E94EF
+:103290001C1486E0F801ADEAB1E001900D928A9528
+:1032A000E1F70E94B4176FC0E216F30628F0C701D9
+:1032B000821B930B9C0104C0209530952E0D3F1D61
+:1032C000283C310508F052C0D62E662309F49ACF67
+:1032D000E5132CC074132AC08091B20180FD1DC07B
+:1032E000982F92959F70C9F0D80115968C931597D9
+:1032F0009F3039F09F5F9295907F8F70892B159644
+:103300008C93C8010E941C1486E0F801ADEAB1E07C
+:1033100001900D928A95E1F736C086E0F801ADEA9A
+:10332000B1E001900D928A95E1F763C04D875E8709
+:103330008D859E850E944117882379F086E0F801EB
+:10334000ADEAB1E001900D928A95E1F70E94B417C1
+:103350000E94A617DD24D3944CC08091B2018160F5
+:103360008093B201C8010E941C1443C07E2DF98ACB
+:10337000E88A89890E946617EDEAF1E086E0DF01BC
+:103380001D928A95E9F70E94A61733C0662309F4B7
+:1033900039CF4D875E878D859E850E944117882392
+:1033A00009F430CFCBCF4D875E878D859E850E94F7
+:1033B000661C292F22952F7030E0223031052CF425
+:1033C0009F7041F0811106C00CC0243031052CF4EF
+:1033D0009F7049F4805E883020F0C8010E941C1460
+:1033E000CF2CDC2C06C0D80115969C91907F91F7CC
+:1033F000F8CF8D2D62960FB6F894DEBF0FBECDBF0D
+:10340000DF91CF911F910F91FF90EF90DF90CF90C0
+:1034100008951F93CF93DF93CDB7DEB72C970FB6E8
+:10342000F894DEBF0FBECDBF4F83588769877A8778
+:103430008B879C87CE0107960E941C188823C1F0B9
+:103440002F8138858A859B85892B31F03F3F11F08C
+:1034500080E003C02F3FE1F781E0811147C04F8139
+:10346000588569857A858B859C850E9475173EC035
+:1034700086E0FE013796DE01119601900D928A9545
+:10348000E1F7FF81E8854A855B854115510531F0FB
+:10349000EF3F31F481E0FF3F19F403C081E001C048
+:1034A00080E080FD23C020917C0130E0C9010196BD
+:1034B0008770992760917B0170E086179707F1F17B
+:1034C000F983EA835D834C8396E0929FD001939FBA
+:1034D000B00D1124A358BE4FFE01319601900D92FC
+:1034E0009A95E1F780937C010E94851716E0809100
+:1034F0007B0190917C01891779F1189FC0011124FB
+:1035000083589E4F0E941C18882331F1E0917B0163
+:103510001E9FF0011124E358FE4F408151816281CA
+:103520007381848195810E94751780917B0190E061
+:1035300001968770992780937B01D9CF0E943D1710
+:1035400010927C0110927B01EDEAF1E086E0DF0150
+:103550001D928A95E9F7CACF2C960FB6F894DEBF74
+:103560000FBECDBFDF91CF911F910895EF92FF92D3
+:103570000F931F93CF93DF939C01009709F471C0C1
+:10358000F12CEE24E394E9012196F901849184372A
+:1035900040F4843008F056C0813081F0823021F14F
+:1035A00060C0853709F449C0C0F19CE7980F903797
+:1035B00008F057C08F770E94BF1346C089010E5F85
+:1035C0001F4FFE01849190E2980F983050F487705D
+:1035D000FE2D01C0FF0F8A95EAF78F2F0E94491D2B
+:1035E00015C00E94F71214C089010E5F1F4FFE0123
+:1035F000849190E2980F983068F48770FE2D01C096
+:10360000FF0F8A95EAF78F2F0E944F1D0E94721DAF
+:10361000E8011AC00E94BF13FBCF2E5F3F4FFE018F
+:10362000C491CC2341F08FE99FE00197F1F700C0EE
+:103630000000C150F6CFE90107C0FE01F490E90196
+:10364000229602C00E94F7128F2D882341F0EFE9E5
+:10365000FFE03197F1F700C000008150F6CF9E01E6
+:1036600092CFDF91CF911F910F91FF90EF9008952E
+:1036700008956093B7017093B8018093B901909356
+:10368000BA010C9429170F931F930091B701109161
+:10369000B8012091B9013091BA01062B172B282BC4
+:1036A000392B0093B7011093B8012093B9013093DF
+:1036B000BA011F910F910C9429170F931F9300913A
+:1036C000B7011091B8012091B9013091BA010623D8
+:1036D0001723282339230093B7011093B8012093AF
+:1036E000B9013093BA011F910F910C9429170F93D0
+:1036F0001F930091B7011091B8012091B901309149
+:10370000BA0106271727282739270093B7011093F6
+:10371000B8012093B9013093BA011F910F910C9415
+:1037200029171092B3011092B4011092B5011092B2
+:10373000B6010C94291741E050E060E070E004C04D
+:10374000440F551F661F771F8A95D2F74093B30128
+:103750005093B4016093B5017093B6010C9429178E
+:1037600041E050E060E070E004C0440F551F661F68
+:10377000771F8A95D2F78091B3019091B401A091FF
+:10378000B501B091B601842B952BA62BB72B809356
+:10379000B3019093B401A093B501B093B6010C941A
+:1037A000291741E050E060E070E004C0440F551F6D
+:1037B000661F771F8A95D2F7409550956095709552
+:1037C0008091B3019091B401A091B501B091B6017F
+:1037D00084239523A623B7238093B3019093B40148
+:1037E000A093B501B093B6010C94291741E050E0C5
+:1037F00060E070E004C0440F551F661F771F8A9574
+:10380000D2F78091B3019091B401A091B501B0912C
+:10381000B60184279527A627B7278093B3019093F5
+:10382000B401A093B501B093B6010C9429170F937E
+:103830001F930091B3011091B4012091B501309113
+:10384000B601062B172B282B392B0093B3011093AD
+:10385000B4012093B5013093B6011F910F910C94E0
+:1038600029170F931F930091B3011091B401209178
+:10387000B5013091B601062317232823392300937D
+:10388000B3011093B4012093B5013093B6011F9199
+:103890000F910C9429170F931F930091B30110916E
+:1038A000B4012091B5013091B601062717272827CA
+:1038B00039270093B3011093B4012093B5013093DD
+:1038C000B6011F910F910C9429170895CF92DF92A2
+:1038D000EF92FF920F931F93CF93DF93EC01C09071
+:1038E000B701D090B801E090B901F090BA01809191
+:1038F000B3019091B401A091B501B091B601C82A6D
+:10390000D92AEA2AFB2A0FE110E0B701A601002E0E
+:1039100004C076956795579547950A94D2F740FF6E
+:1039200007C0BE01802F0E9498098130910539F4AB
+:103930000150110950F7BE0180E00E949809DF9103
+:10394000CF911F910F91FF90EF90DF90CF9008954E
+:1039500090910C019923D9F090910D019923B9F020
+:10396000982F9695969596959F3088F5E0910E0143
+:10397000F0910F01E90FF11D877021E030E001C0E7
+:10398000220F8A95EAF78181822B818308954091E5
+:103990000E0150910F0120E030E09FEFFA01E20F9D
+:1039A000F31F6281681799F09F3F19F4611101C0FC
+:1039B000922F2F5F3F4F2E30310581F79F3F39F017
+:1039C000FA01E90FF11D97FDFA9582830895089594
+:1039D00090910C019923E1F090910D019923C1F090
+:1039E000982F9695969596959F3020F5E0910E012B
+:1039F000F0910F01E90FF11D877021E030E001C067
+:103A0000220F8A95EAF72095818128232183089542
+:103A100040910E0150910F0120E030E0FA01E20FD9
+:103A2000F31F9281981301C012822F5F3F4F2E30F7
+:103A30003105A1F7089581E090E0E0910E01F09149
+:103A40000F01E80FF91F1082019680319105A9F747
+:103A500008959091CE01982B9093CE010895809572
+:103A60009091CE0198239093CE0108951092CE01AB
+:103A700008959091CD01982B9093CD010895809554
+:103A80009091CD0198239093CD0108951092CD018E
+:103A900008959091CC01982B9093CC010895809536
+:103AA0009091CC0198239093CC0108951092CC0171
+:103AB00008958093BB0108951092BB010895409131
+:103AC0000E0150910F0120E030E080E0FA01E20F9A
+:103AD000F31F918191118F5F2F5F3F4F2F30310581
+:103AE000A9F70895E0910E01F0910F018091CE01A8
+:103AF0008083E0910E01F0910F0180819091CD01C2
+:103B0000892B8083E0910E01F0910F0180819091CB
+:103B1000CC01892B80839091BB01992361F0E091C6
+:103B20000E01F0910F018081892B80830E945F1D1F
+:103B300081111092BB0180910E0190910F010C94A4
+:103B4000DA11CF92DF92EF92FF920F931F936C01E5
+:103B5000EE24FF24C114D104E104F10421F46B012B
+:103B60007C0180E001C080E133272F2D1E2D0D2D1B
+:103B7000011511052105310519F0885F68017901EA
+:103B800097018601A4E03695279517950795AA9584
+:103B9000D1F7011511052105310519F08C5F680178
+:103BA000790197018601F2E03695279517950795DB
+:103BB000FA95D1F7011511052105310519F08E5F30
+:103BC00068017901B701A6017695679557954795E4
+:103BD000452B462B472B09F08F5F1F910F91FF90CC
+:103BE000EF90DF90CF9008958091E801843009F143
+:103BF0001092D00120E488E190E00FB6F894A895E7
+:103C0000809360000FBE2093600083B7817F846043
+:103C100083BF83B7816083BF7894889583B78E7F95
+:103C200083BF88E10FB6F894809360001092600023
+:103C30000FBE089508950895CF930E941A1E0E9402
+:103C4000C2070E941B1EC0E08C2F0E94AF0881118A
+:103C500005C0CF5FCE30C1F780E001C081E0CF91D9
+:103C600008950E943D170E94CE110C94D30A82E061
+:103C700084BD93E095BD9AEF97BD80936E00089543
+:103C80002FB7F8948091D1019091D201A091D301E6
+:103C9000B091D4012FBF0895CF92DF92EF92FF929F
+:103CA0000F931F932FB7F8944091D1015091D201F7
+:103CB0006091D3017091D4012FBF6A017B01EE2482
+:103CC000FF248C0120E030E0C016D106E206F306A6
+:103CD00010F441505109481B590BCA011F910F9113
+:103CE000FF90EF90DF90CF9008951F920F920FB644
+:103CF0000F9211248F939F93AF93BF938091D10123
+:103D00009091D201A091D301B091D4010196A11D4F
+:103D1000B11D8093D1019093D201A093D301B093B0
+:103D2000D401BF91AF919F918F910F900FBE0F90D3
+:103D30001F9018950E94D40EF8942FEF87EA91E611
+:103D4000215080409040E1F700C0000087E090EBF8
+:103D5000DC018093F1019093F201A093F301B09301
+:103D6000F4012CE088E190E00FB6F894A8958093D8
+:103D700060000FBE20936000FFCFEF92FF920F9381
+:103D80001F93CF93DF93E82EF12C8F2D0E94AF0865
+:103D9000C0E0D0E0082F10E098010C2E02C035954D
+:103DA00027950A94E2F720FD05C02196C630D1057B
+:103DB00099F709C06C2F7F2D80E00E947609E812E8
+:103DC000F4CF81E005C0F3948EE0F812DECF80E0FE
+:103DD000DF91CF911F910F91FF90EF900895CF93B6
+:103DE000C82F8CE20E94BD1E882321F08C2FCF911A
+:103DF0000C94BD1E80E0CF910895CF930E94422085
+:103E0000811102C00E942820C5E6C15049F00E94DD
+:103E1000C2078FE39CE90197F1F700C00000F5CFDE
+:103E200089E20E94EF1E811111C18AE20E94EF1EF9
+:103E300081110E94282085E00E94EF1E81110E94BE
+:103E40009A1E0E944D208093CF0187E00E94EF1EB2
+:103E5000882399F18BE10E94EF1E882351F0909105
+:103E6000CF0191FB882780F921E0822780FB91F91F
+:103E700022C08EE00E94EF1E882351F09091CF0166
+:103E800092FB882780F921E0822780FB92F913C0FA
+:103E900080E10E94EF1E9091CF01882341F093FBB7
+:103EA000882780F921E0822780FB93F904C0892FBD
+:103EB000809580FB90F99093CF018091CF010E9473
+:103EC00051200E945F208093E20180EE0E94EF1E4D
+:103ED000882341F08091E201982F909590FB80F922
+:103EE0008093E20189E30E94EF1E882359F09091AC
+:103EF000E20191FB882780F921E0822780FB91F97C
+:103F00009093E20182EE0E94EF1E882359F0909177
+:103F1000E20192FB882780F921E0822780FB92F959
+:103F20009093E20186EE0E94EF1E882359F0909153
+:103F3000E20193FB882780F921E0822780FB93F937
+:103F40009093E20183EE0E94EF1E882359F0909136
+:103F5000E20194FB882780F921E0822780FB94F915
+:103F60009093E20185E30E94EF1E882359F090911F
+:103F7000E20195FB882780F921E0822780FB95F9F3
+:103F80009093E20181E30E94EF1E882359F0909103
+:103F9000E20196FB882780F921E0822780FB96F9D1
+:103FA0009093E20181E10E94EF1E882359F09091E5
+:103FB000E20197FB882780F921E0822780FB97F9AF
+:103FC0009093E2018091E2010E9463208091E201DE
+:103FD00087FB882780F980930D0187E20E94EF1EFE
+:103FE000C82F8EE10E94EF1E8111C2608FE10E94F6
+:103FF000EF1E8111C46080E20E94EF1E8111C86033
+:1040000081E20E94EF1E8111C06182E20E94EF1ED8
+:104010008111C06283E20E94EF1E8111C06484E2BC
+:104020000E94EF1E882311F0C06802C0CC2329F043
+:104030008C2F0E945A206C2F03C00E945620682F9C
+:1040400070E080E090E0CF910C94391BCF910895FF
+:104050006DEE7EEF80E090E00E94812660E082E0DD
+:1040600090E00E94732660E083E090E00E94732657
+:1040700060E084E090E00E94732660E085E090E0DC
+:104080000C94732680E090E00E946D2621E08D3E26
+:104090009E4F09F020E0822F089582E090E00C947A
+:1040A0006526682F82E090E00C94732683E090E010
+:1040B0000C946526682F83E090E00C94732684E0CE
+:1040C00090E00C946526682F84E090E00C947326B1
+:1040D0008091D70180FF0BC06091130185E0689F3C
+:1040E000B001112475956795759567952AC081FF74
+:1040F00009C06091130185E0689FB0011124759596
+:1041000067951FC082FF07C06091130185E0689F1B
+:10411000B001112416C04091D8014423C9F0609128
+:104120001201461788F72091130185E0289F90011E
+:104130001124429FC001439F900D112470E00E9402
+:1041400037266038710540F46115710539F002C0F9
+:1041500065E070E0862F08958FE7089581E0089567
+:104160008091D70180FF08C06091110170E07595C2
+:1041700067957595679521C081FF06C06091110113
+:1041800070E07595679519C082FF04C060911101B8
+:1041900070E010C08091D8018823C1F060911001B7
+:1041A0008617A0F790911101989FC001112470E02B
+:1041B0000E9437266038710528F46115710521F0D9
+:1041C000862F08958FE7089581E0089561E070E0FB
+:1041D000F4CF803F21F40E946820819504C0813F84
+:1041E00029F40E9468208093DB010895823F21F426
+:1041F0000E946820819504C0833F29F40E946820B2
+:104200008093DA010895893F19F40E94B02005C017
+:104210008A3F31F40E94B02081958093DC0108959B
+:104220008B3F21F40E94B020819504C08C3F29F47B
+:104230000E94B0208093DD010895843F21F4809195
+:10424000D901816017C0853F21F48091D901826036
+:1042500011C0863F21F48091D90184600BC0873F53
+:1042600021F48091D901886005C0883F31F48091A4
+:10427000D90180618093D90108958D3F21F4809107
+:10428000D70181600BC08E3F21F48091D7018260FD
+:1042900005C08F3F29F48091D70184608093D701B6
+:1042A0000895803F39F48091DB0187FF6CC0109244
+:1042B000DB0169C0813F29F48091DB011816BCF352
+:1042C00062C09091DA01823F29F497FF5CC010929E
+:1042D000DA0159C0833F19F41916CCF354C0893F51
+:1042E00041F48091DC0118160CF04DC01092DC01F5
+:1042F0004AC08A3F29F48091DC0187FF44C0F6CF91
+:104300008B3F39F48091DD0187FF3DC01092DD01C4
+:104310003AC08C3F29F48091DD011816BCF333C0FC
+:10432000843F21F48091D9018E7F17C0853F21F40D
+:104330008091D9018D7F11C0863F21F48091D901F0
+:104340008B7F0BC0873F21F48091D901877F05C007
+:10435000883F31F48091D9018F7E8093D90113C0B9
+:104360008D3F21F48091D7018E7F0BC08E3F21F4C9
+:104370008091D7018D7F05C08F3F29F48091D701AF
+:104380008B7F8093D7018091DA0181110EC08091DB
+:10439000DB0181110AC08091DC01811106C080918E
+:1043A000DD01811102C01092D801089589ED91E0DC
+:1043B0000E94E5110E94401E9093D6018093D50182
+:1043C00008951F93CF93DF938091D5019091D601EB
+:1043D0000E944C1E4091D801442321F020911401E9
+:1043E00030E006C0209115015AE0259F900111246C
+:1043F0008217930708F482C08091DA011091DB01E3
+:10440000D091DC01C091DD01811107C0111105C0FF
+:10441000D11103C0CC2309F471C04F3F19F04F5F95
+:104420004093D801181624F40E9468208093DA0182
+:104430008091DA0187FF05C00E94682081958093F2
+:10444000DA01111624F40E9468208093DB01809128
+:10445000DB0187FF05C00E94682081958093DB0106
+:104460006091DA01662339F11091DB01112319F112
+:10447000772767FD7095872F972F0E94482523E3A4
+:1044800033E343E35FE30E94AC250E94152560936C
+:10449000DA01612F772767FD7095872F972F0E948C
+:1044A000482523E333E343E35FE30E94AC250E9406
+:1044B00015256093DB011D1624F40E94B020809323
+:1044C000DC018091DC0187FF05C00E94B02081954E
+:1044D0008093DC011C1624F40E94B0208093DD013F
+:1044E0008091DD0187FF05C00E94B02081958093F7
+:1044F000DD01DF91CF911F910C94D621DF91CF91F7
+:104500001F910895E9EDF1E085E0DF011D928A95A4
+:10451000E9F71092D8011092D7010895833081F104
+:1045200028F4813059F08230D1F00895853009F4B3
+:1045300049C0B8F1863009F456C00895209115019C
+:10454000862F90E0820F911D8F3F910520F4620F1E
+:104550006093150108958FEF8093150108952091C0
+:104560001401862F90E0820F911D8F3F910520F45A
+:10457000620F6093140108958FEF809314010895E2
+:1045800020911301862F90E0820F911D8F3F91059E
+:1045900020F4620F6093130108958FEF809313014D
+:1045A000089520911201862F90E0820F911D8F3F78
+:1045B000910520F4620F6093120108958FEF8093AC
+:1045C0001201089520911101862F90E0820F911D14
+:1045D0008F3F910520F4620F6093110108958FEFD2
+:1045E00080931101089520911001862F90E0820F91
+:1045F000911D8F3F910520F4620F60931001089583
+:104600008FEF809310010895833011F128F48130E9
+:1046100049F0823091F00895853081F120F18630A3
+:10462000C1F1089580911501681720F4861B8093CD
+:1046300015010895109215010895809114016817CD
+:1046400020F4861B8093140108951092140108959C
+:1046500080911301681720F4861B8093130108953D
+:1046600010921301089580911201681720F4861B9F
+:104670008093120108951092120108958091110102
+:10468000681720F4861B8093110108951092110180
+:10469000089580911001681720F4861B8093100103
+:1046A00008951092100108958D3109F442C020F54B
+:1046B0008E3009F47CC070F4873009F45EC020F4B9
+:1046C000863009F442C033C08830D1F18B3009F410
+:1046D000AAC02DC0863109F4A6C038F4803109F48F
+:1046E00070C0813109F47EC022C0893109F49BC0B9
+:1046F0008B3109F452C01BC0853309F48CC048F4D7
+:10470000873209F488C008F478C0893209F483C07C
+:104710000EC0833438F48A3308F06DC0883309F44E
+:1047200082C005C0833409F476C08834C1F080E0CB
+:1047300008950E94CF240E94CE110E94D30A73C014
+:104740000E944D200E945F206EC08091CF01817F2A
+:104750008E7F8093CF0181E08093DF0108950E94D6
+:104760003D172FEF83ED90E3215080409040E1F71B
+:1047700000C000000E949A1E56C09091CF01892F60
+:104780008095817080FB90F919F09660986027C041
+:10479000997F977F9093CF0146C09091CF0191FB75
+:1047A000882780F921E0822780FB91F913C090913E
+:1047B000CF0192FB882780F921E0822780FB92F9C4
+:1047C00009C09091CF0193FB882780F921E08227CF
+:1047D00080FB93F99093CF01882329F19160909306
+:1047E000CF0108950E943D1780910D0191E0892726
+:1047F00080930D0118C027EC01C023EE280F61E063
+:1048000070E080E090E004C0660F771F881F991F5A
+:104810002A95D2F704C061E070E080E090E00E9449
+:10482000391B0E943D1781E0089580E0089580E0E3
+:104830000895CF93C82F8091DF01813079F018F06F
+:104840008230D1F184C0A0910E01B0910F018C9102
+:10485000813169F0823209F07CC009C0A0910E015B
+:10486000B0910F018C91813111F0823249F48C2F7B
+:104870000E94152481111DC08C2F0E9454231AC040
+:104880008C2F0E941724811114C0C43179F048F490
+:10489000CB3079F0C03109F060C082E08093DF0155
+:1048A00008C0C93219F0C83321F057C01092DF0197
+:1048B00054C081E0817053C0C93289F118F5C43108
+:1048C00071F1A8F4C73009F046C08AE08093150161
+:1048D00094E19093140193E090931301809312015B
+:1048E00088E08093110188E28093100134C0CE519A
+:1048F000C63088F5EC2FF0E0E65DFE4F80818093B6
+:10490000DE0129C0CE34E9F020F4CB3421F56AE091
+:1049100013C0C13579F0C235F1F461E00DC080916A
+:10492000DE01882319F01092DE0115C081E080932A
+:10493000DF0115C061E006C08091DE010E948E2279
+:104940000AC06AE08091DE010E94042304C0109234
+:10495000DF0180E004C081E002C080E0ABCFCF91F6
+:104960000895E1E8F0E08081886080838081816043
+:1049700080838FB7F89493E09093890090ED9093A3
+:1049800088008FBF0895EFE6F0E080818260808329
+:104990000895EFE6F0E080818D7F80830895EFE653
+:1049A000F0E0808192E08927808308951F920F9222
+:1049B0000FB60F9211242F933F934F935F936F93F2
+:1049C0007F938F939F93AF93BF93EF93FF938091C8
+:1049D000E0019091E10101969093E1018093E00163
+:1049E000811103C082E00E94D30AE091E101E695C3
+:1049F000E695F0E0EC51F84FE4918091E0018E13E0
+:104A000003C080E00E94D30AFF91EF91BF91AF9164
+:104A10009F918F917F916F915F914F913F912F91D6
+:104A20000F900FBE0F901F90189504D06894B1118D
+:104A30008DC0089570D088F09F5790F0B92F9927B6
+:104A4000B751A0F0D1F0660F771F881F991F1AF099
+:104A5000BA95C9F712C0B13081F077D0B1E00895AE
+:104A600074C0672F782F8827B85F39F0B93FCCF32F
+:104A7000869577956795B395D9F73EF4909580958F
+:104A8000709561957F4F8F4F9F4F0895E89409C0AF
+:104A900097FB3EF490958095709561957F4F8F4F71
+:104AA0009F4F9923A9F0F92F96E9BB279395F69587
+:104AB000879577956795B795F111F8CFFAF4BB0F05
+:104AC00011F460FF1BC06F5F7F4F8F4F9F4F16C069
+:104AD000882311F096E911C0772321F09EE8872FF3
+:104AE000762F05C0662371F096E8862F70E060E0AF
+:104AF0002AF09A95660F771F881FDAF7880F969528
+:104B0000879597F9089557FD9058440F551F59F010
+:104B10005F3F71F04795880F97FB991F61F09F3FAA
+:104B200079F087950895121613061406551FF2CFD3
+:104B30004695F1DF08C0161617061806991FF1CF23
+:104B400086957105610508940895E894BB2766274A
+:104B50007727CB0197F908950BD078C069D028F05A
+:104B60006ED018F0952309F05AC05FC01124EECF23
+:104B7000CADFA0F3959FD1F3950F50E0551F629FB8
+:104B8000F001729FBB27F00DB11D639FAA27F00DA6
+:104B9000B11DAA1F649F6627B00DA11D661F829FCD
+:104BA0002227B00DA11D621F739FB00DA11D621FB2
+:104BB000839FA00D611D221F749F3327A00D611DCF
+:104BC000231F849F600D211D822F762F6A2F1124B1
+:104BD0009F5750408AF0E1F088234AF0EE0FFF1F04
+:104BE000BB1F661F771F881F91505040A9F79E3F3B
+:104BF000510570F014C0AACF5F3FECF3983EDCF390
+:104C0000869577956795B795F795E7959F5FC1F777
+:104C1000FE2B880F911D9695879597F9089597F922
+:104C20009F6780E870E060E008959FEF80EC089552
+:104C300000240A941616170618060906089500247B
+:104C40000A9412161306140605060895092E0394F5
+:104C5000000C11F4882352F0BB0F40F4BF2B11F469
+:104C600060FF04C06F5F7F4F8F4F9F4F089597FB8A
+:104C7000072E16F4009407D077FD09D00E94512624
+:104C800007FC05D03EF4909581959F4F089570954F
+:104C900061957F4F0895EE0FFF1F0590F491E02D71
+:104CA0000994AA1BBB1B51E107C0AA1FBB1FA61773
+:104CB000B70710F0A61BB70B881F991F5A95A9F7C5
+:104CC00080959095BC01CD010895F999FECF92BDD4
+:104CD00081BDF89A992780B50895A8E1B0E042E037
+:104CE00050E00C948826262FF999FECF1FBA92BD6A
+:104CF00081BD20BD0FB6F894FA9AF99A0FBE0196BD
+:104D000008950E947326272F0C947426DC01CB0192
+:104D1000FC01F999FECF06C0F2BDE1BDF89A3196CB
+:104D200000B40D9241505040B8F70895F894FFCF69
+:104D30002002D50A620B3F0B0B0BD80A0101BC0104
+:104D400028080A03140A3F4D3639A50758072207D9
+:104D5000E9067C069506AE06C706010203040506B1
+:044D60000708090037
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c new file mode 100644 index 0000000000..d8911af412 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c @@ -0,0 +1,783 @@ +#include "ergodox_ez.h" +#include "action_layer.h" +#include "keymap_common.h" +#include "keymap_extras/keymap_german.h" + +#define UC_ASYMPTOTICALLY_EQUAL_TO 0 +#define UC_DIVISION_SIGN 1 +#define UC_DOWNWARDS_ARROW 2 +#define UC_ELEMENT_OF 3 +#define UC_EMPTY_SET 4 +#define UC_FOR_ALL 5 +#define UC_GREEK_CAPITAL_LETTER_ALPHA 6 +#define UC_GREEK_CAPITAL_LETTER_BETA 7 +#define UC_GREEK_CAPITAL_LETTER_CHI 8 +#define UC_GREEK_CAPITAL_LETTER_DELTA 9 +#define UC_GREEK_CAPITAL_LETTER_EPSILON 10 +#define UC_GREEK_CAPITAL_LETTER_ETA 11 +#define UC_GREEK_CAPITAL_LETTER_GAMMA 12 +#define UC_GREEK_CAPITAL_LETTER_IOTA 13 +#define UC_GREEK_CAPITAL_LETTER_KAPPA 14 +#define UC_GREEK_CAPITAL_LETTER_LAMDA 15 +#define UC_GREEK_CAPITAL_LETTER_MU 16 +#define UC_GREEK_CAPITAL_LETTER_NU 17 +#define UC_GREEK_CAPITAL_LETTER_OMEGA 18 +#define UC_GREEK_CAPITAL_LETTER_OMICRON 19 +#define UC_GREEK_CAPITAL_LETTER_PHI 20 +#define UC_GREEK_CAPITAL_LETTER_PI 21 +#define UC_GREEK_CAPITAL_LETTER_PSI 22 +#define UC_GREEK_CAPITAL_LETTER_RHO 23 +#define UC_GREEK_CAPITAL_LETTER_SIGMA 24 +#define UC_GREEK_CAPITAL_LETTER_TAU 25 +#define UC_GREEK_CAPITAL_LETTER_THETA 26 +#define UC_GREEK_CAPITAL_LETTER_UPSILON 27 +#define UC_GREEK_CAPITAL_LETTER_XI 28 +#define UC_GREEK_CAPITAL_LETTER_ZETA 29 +#define UC_GREEK_SMALL_LETTER_ALPHA 30 +#define UC_GREEK_SMALL_LETTER_BETA 31 +#define UC_GREEK_SMALL_LETTER_CHI 32 +#define UC_GREEK_SMALL_LETTER_DELTA 33 +#define UC_GREEK_SMALL_LETTER_EPSILON 34 +#define UC_GREEK_SMALL_LETTER_ETA 35 +#define UC_GREEK_SMALL_LETTER_FINAL_SIGMA 36 +#define UC_GREEK_SMALL_LETTER_GAMMA 37 +#define UC_GREEK_SMALL_LETTER_IOTA 38 +#define UC_GREEK_SMALL_LETTER_KAPPA 39 +#define UC_GREEK_SMALL_LETTER_LAMDA 40 +#define UC_GREEK_SMALL_LETTER_MU 41 +#define UC_GREEK_SMALL_LETTER_NU 42 +#define UC_GREEK_SMALL_LETTER_OMEGA 43 +#define UC_GREEK_SMALL_LETTER_OMICRON 44 +#define UC_GREEK_SMALL_LETTER_PHI 45 +#define UC_GREEK_SMALL_LETTER_PI 46 +#define UC_GREEK_SMALL_LETTER_PSI 47 +#define UC_GREEK_SMALL_LETTER_RHO 48 +#define UC_GREEK_SMALL_LETTER_SIGMA 49 +#define UC_GREEK_SMALL_LETTER_TAU 50 +#define UC_GREEK_SMALL_LETTER_THETA 51 +#define UC_GREEK_SMALL_LETTER_UPSILON 52 +#define UC_GREEK_SMALL_LETTER_XI 53 +#define UC_GREEK_SMALL_LETTER_ZETA 54 +#define UC_INFINITY 55 +#define UC_LEFTWARDS_ARROW 56 +#define UC_MULTIPLICATION_SIGN 57 +#define UC_NOT_AN_ELEMENT_OF 58 +#define UC_NOT_EQUAL_TO 59 +#define UC_PLUS_MINUS_SIGN 60 +#define UC_RIGHTWARDS_ARROW 61 +#define UC_SUBSCRIPT_EIGHT 62 +#define UC_SUBSCRIPT_FIVE 63 +#define UC_SUBSCRIPT_FOUR 64 +#define UC_SUBSCRIPT_NINE 65 +#define UC_SUBSCRIPT_ONE 66 +#define UC_SUBSCRIPT_SEVEN 67 +#define UC_SUBSCRIPT_SIX 68 +#define UC_SUBSCRIPT_THREE 69 +#define UC_SUBSCRIPT_TWO 70 +#define UC_SUBSCRIPT_ZERO 71 +#define UC_SUPERSCRIPT_EIGHT 72 +#define UC_SUPERSCRIPT_FIVE 73 +#define UC_SUPERSCRIPT_FOUR 74 +#define UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N 75 +#define UC_SUPERSCRIPT_NINE 76 +#define UC_SUPERSCRIPT_ONE 77 +#define UC_SUPERSCRIPT_SEVEN 78 +#define UC_SUPERSCRIPT_SIX 79 +#define UC_SUPERSCRIPT_THREE 80 +#define UC_SUPERSCRIPT_TWO 81 +#define UC_SUPERSCRIPT_ZERO 82 +#define UC_THERE_DOES_NOT_EXIST 83 +#define UC_THERE_EXISTS 84 +#define UC_UPWARDS_ARROW 85 +#define UC_VULGAR_FRACTION_ONE_EIGHTH 86 +#define UC_VULGAR_FRACTION_ONE_FIFTH 87 +#define UC_VULGAR_FRACTION_ONE_HALF 88 +#define UC_VULGAR_FRACTION_ONE_QUARTER 89 +#define UC_VULGAR_FRACTION_ONE_SIXTH 90 +#define UC_VULGAR_FRACTION_ONE_THIRD 91 +#define UC_VULGAR_FRACTION_THREE_QUARTERS 92 +#define UC_VULGAR_FRACTION_TWO_THIRDS 93 +#define UM 94 + +#define L0 0 // layer_0 +#define L1 1 // layer_1 +#define L2 2 // layer_2 +#define L3 3 // layer_3 +#define L4 4 // layer_4 +#define L5 5 // layer_5 +#define L6 6 // layer_6 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * .------------------------------------.------------------------------------. + * |MO(5)| 1 | 2 | 3 | 4 | 5 |ACUT | GRV | 6 | 7 | 8 | 9 | 0 |CIRC | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * |MO(4)| X | P | F | W | G |HOME |TG(2)| H | J | K | L | Q | Z | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | SS | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * |MO(3)| UE | OE | AE | C | V |END | TAB | B | M |COMM| DOT| UP | Y | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | |LGUI|LALT|LCTL| !RCTL|RALT|LEFT|DOWN|RGHT| + * '------------------------' '------------------------' + * .-----------. .-----------. + * |INS |TG(2)| !M(UM)|DELT | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | APP | ! PGUP| ! ! + * ! ! !-----! !-----! ! ! + * |BSPC |LSFT | ESC | ! PGDN|ENTER|SPACE| + * '-----------------' '-----------------' + */ +[L0] = KEYMAP( + MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, + MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME, + MO(1), DE_U, DE_I, DE_A, DE_E, DE_O, + MO(3), DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END, + KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_INS, TG(2), + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_APP, + /*-*/ /*-*/ /*-*/ /*-*/ KC_BSPC, KC_LSFT, KC_ESC, + DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC, + TG(2), DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z, + /*-*/ DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS, + KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y, + /*-*/ /*-*/ KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, + M(UM), KC_DELT, + KC_PGUP, + KC_PGDN, KC_ENTER, KC_SPACE +), +/* + * .------------------------------------.------------------------------------. + * | |EXLM|DQOT|PARA| | | | | | | | |RING| | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | |ASTR|PIPE|SLSH|LCBR|RCBR| | |HASH|LESS|MORE| |DQOT| | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | |UNDS|MINS|AMPR|LBRC|RBRC|-----!-----!DLR |LPRN|RPRN|TILD|QUOT| QST | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | |PLUS|EQL | | | | |BSLS|PERC|SCLN|COLN| ↑ | | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | ← | ↓ | → | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' + */ +[L1] = KEYMAP( + KC_TRNS, DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS, + KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC, + KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_RING, KC_TRNS, + KC_TRNS, DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS, + /*-*/ DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST, + KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS, + /*-*/ /*-*/ KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW), + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* + * .------------------------------------.------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F11 | F12 | F6 | F7 | F8 | F9 |F10 |PEQL | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | | | | | | | | | P7 | P8 | P9 |PAST|PSLS | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | |-----!-----! | P4 | P5 | P6 |PMNS|PMNS | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | | | NLCK| | P1 | P2 | P3 |PPLS|PPLS | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! P0 |PCMM|PDOT|PENT|PENT| + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' + */ +[L2] = KEYMAP( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL, + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, + /*-*/ KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS, + KC_NLCK, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS, + /*-*/ /*-*/ KC_P0, KC_PCMM, KC_PDOT, KC_PENT, KC_PENT, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* + * .------------------------------------.------------------------------------. + * | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | × | ½ | ÷ | ¼ | ⅕ | | | ⅙ | | ⅛ | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | ± | AT |EURO| ∅ |-----!-----! ∞ | ⁿ | ∃ | ∈ | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | |EXLM| | ∄ | ∉ | | | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' + */ +[L3] = KEYMAP( + KC_TRNS, M(UC_SUPERSCRIPT_ONE), M(UC_SUPERSCRIPT_TWO), M(UC_SUPERSCRIPT_THREE), M(UC_SUPERSCRIPT_FOUR), M(UC_SUPERSCRIPT_FIVE), M(UC_FOR_ALL), + KC_TRNS, M(UC_MULTIPLICATION_SIGN), M(UC_VULGAR_FRACTION_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_VULGAR_FRACTION_ONE_QUARTER), M(UC_VULGAR_FRACTION_ONE_FIFTH), KC_TRNS, + KC_TRNS, KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET), + KC_TRNS, M(UC_VULGAR_FRACTION_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_VULGAR_FRACTION_TWO_THIRDS), M(UC_VULGAR_FRACTION_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), 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, M(UC_SUPERSCRIPT_SIX), M(UC_SUPERSCRIPT_SEVEN), M(UC_SUPERSCRIPT_EIGHT), M(UC_SUPERSCRIPT_NINE), M(UC_SUPERSCRIPT_ZERO), KC_TRNS, + KC_TRNS, M(UC_VULGAR_FRACTION_ONE_SIXTH), KC_TRNS, M(UC_VULGAR_FRACTION_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ M(UC_INFINITY), M(UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS, + KC_TRNS, DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), 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 +), +/* + * .------------------------------------.------------------------------------. + * | | ₁ | ₂ | ₃ | ₄ | ₅ | | | ₆ | ₇ | ₈ | ₉ | ₀ | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | χ | π | φ | ω | γ | | | η | ξ | κ | λ | | ζ | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | υ | ι | α | ε | ο |-----!-----! σ | ν | ρ | τ | δ | ς | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | θ | | | | | | β | μ | | | | ψ | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' + */ +[L4] = KEYMAP( + KC_TRNS, M(UC_SUBSCRIPT_ONE), M(UC_SUBSCRIPT_TWO), M(UC_SUBSCRIPT_THREE), M(UC_SUBSCRIPT_FOUR), M(UC_SUBSCRIPT_FIVE), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_CHI), M(UC_GREEK_SMALL_LETTER_PI), M(UC_GREEK_SMALL_LETTER_PHI), M(UC_GREEK_SMALL_LETTER_OMEGA), M(UC_GREEK_SMALL_LETTER_GAMMA), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_UPSILON), M(UC_GREEK_SMALL_LETTER_IOTA), M(UC_GREEK_SMALL_LETTER_ALPHA), M(UC_GREEK_SMALL_LETTER_EPSILON), M(UC_GREEK_SMALL_LETTER_OMICRON), + KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_THETA), 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, M(UC_SUBSCRIPT_SIX), M(UC_SUBSCRIPT_SEVEN), M(UC_SUBSCRIPT_EIGHT), M(UC_SUBSCRIPT_NINE), M(UC_SUBSCRIPT_ZERO), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_ETA), M(UC_GREEK_SMALL_LETTER_XI), M(UC_GREEK_SMALL_LETTER_KAPPA), M(UC_GREEK_SMALL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_SMALL_LETTER_ZETA), + /*-*/ M(UC_GREEK_SMALL_LETTER_SIGMA), M(UC_GREEK_SMALL_LETTER_NU), M(UC_GREEK_SMALL_LETTER_RHO), M(UC_GREEK_SMALL_LETTER_TAU), M(UC_GREEK_SMALL_LETTER_DELTA), M(UC_GREEK_SMALL_LETTER_FINAL_SIGMA), + KC_TRNS, M(UC_GREEK_SMALL_LETTER_BETA), M(UC_GREEK_SMALL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_PSI), + /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* + * .------------------------------------.------------------------------------. + * | | | | | | | | | | | | | | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | Χ | Π | Φ | Ω | Γ | | | Η | Ξ | Κ | Λ | | Ζ | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | Υ | Ι | Α | Ε | Ο |-----!-----! Σ | Ν | Ρ | Τ | Δ | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | Θ | | | | | | Β | Μ | | | | Ψ | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' + */ +[L5] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_CHI), M(UC_GREEK_CAPITAL_LETTER_PI), M(UC_GREEK_CAPITAL_LETTER_PHI), M(UC_GREEK_CAPITAL_LETTER_OMEGA), M(UC_GREEK_CAPITAL_LETTER_GAMMA), KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_UPSILON), M(UC_GREEK_CAPITAL_LETTER_IOTA), M(UC_GREEK_CAPITAL_LETTER_ALPHA), M(UC_GREEK_CAPITAL_LETTER_EPSILON), M(UC_GREEK_CAPITAL_LETTER_OMICRON), + KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ETA), M(UC_GREEK_CAPITAL_LETTER_XI), M(UC_GREEK_CAPITAL_LETTER_KAPPA), M(UC_GREEK_CAPITAL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ZETA), + /*-*/ M(UC_GREEK_CAPITAL_LETTER_SIGMA), M(UC_GREEK_CAPITAL_LETTER_NU), M(UC_GREEK_CAPITAL_LETTER_RHO), M(UC_GREEK_CAPITAL_LETTER_TAU), M(UC_GREEK_CAPITAL_LETTER_DELTA), KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_BETA), M(UC_GREEK_CAPITAL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_PSI), + /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* + * .------------------------------------.------------------------------------. + * | | | | | | | | | | | | | | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | | | | | | | | | | | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | |-----!-----! | | | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | | | | | | | | | | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' + */ +[L6] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +}; + +const uint16_t PROGMEM fn_actions[] = {}; + +#define UC_MODE_WIN 0 +#define UC_MODE_LINUX 1 +#define UC_MODE_OSX 2 + +// TODO: allow default mode to be configured +static uint16_t unicode_mode = UC_MODE_WIN; + +uint16_t hextokeycode(uint8_t hex) { + if (hex == 0x0) { + return KC_P0; + } + if (hex < 0xA) { + return KC_P1 + (hex - 0x1); + } + return KC_A + (hex - 0xA); +} + +void unicode_action_function(uint16_t hi, uint16_t lo) { + switch (unicode_mode) { + case UC_MODE_WIN: + register_code(KC_LALT); + + register_code(KC_PPLS); + unregister_code(KC_PPLS); + + register_code(hextokeycode((hi & 0xF0) >> 4)); + unregister_code(hextokeycode((hi & 0xF0) >> 4)); + register_code(hextokeycode((hi & 0x0F))); + unregister_code(hextokeycode((hi & 0x0F))); + register_code(hextokeycode((lo & 0xF0) >> 4)); + unregister_code(hextokeycode((lo & 0xF0) >> 4)); + register_code(hextokeycode((lo & 0x0F))); + unregister_code(hextokeycode((lo & 0x0F))); + + unregister_code(KC_LALT); + break; + case UC_MODE_LINUX: + register_code(KC_LCTL); + register_code(KC_LSFT); + + register_code(KC_U); + unregister_code(KC_U); + + register_code(hextokeycode((hi & 0xF0) >> 4)); + unregister_code(hextokeycode((hi & 0xF0) >> 4)); + register_code(hextokeycode((hi & 0x0F))); + unregister_code(hextokeycode((hi & 0x0F))); + register_code(hextokeycode((lo & 0xF0) >> 4)); + unregister_code(hextokeycode((lo & 0xF0) >> 4)); + register_code(hextokeycode((lo & 0x0F))); + unregister_code(hextokeycode((lo & 0x0F))); + + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + break; + case UC_MODE_OSX: + break; + } +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + if (!record->event.pressed) { + return MACRO_NONE; + } + // MACRODOWN only works in this function + switch(id) { + case UM: + unicode_mode = (unicode_mode + 1) % 2; + break; + +case UC_GREEK_SMALL_LETTER_OMICRON: + unicode_action_function(0x03, 0xbf); + break; +case UC_LEFTWARDS_ARROW: + unicode_action_function(0x21, 0x90); + break; +case UC_GREEK_CAPITAL_LETTER_RHO: + unicode_action_function(0x03, 0xa1); + break; +case UC_SUBSCRIPT_THREE: + unicode_action_function(0x20, 0x83); + break; +case UC_VULGAR_FRACTION_ONE_EIGHTH: + unicode_action_function(0x21, 0x5b); + break; +case UC_GREEK_SMALL_LETTER_LAMDA: + unicode_action_function(0x03, 0xbb); + break; +case UC_VULGAR_FRACTION_ONE_THIRD: + unicode_action_function(0x21, 0x53); + break; +case UC_GREEK_SMALL_LETTER_XI: + unicode_action_function(0x03, 0xbe); + break; +case UC_THERE_DOES_NOT_EXIST: + unicode_action_function(0x22, 0x04); + break; +case UC_SUPERSCRIPT_ONE: + unicode_action_function(0x00, 0xb9); + break; +case UC_GREEK_SMALL_LETTER_BETA: + unicode_action_function(0x03, 0xb2); + break; +case UC_SUBSCRIPT_FIVE: + unicode_action_function(0x20, 0x85); + break; +case UC_GREEK_CAPITAL_LETTER_IOTA: + unicode_action_function(0x03, 0x99); + break; +case UC_VULGAR_FRACTION_ONE_FIFTH: + unicode_action_function(0x21, 0x55); + break; +case UC_GREEK_SMALL_LETTER_PSI: + unicode_action_function(0x03, 0xc8); + break; +case UC_SUBSCRIPT_NINE: + unicode_action_function(0x20, 0x89); + break; +case UC_SUPERSCRIPT_FOUR: + unicode_action_function(0x20, 0x74); + break; +case UC_RIGHTWARDS_ARROW: + unicode_action_function(0x21, 0x92); + break; +case UC_SUPERSCRIPT_SIX: + unicode_action_function(0x20, 0x76); + break; +case UC_DOWNWARDS_ARROW: + unicode_action_function(0x21, 0x93); + break; +case UC_GREEK_SMALL_LETTER_PI: + unicode_action_function(0x03, 0xc0); + break; +case UC_SUPERSCRIPT_TWO: + unicode_action_function(0x00, 0xb2); + break; +case UC_GREEK_CAPITAL_LETTER_OMEGA: + unicode_action_function(0x03, 0xa9); + break; +case UC_GREEK_CAPITAL_LETTER_PSI: + unicode_action_function(0x03, 0xa8); + break; +case UC_SUBSCRIPT_FOUR: + unicode_action_function(0x20, 0x84); + break; +case UC_GREEK_CAPITAL_LETTER_NU: + unicode_action_function(0x03, 0x9d); + break; +case UC_DIVISION_SIGN: + unicode_action_function(0x00, 0xf7); + break; +case UC_GREEK_SMALL_LETTER_SIGMA: + unicode_action_function(0x03, 0xc3); + break; +case UC_GREEK_SMALL_LETTER_RHO: + unicode_action_function(0x03, 0xc1); + break; +case UC_VULGAR_FRACTION_ONE_SIXTH: + unicode_action_function(0x21, 0x59); + break; +case UC_GREEK_SMALL_LETTER_GAMMA: + unicode_action_function(0x03, 0xb3); + break; +case UC_VULGAR_FRACTION_TWO_THIRDS: + unicode_action_function(0x21, 0x54); + break; +case UC_GREEK_SMALL_LETTER_NU: + unicode_action_function(0x03, 0xbd); + break; +case UC_GREEK_SMALL_LETTER_ZETA: + unicode_action_function(0x03, 0xb6); + break; +case UC_GREEK_SMALL_LETTER_EPSILON: + unicode_action_function(0x03, 0xb5); + break; +case UC_GREEK_SMALL_LETTER_KAPPA: + unicode_action_function(0x03, 0xba); + break; +case UC_SUPERSCRIPT_SEVEN: + unicode_action_function(0x20, 0x77); + break; +case UC_GREEK_CAPITAL_LETTER_PI: + unicode_action_function(0x03, 0xa0); + break; +case UC_GREEK_SMALL_LETTER_FINAL_SIGMA: + unicode_action_function(0x03, 0xc2); + break; +case UC_GREEK_CAPITAL_LETTER_XI: + unicode_action_function(0x03, 0x9e); + break; +case UC_GREEK_SMALL_LETTER_THETA: + unicode_action_function(0x03, 0xb8); + break; +case UC_GREEK_SMALL_LETTER_ETA: + unicode_action_function(0x03, 0xb7); + break; +case UC_SUBSCRIPT_TWO: + unicode_action_function(0x20, 0x82); + break; +case UC_ASYMPTOTICALLY_EQUAL_TO: + unicode_action_function(0x22, 0x43); + break; +case UC_GREEK_SMALL_LETTER_ALPHA: + unicode_action_function(0x03, 0xb1); + break; +case UC_GREEK_CAPITAL_LETTER_PHI: + unicode_action_function(0x03, 0xa6); + break; +case UC_GREEK_SMALL_LETTER_PHI: + unicode_action_function(0x03, 0xc6); + break; +case UC_INFINITY: + unicode_action_function(0x22, 0x1e); + break; +case UC_GREEK_CAPITAL_LETTER_OMICRON: + unicode_action_function(0x03, 0x9f); + break; +case UC_ELEMENT_OF: + unicode_action_function(0x22, 0x08); + break; +case UC_MULTIPLICATION_SIGN: + unicode_action_function(0x00, 0xd7); + break; +case UC_SUBSCRIPT_ZERO: + unicode_action_function(0x20, 0x80); + break; +case UC_GREEK_CAPITAL_LETTER_SIGMA: + unicode_action_function(0x03, 0xa3); + break; +case UC_GREEK_SMALL_LETTER_OMEGA: + unicode_action_function(0x03, 0xc9); + break; +case UC_SUBSCRIPT_ONE: + unicode_action_function(0x20, 0x81); + break; +case UC_GREEK_CAPITAL_LETTER_ZETA: + unicode_action_function(0x03, 0x96); + break; +case UC_GREEK_SMALL_LETTER_TAU: + unicode_action_function(0x03, 0xc4); + break; +case UC_SUPERSCRIPT_FIVE: + unicode_action_function(0x20, 0x75); + break; +case UC_THERE_EXISTS: + unicode_action_function(0x22, 0x03); + break; +case UC_PLUS_MINUS_SIGN: + unicode_action_function(0x00, 0xb1); + break; +case UC_VULGAR_FRACTION_THREE_QUARTERS: + unicode_action_function(0x00, 0xbe); + break; +case UC_SUPERSCRIPT_THREE: + unicode_action_function(0x00, 0xb3); + break; +case UC_EMPTY_SET: + unicode_action_function(0x22, 0x05); + break; +case UC_UPWARDS_ARROW: + unicode_action_function(0x21, 0x91); + break; +case UC_SUPERSCRIPT_NINE: + unicode_action_function(0x20, 0x79); + break; +case UC_GREEK_SMALL_LETTER_DELTA: + unicode_action_function(0x03, 0xb4); + break; +case UC_GREEK_SMALL_LETTER_MU: + unicode_action_function(0x03, 0xbc); + break; +case UC_GREEK_CAPITAL_LETTER_KAPPA: + unicode_action_function(0x03, 0x9a); + break; +case UC_SUBSCRIPT_EIGHT: + unicode_action_function(0x20, 0x88); + break; +case UC_GREEK_CAPITAL_LETTER_ALPHA: + unicode_action_function(0x03, 0x91); + break; +case UC_SUBSCRIPT_SEVEN: + unicode_action_function(0x20, 0x87); + break; +case UC_GREEK_CAPITAL_LETTER_BETA: + unicode_action_function(0x03, 0x92); + break; +case UC_GREEK_CAPITAL_LETTER_ETA: + unicode_action_function(0x03, 0x97); + break; +case UC_SUPERSCRIPT_EIGHT: + unicode_action_function(0x20, 0x78); + break; +case UC_SUPERSCRIPT_ZERO: + unicode_action_function(0x20, 0x70); + break; +case UC_NOT_AN_ELEMENT_OF: + unicode_action_function(0x22, 0x09); + break; +case UC_GREEK_SMALL_LETTER_UPSILON: + unicode_action_function(0x03, 0xc5); + break; +case UC_NOT_EQUAL_TO: + unicode_action_function(0x22, 0x60); + break; +case UC_GREEK_CAPITAL_LETTER_CHI: + unicode_action_function(0x03, 0xa7); + break; +case UC_FOR_ALL: + unicode_action_function(0x22, 0x00); + break; +case UC_GREEK_CAPITAL_LETTER_TAU: + unicode_action_function(0x03, 0xa4); + break; +case UC_VULGAR_FRACTION_ONE_QUARTER: + unicode_action_function(0x00, 0xbc); + break; +case UC_GREEK_SMALL_LETTER_CHI: + unicode_action_function(0x03, 0xc7); + break; +case UC_GREEK_CAPITAL_LETTER_THETA: + unicode_action_function(0x03, 0x98); + break; +case UC_GREEK_SMALL_LETTER_IOTA: + unicode_action_function(0x03, 0xb9); + break; +case UC_GREEK_CAPITAL_LETTER_LAMDA: + unicode_action_function(0x03, 0x9b); + break; +case UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N: + unicode_action_function(0x20, 0x7f); + break; +case UC_GREEK_CAPITAL_LETTER_UPSILON: + unicode_action_function(0x03, 0xa5); + break; +case UC_GREEK_CAPITAL_LETTER_MU: + unicode_action_function(0x03, 0x9c); + break; +case UC_GREEK_CAPITAL_LETTER_EPSILON: + unicode_action_function(0x03, 0x95); + break; +case UC_GREEK_CAPITAL_LETTER_GAMMA: + unicode_action_function(0x03, 0x93); + break; +case UC_SUBSCRIPT_SIX: + unicode_action_function(0x20, 0x86); + break; +case UC_GREEK_CAPITAL_LETTER_DELTA: + unicode_action_function(0x03, 0x94); + break; +case UC_VULGAR_FRACTION_ONE_HALF: + unicode_action_function(0x00, 0xbd); + break; + default: + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + case L1: + ergodox_right_led_1_on(); + break; + case L2: + ergodox_right_led_2_on(); + break; + case L3: + ergodox_right_led_3_on(); + break; + case L4: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + break; + case L5: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + break; + // case L6: + // ergodox_right_led_2_on(); + // ergodox_right_led_3_on(); + // break; + // case L7: + // ergodox_right_led_1_on(); + // ergodox_right_led_2_on(); + // ergodox_right_led_3_on(); + // break; + default: + ergodox_board_led_off(); + break; + } +}; diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md new file mode 100644 index 0000000000..2c9e0a8376 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md @@ -0,0 +1,188 @@ +# ManuNeo Ergodox Keyboard Layout + +Compile this file to a `keymap.c` file using `compile_keymap.py` + + python compile_keymap.py keymaps/german-manuneo/keymap.md + +Tested with python 2.7 and python 3.4 + + +# Layout Config + + { + "layout": "ergodox_ez", + "keymaps_includes": [ + "ergodox_ez.h", + "action_layer.h", + "keymap_common.h", + "keymap_extras/keymap_german.h", + ], + "key_prefixes": ["DE_", "KC_"], + "macros": { + // TODO: implement macros + // "MUC": "", + }, + // TODO: implement default unicode mode + } + + +# Layers + + +## Layer 0 + + .------------------------------------.------------------------------------. + |MO(5)| 1 | 2 | 3 | 4 | 5 |ACUT | GRV | 6 | 7 | 8 | 9 | 0 |CIRC | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + |MO(4)| X | P | F | W | G |HOME |TG(2)| H | J | K | L | Q | Z | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | SS | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + |MO(3)| UE | OE | AE | C | V |END | TAB | B | M |COMM| DOT| UP | Y | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | |LGUI|LALT|LCTL| !RCTL|RALT|LEFT|DOWN|RGHT| + '------------------------' '------------------------' + .-----------. .-----------. + |INS |TG(2)| !M(UM)|DELT | + .-----+-----+-----! !-----+-----+-----. + ! ! | APP | ! PGUP| ! ! + ! ! !-----! !-----! ! ! + |BSPC |LSFT | ESC | ! PGDN|ENTER|SPACE| + '-----------------' '-----------------' + + +## Layer 1 + + .------------------------------------.------------------------------------. + | |EXLM|DQOT|PARA| | | | | | | | |RING| | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | |ASTR|PIPE|SLSH|LCBR|RCBR| | |HASH|LESS|MORE| |DQOT| | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | |UNDS|MINS|AMPR|LBRC|RBRC|-----!-----!DLR |LPRN|RPRN|TILD|QUOT| QST | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | |PLUS|EQL | | | | |BSLS|PERC|SCLN|COLN| ↑ | | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | ← | ↓ | → | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' + + +## Layer 2 + + .------------------------------------.------------------------------------. + | | F1 | F2 | F3 | F4 | F5 | F11 | F12 | F6 | F7 | F8 | F9 |F10 |PEQL | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | | | | | | | | | P7 | P8 | P9 |PAST|PSLS | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | |-----!-----! | P4 | P5 | P6 |PMNS|PMNS | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | | | NLCK| | P1 | P2 | P3 |PPLS|PPLS | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! P0 |PCMM|PDOT|PENT|PENT| + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' + + + +## Layer 3 + +http://symbolcodes.tlt.psu.edu/bylanguage/mathchart.html + + .------------------------------------.------------------------------------. + | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | × | ½ | ÷ | ¼ | ⅕ | | | ⅙ | | ⅛ | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | ± | AT |EURO| ∅ |-----!-----! ∞ | ⁿ | ∃ | ∈ | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | |EXLM| | ∄ | ∉ | | | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' + + +## Layer 4 + + + .------------------------------------.------------------------------------. + | | ₁ | ₂ | ₃ | ₄ | ₅ | | | ₆ | ₇ | ₈ | ₉ | ₀ | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | χ | π | φ | ω | γ | | | η | ξ | κ | λ | | ζ | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | υ | ι | α | ε | ο |-----!-----! σ | ν | ρ | τ | δ | ς | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | θ | | | | | | β | μ | | | | ψ | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' + + +## Layer 5 + + .------------------------------------.------------------------------------. + | | | | | | | | | | | | | | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | Χ | Π | Φ | Ω | Γ | | | Η | Ξ | Κ | Λ | | Ζ | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | Υ | Ι | Α | Ε | Ο |-----!-----! Σ | Ν | Ρ | Τ | Δ | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | Θ | | | | | | Β | Μ | | | | Ψ | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' + + +## Layer 6 + + .------------------------------------.------------------------------------. + | | | | | | | | | | | | | | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | | | | | | | | | | | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | |-----!-----! | | | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | | | | | | | | | | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' + diff --git a/keyboard/ergodox_ez/keymaps/j3rn/keymap.c b/keyboard/ergodox_ez/keymaps/j3rn/keymap.c index b5463cb72d..6e271321d5 100644 --- a/keyboard/ergodox_ez/keymaps/j3rn/keymap.c +++ b/keyboard/ergodox_ez/keymaps/j3rn/keymap.c @@ -14,11 +14,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | Tab | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * |Ctrl/Esc| A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' | + * |Ctrl/Esc|A / L2| S | D | F | G |------| |------| H | J | K | L | ; | ' | * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | ~L1 | '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * | ~L1 | ~L2 |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | App | Home | | PgUp |Ctrl/Esc| @@ -34,9 +34,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, - CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, + CTL_T(KC_ESC), LT(MDIA, KC_A),KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), - KC_FN1, KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + KC_FN1, KC_FN2, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_HOME, KC_END, @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // right hand KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_QUOT, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, @@ -99,13 +99,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | + * | | | | | | | | | | | | Lclk | Rclk | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * | | | | | | |------| |------|MsLeft|MsDown| MsUp |MsRght| | Play | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | | Prev | Next | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * | | | | | | |VolUp |VolDn | Mute | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -116,19 +116,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // MEDIA AND MOUSE -KEYMAP( +[MDIA] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, // right hand KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, + KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -138,7 +138,8 @@ KEYMAP( }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols) + [2] = ACTION_LAYER_TAP_TOGGLE(MDIA) // FN2 - Momentary Layer 2 (Media) }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) diff --git a/keyboard/ergodox_ez/keymaps/j3rn/readme.md b/keyboard/ergodox_ez/keymaps/j3rn/readme.md index b0c4d267bd..fc4b640426 100644 --- a/keyboard/ergodox_ez/keymaps/j3rn/readme.md +++ b/keyboard/ergodox_ez/keymaps/j3rn/readme.md @@ -1,10 +1,10 @@ -# J3RN's Mac-centric Ergodox EZ keymap +# J3RN's Mac-centric ErgoDox EZ keymap ## Motivation -Essentially, I wanted to switch to a layout that was less jarring than the default Ergodox EZ layout, and did not require finger gymnastics to perform common OS X shortcuts (most of which involve the CMD (LGui) key). +Essentially, I wanted to switch to a layout that was less jarring than the default ErgoDox EZ layout, and did not require finger gymnastics to perform common OS X shortcuts (most of which involve the CMD (LGui) key). -## How is it different from the default Ergodox EZ layout? +## How is it different from the default ErgoDox EZ layout? This layout more closely resembles that of the Mac keyboard, and has some other goodness baked in. Here is a rundown of what that means: @@ -18,6 +18,7 @@ This layout more closely resembles that of the Mac keyboard, and has some other ### Other changes - **The button to the left of "A" is Ctrl/Esc instead of Backspace.** This is actually how I have the keyboard on my Macbook set up to be, since it's loads more convenient than a CAPS LOCK key. This is the Ctrl key I find myself using most. +- **Mouse uses Vim-style navigation**. To activate "Media mode," hold the 'a' key. This allows you to move the mouse around with hjkl just like in Vim. Additionally, right and left click are the conveniently placed 'i' and 'o' keys. - **The key to the right of "5" and the key to left of "6" are "[" and "]", respectively, instead of Left and Right.** There is a more convenient set of Left and Right already present. Truth be told, I don't really use these keys, as they are a stretch to reach. - **The Toggle L1 keys have been replaced by the otherwise displaced "-" and "=".** They are laid out, left-to-right, in the same order as on the Mac keyboard. Honestly, they are not terribly conveniently placed, and their placement might change in a later version. I found that I did not toggle L1 frequently at all, and found using the momentary keys to access L1 to fit my workflow better. - **The "~"/L1 key in the bottom-left is now just momentary L1.** The "~" key was moved to the top-left as mentioned before, and I like to keep my multi-use keys to a minimum due to the latency for them to switch from "press" to "hold." diff --git a/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png Binary files differnew file mode 100644 index 0000000000..7b5efaae79 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png diff --git a/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png Binary files differnew file mode 100644 index 0000000000..65f92dda1b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png diff --git a/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png Binary files differnew file mode 100644 index 0000000000..a69799b073 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png diff --git a/keyboard/ergodox_ez/keymaps/msc/keymap.c b/keyboard/ergodox_ez/keymaps/msc/keymap.c new file mode 100644 index 0000000000..e567e513f9 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/keymap.c @@ -0,0 +1,184 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | S | D | F | G |------| |------| H | J | K | L | ; |' / Cmd | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Cmd | Alt |AltShf| Left | Right| | Left | Down | Up |Right | L2 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + KC_LGUI,KC_LALT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN,GUI_T(KC_QUOT), + MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(MDIA), + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,KC_TAB, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | Mute | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | Prev |VolDn |VolUp | Next | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | Lclk | Rclk |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_BTN1, KC_BTN2, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/msc/msc.hex b/keyboard/ergodox_ez/keymaps/msc/msc.hex new file mode 100644 index 0000000000..a466a37af7 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/msc.hex @@ -0,0 +1,1118 @@ +:100000000C9465020C94A9020C94A9020C94A90208
+:100010000C94A9020C94A9020C94A9020C94A902B4
+:100020000C94A9020C94A9020C94AD0B0C947F0CB7
+:100030000C94A9020C94A9020C94A9020C94A90294
+:100040000C94A9020C9404210C94A9020C94A9020A
+:100050000C94A9020C94951A0C94A9020C94A90270
+:100060000C94A9020C94A9020C94A9020C94A90264
+:100070000C94A9020C94A9020C94A9020C94A90254
+:100080000C94A9020C94A9020C94A9020C94A90244
+:100090000C94A9020C94A9020C94A9020C94A90234
+:1000A0000C94A9020C94A9020C94A902EC0C0E0D5C
+:1000B000FC0D0E0DFC0D530D760DFC0DCB0DDE0D64
+:1000C000C010C010EF10EF10321170118913891396
+:1000D000891189138A128A125D1389138913741383
+:1000E0000000F0A12E004C002A00E100E300000017
+:1000F0001E00140004001D71E2004D001F001A00D4
+:1001000016001B00E1042A0020000800070006007A
+:1001100050002C0021001500090019004F004A0072
+:10012000220017000A000500000065745000015409
+:100130000000007F0000E3004F0001540000007742
+:100140000000E20023001C000B00110000002971D8
+:10015000240018000D00100050004B0025000C007A
+:100160000E00360051002800260012000F00370054
+:1001700052002B0027001300330038714F004E004F
+:100180002D0031003478E500025400000100010028
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:10020000010001004100250022001F00370001000D
+:1002100042002600230020002700010043002502A1
+:100220002E0231002E0001004400450001000100B3
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F20001000100F5000100F000F1000100D2
+:100260000100F40001000100F300010001000100A1
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A000010001000100A800AC00010001000100F4
+:1002B00001000100AA00B6000100010001000100D8
+:1002C000A90001000100010001000100AB000100D4
+:1002D00001000100AE00010001000000160345000E
+: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
+:10052000FFE3099511E0A0E0B1E0ECE8F5E402C0DA
+:1005300005900D92A433B107D9F711E0A4E3B1E01F
+:1005400001C01D92AE3EB107E1F70E94F1080C9484
+:10055000C4220C94000061110BC0FC01828188232D
+:1005600021F085EE0E945D0F03C085EE0E942510EC
+:1005700080E090E0089508956091B1017091B2011A
+:100580008091B3019091B4010E94C41956985E986D
+: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
+:10082000E30380B38C7080BB81B3836F81BBA6E38D
+:10083000B1E0E4E4F1E08EE08E0F11921D928E1390
+:10084000FCCF0C943303BF92CF92DF92EF92FF92D2
+:100850000F931F93CF93DF9380910001882379F04A
+:10086000809135018F5F80933501811108C00E940E
+:10087000490380930001811102C00E94DB0206E35C
+:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455
+:10089000E394F12CC730D10500F58091000181115E
+:1008A00064C080E40E949E0380930001811112C005
+:1008B00082E10E94C8038093000181110BC0C7012F
+:1008C0000C2E01C0880F0A94EAF780950E94C80395
+:1008D000809300010E94C00348C0CA30A1F028F4F0
+:1008E000C83059F0C93061F005C0CC3089F070F0E3
+:1008F000CD3089F0209A289810C0219A29980DC0EF
+:10090000229A2A980AC0239A2B9807C0529A01C0AB
+:10091000539A5B9802C03E9A469890EA9A95F1F7EE
+:100920009FB1799902C082E001C080E091709D255D
+:10093000982B7C9902C084E001C080E0892B7D99CE
+:1009400002C038E001C030E0832B7E9902C020E174
+:1009500001C020E0822B9FB19095991F9927991F84
+:100960009295990F907E892B0FC080910001811183
+:1009700049C080E40E949E0380930001882379F19E
+:10098000B12C0E94C0038B2DF8019081981719F0AB
+:100990008083C09201010E94E30321960F5F1F4FE5
+:1009A000CE30D10509F076CF80910101882361F125
+:1009B000815080930101882339F08FE99FE00197EE
+:1009C000F1F700C0000020C0A4E4B1E0E6E3F1E0EC
+:1009D000CF01825F91919D938E13FCCF15C083E16F
+:1009E0000E94C803809300018111CACF81E40E9454
+:1009F0009E03809300018111C3CF0E94D903B82EBA
+:100A0000B094BFCF80E0C0CF0E94D90281E0DF91D7
+:100A1000CF911F910F91FF90EF90DF90CF90BF90FB
+:100A20000895E82FF0E0EC5BFE4F80810895089573
+:100A30008B3B910578F4883A910540F5853A91050C
+:100A4000D0F48430910508F0B1C08130910509F4EB
+:100A5000ADC06BC0803E910508F467C0883E91052B
+:100A600008F4A4C09C01205F31092031310508F051
+:100A70005CC090650895853A910509F459C0863A9D
+:100A8000910509F058C082E890E40895883A9105EC
+:100A900009F454C0893A910509F453C08A3A910582
+:100AA00009F452C08B3A910509F451C08C3A910572
+:100AB00009F450C08D3A910509F44FC0803B91056F
+:100AC00009F44EC08E3A910509F44DC08F3A910554
+:100AD00009F44CC0813B910509F44BC0823B910560
+:100AE00009F44AC0833B910509F449C0843B910550
+:100AF00009F448C0853B910509F447C0863B910540
+:100B000009F446C0873B910509F445C0883B91052F
+:100B100009F444C0893B910509F443C08A3B91051F
+:100B200009F442C080E094E4089580E090E00895E4
+:100B300081E890E4089583E890E4089582EE94E4D7
+:100B4000089589EE94E408958AEE94E4089585EB7F
+:100B500094E4089586EB94E4089587EB94E4089573
+:100B60008CEC94E408958DEC94E4089583E895E486
+:100B700008958AE895E4089582E995E4089584E962
+:100B800095E4089581E296E4089583E296E4089559
+:100B900084E296E4089585E296E4089586E296E478
+:100BA000089587E296E408958AE296E40895089508
+:100BB00096E0799FF001112494E5899FE00DF11DE5
+:100BC0001124E60FF11DEE0FFF1FEC51FF4F859131
+:100BD00094910895880F991FFC01E05AF040859187
+:100BE00094910895880F991FFC01E052FF4F859161
+:100BF0009491089526E0729FF001112444E5849FAA
+:100C0000E00DF11D1124E60FF11DEE0FFF1FEC5159
+:100C1000FF4F859194919C013A9521154FE134073E
+:100C200008F41AC13F512115304120F49F700E94F1
+:100C3000F20508959C0130532115304118F499278D
+:100C4000906C0895811520E5920769F40E94AB131A
+:100C50004FEF84E39CE0415080409040E1F700C0BA
+:100C600000000C94BA1A813020E5920731F480918B
+:100C7000CC0181608093CC0108959C0130552115F1
+:100C8000304108F051C0292F33272F7033272130EE
+:100C90003105D9F4AC014370552702C0220F331F30
+:100CA0004A95E2F73C68AC0164E0440F551F6A9531
+:100CB000E1F744275370242B352B73E0880F991FDD
+:100CC0007A95E1F7807699271DC02230310529F405
+:100CD000982F8827816F906A089523303105A9F4F1
+:100CE000AC014370552721E030E002C0220F331FD2
+:100CF0004A95E2F73C6843E0880F991F4A95E1F76F
+:100D0000807E9770822B932B089524303105E1F477
+:100D1000AC014370552721E030E002C0220F331FA1
+:100D20004A95E2F73A68E7CF9C01305721153041E8
+:100D300018F49F70906208959C013058211530413D
+:100D400018F49F70906A0895803E9105E0F4803C0D
+:100D5000910558F58133910509F46FC048F4893243
+:100D6000910509F463C08A32910509F46DC072C01F
+:100D700089339105E9F082389105D1F085339105E9
+:100D800009F44DC067C0833E910581F138F4803E7F
+:100D90009105B9F0823E9105D9F05CC0863E91057F
+:100DA00061F1873E9105A1F155C00E94EA050895C1
+:100DB0002091DF0120FD02C021FF4CC080EE90E0B9
+:100DC00049C08091DF0180FFF9CF89E390E042C004
+:100DD0008091DF0182FF0EC08091DF0184FF03C09C
+:100DE00080E090E037C083EE90E034C08091DF0176
+:100DF00082FFF2CF82EE90E02DC08091DF0183FF71
+:100E00000BC08091DF0184FDEBCF87EE90E022C024
+:100E10008091DF0183FFF5CF86EE90E01BC08091CB
+:100E2000DF0185FF07C089E290E014C08091DF01F7
+:100E300085FFF9CF85E390E00DC08091DF0186FF4B
+:100E400007C08AE290E006C08091DF0186FFF9CFFB
+:100E500081E390E00E941805089508950C942D07F1
+:100E6000809162010895CF93DF9300D01F92CDB798
+:100E7000DEB79C018091E501843019F593E09983F8
+:100E80003B832A839093E9008FEF9091E800815093
+:100E900095FD06C095ED9A95F1F700008111F5CF0B
+:100EA0008091E80085FF0DC040E050E063E070E015
+:100EB000CE0101960E949D098091E8008E77809373
+:100EC000E8000F900F900F90DF91CF910895CF938E
+:100ED000DF9300D01F92CDB7DEB72091E50124301B
+:100EE00021F522E029839B838A8383E08093E900B4
+:100EF0008FEF9091E800815095FD06C095ED9A9591
+:100F0000F1F700008111F5CF8091E80085FF0DC059
+:100F100040E050E063E070E0CE0101960E949D0940
+:100F20008091E8008E778093E8000F900F900F90EB
+:100F3000DF91CF9108952091E5012430F1F422E072
+:100F40002093E9002FEF3091E800215035FD06C0D5
+:100F500035ED3A95F1F700002111F5CF2091E80029
+:100F600025FF0BC040E050E065E070E00E949D0965
+:100F70008091E8008E778093E8000895CF93DF9307
+:100F8000EC019091E501943009F046C080910C018C
+:100F90008823D9F080910D018823B9F09093E9005E
+:100FA0008FEF9091E800815095FD06C095E19A95EC
+:100FB000F1F700008111F5CF8091E80085FF2CC08A
+:100FC00040E050E060E170E017C081E08093E9000C
+:100FD0008FEF9091E800815095FD06C095ED9A95B0
+:100FE000F1F700008111F5CF8091E80085FF14C072
+:100FF00040E050E068E070E0CE010E949D098091E1
+:10100000E8008E778093E80080E1FE01A2E5B1E080
+:1010100001900D928A95E1F7DF91CF91089580912B
+:10102000E401811109C00E94320B0E948F0B809154
+:10103000E20084608093E20008951092E401089534
+:1010400008950C94F1200E94501A0E94F7200E94EB
+:10105000350E0C942E0742E061EC81E00E94AC0A50
+:1010600042E061EC82E00E94AC0A42E061EC83E085
+:101070000E94AC0A42E161EC84E00C94AC0A8091DD
+:10108000E701833009F455C030F4813071F08230CB
+:1010900009F48EC008958A3009F47AC08B3009F4BF
+:1010A00060C0893009F09CC020C08091E601813A7F
+:1010B00009F096C08091E800877F8093E8008091D6
+:1010C000EA019091EB01892B21F460E182E591E046
+:1010D00003C060E080E090E070E00E94E809809149
+:1010E000E8008B778093E80008958091E6018132D3
+:1010F00009F076C08091EA019091EB01009719F018
+:10110000039709F06DC08091E800877F8093E80025
+:101110008091E80082FD05C08091E5018111F8CF42
+:101120005FC08091F100809362018091E8008B772D
+:1011300053C08091E601813A09F052C08091EA01E2
+:101140009091EB01892B09F04BC08091E800877FDB
+:101150008093E8008091E80080FFFCCF80910C0133
+:1011600036C08091E6018132D9F58091EA019091F3
+:10117000EB01892BA9F58091E800877F8093E80037
+:101180000E94E10A8091E80180930C010C94AB135A
+:101190008091E601813221F58091E800877F80937C
+:1011A000E8000E94E10A8091E901809363010895BB
+:1011B0008091E601813AA1F48091E800877F8093D5
+:1011C000E8008091E80080FFFCCF8091630180936C
+:1011D000F1008091E8008E778093E8000C94E10A9A
+:1011E000089584B7877F84BF88E10FB6F894809311
+:1011F0006000109260000FBE90E080E80FB6F89497
+:1012000080936100909361000FBE0E94840E0E9443
+:10121000320B0E948F0B8091E20084608093E20089
+:1012200078940E94150E0E94860E82E091E00E9442
+:10123000300E0E94DF208091E501853069F40E9424
+:10124000141A8091E3018823B1F30E943C1A882389
+:1012500091F30E948709EFCF0E948C0EECCF292FCB
+:10126000332723303105C9F064F42130310581F092
+:101270002230310509F043C08DE690E020E133E0F3
+:1012800042C021323105F1F02232310541F137C03F
+:1012900082E190E02DE733E036C099278130910557
+:1012A00041F08230910541F0892B49F5ECE0F3E003
+:1012B00005C0E4EFF2E002C0ECEDF2E0849190E0D2
+:1012C0009F0121C06430D8F4E62FF0E0EE0FFF1F3D
+:1012D000EE5DFE4F2081318189E090E014C06430E2
+:1012E00070F470E0FB01EE0FFF1FE65EFE4F208101
+:1012F0003181FB01EA5EFE4F808190E004C080E016
+:1013000090E020E030E0FA0131832083089580E10D
+:1013100089BD82E189BD09B400FEFDCF8091D8006E
+:101320008F7D8093D8008091E00082608093E00000
+:101330008091E00081FDFCCF0895CF92DF92EF9283
+:10134000FF920F931F93CF93DF93EC018B016A0100
+:101350000E94000B811133C0C114D10439F0F60191
+:1013600080819181081B190BC80FD91FE12CF12C2A
+:101370000115110519F18091E80085FD16C08091D5
+:10138000E8008E778093E800C114D10449F0F6019B
+:1013900080819181E80EF91EF182E08285E00FC024
+:1013A0000E94000B882321F30AC089918093F100E9
+:1013B00001501109FFEFEF1AFF0ADACF80E0DF9149
+:1013C000CF911F910F91FF90EF90DF90CF900895F4
+:1013D0002091EC013091ED012617370748F0611597
+:1013E000710539F42091E8002E772093E80001C0C0
+:1013F000B90140E061157105A9F12091E5012223B1
+:1014000009F443C0253009F442C02091E80023FDCF
+:1014100040C02091E80022FD32C02091E80020FF6A
+:10142000E9CF4091F3002091F20030E0342BFC0131
+:10143000CF016115710559F02830310540F48191D3
+:101440008093F100615071092F5F3F4FF1CF41E070
+:101450002830310509F040E02091E8002E772093F4
+:10146000E800C8CF4111C9CF0AC08091E5018823A7
+:1014700061F0853061F08091E80083FD0AC08091C1
+:10148000E80082FFF2CF80E0089582E0089583E0D3
+:10149000089581E008952091EC013091ED01261727
+:1014A000370748F06115710539F42091E8002E776F
+:1014B0002093E80001C0B901FC0120E0611571052D
+:1014C00091F18091E501882309F440C0853009F449
+:1014D0003FC08091E80083FD3DC08091E80082FD1F
+:1014E0002FC08091E80080FFE9CF2091F300809128
+:1014F000F20090E0922B6115710559F0883091054A
+:1015000040F424912093F1003196615071090196C5
+:10151000F2CF21E0089709F020E08091E8008E7773
+:101520008093E800CBCF2111CCCF0AC08091E50198
+:10153000882361F0853061F08091E80083FD0AC066
+:101540008091E80082FFF2CF80E0089582E0089564
+:1015500083E0089581E00895982F973058F590938F
+:10156000E900981739F07091EC002091ED0050914E
+:10157000F00003C0242F762F50E021FF19C03091D6
+:10158000EB003E7F3093EB003091ED003D7F3093D8
+:10159000ED003091EB0031603093EB007093EC0084
+:1015A0002093ED005093F0002091EE0027FF07C03C
+:1015B0009F5FD3CF8F708093E90081E0089580E032
+:1015C00008958091E60187FF11C08091E80082FDB7
+:1015D00005C08091E5018111F8CF11C08091E8002C
+:1015E0008B770BC08091E501882349F08091E8005A
+:1015F00080FFF8CF8091E8008E778093E80008950F
+:101600002091E4003091E50095E64091EC00842FB4
+:10161000817040FF22C08091E80080FD1CC0809155
+:10162000E501882391F0853091F08091EB0085FDF4
+:1016300010C04091E4005091E5004217530729F390
+:101640009A01915011F784E0089582E0089583E0B3
+:10165000089581E0089580E008954091E80042FFF8
+:10166000DECF08950E94A00B0E94A80BE0EEF0E0F0
+:10167000808181608083E8EDF0E080818F778083D6
+:1016800019BCA7EDB0E08C918E7F8C9380818F7E0A
+:1016900080831092E40108950F931F93CF93DF93FB
+:1016A0000E94A00B0E94A80BC8EDD0E088818F7724
+:1016B000888388818068888388818F7D888319BC2E
+:1016C0001092E5011092E1011092E3011092E20103
+:1016D00000EE10E0F80180818B7F8083888181603B
+:1016E000888342E060E080E00E94AC0AE1EEF0E036
+:1016F00080818E7F8083E2EEF0E080818160808354
+:10170000808188608083F80180818E7F80838881DA
+:1017100080618883DF91CF911F910F910895E8ED4B
+:10172000F0E080818F7E8083E7EDF0E08081816052
+:10173000808384E082BF81E08093E4010C944C0BB1
+:10174000E8EDF0E080818E7F80831092E2000895C2
+:101750001092DA001092E10008951F920F920FB6D6
+:101760000F9211242F933F934F935F936F937F9327
+:101770008F939F93AF93BF93EF93FF938091E1007B
+:1017800082FF0BC08091E20082FF07C08091E100E0
+:101790008B7F8093E1000E94140E8091DA0080FF1D
+:1017A0001FC08091D80080FF1BC08091DA008E7F1F
+:1017B0008093DA008091D90080FF0DC080E189BD5F
+:1017C00082E189BD09B400FEFDCF81E08093E5018F
+:1017D0000E940F0805C019BC1092E5010E941D0867
+:1017E0008091E10080FF19C08091E20080FF15C068
+:1017F0008091E2008E7F8093E2008091E200806120
+:101800008093E2008091D80080628093D80019BC58
+:1018100085E08093E5010E9421088091E10084FF2A
+:1018200030C08091E20084FF2CC080E189BD82E15C
+:1018300089BD09B400FEFDCF8091D8008F7D8093D3
+:10184000D8008091E1008F7E8093E1008091E200DA
+:101850008F7E8093E2008091E20081608093E200BD
+:101860008091E101882311F084E007C08091E300BA
+:1018700087FD02C081E001C083E08093E5010E9402
+:1018800023088091E10083FF29C08091E20083FF5B
+:1018900025C08091E100877F8093E10082E0809302
+:1018A000E5011092E1018091E1008E7F8093E100DB
+:1018B0008091E2008E7F8093E2008091E20080615F
+:1018C0008093E20042E060E080E00E94AC0A8091F8
+:1018D000F00088608093F0000E942008FF91EF9153
+:1018E000BF91AF919F918F917F916F915F914F9138
+:1018F0003F912F910F900FBE0F901F9018951F9240
+:101900000F920FB60F9211242F933F934F935F9333
+:101910006F937F938F939F93AF93BF93CF93DF93F7
+:10192000EF93FF93C091E900CF708091EC00D82F26
+:10193000D17080FDD0E81092E9008091F000877F9F
+:101940008093F00078940E94C30C1092E90080917B
+:10195000F00088608093F000CD2BCF70C093E90039
+:10196000FF91EF91DF91CF91BF91AF919F918F91B7
+:101970007F916F915F914F913F912F910F900FBE8B
+:101980000F901F9018951F93CF93DF93CDB7DEB7BD
+:10199000AA970FB6F894DEBF0FBECDBFE6EEF1E01A
+:1019A00088E08E0F9091F10091938E13FBCF0E94EF
+:1019B0003F088091E80083FF1FC18091E60190916C
+:1019C000E701492F50E04A30510508F015C1FA01EE
+:1019D000EA5AFF4F0C947922803881F0823809F05E
+:1019E0000BC18091EA018F708093E9008091EB0038
+:1019F00085FB882780F91092E90006C08091E201FA
+:101A00009091E301911182609091E800977F90930B
+:101A1000E8008093F1001092F100C8C0282F2D7FBC
+:101A200009F0EAC0882319F0823061F0E5C08091A6
+:101A3000E801813009F0E0C0933009F080E0809344
+:101A4000E3012BC08091E801811127C08091EA0158
+:101A50008F7009F4D1C08093E9002091EB0020FF42
+:101A60001CC0933021F48091EB00806214C09091EF
+:101A7000EB0090619093EB0021E030E0A90102C0FF
+:101A8000440F551F8A95E2F74093EA001092EA004E
+:101A90008091EB0088608093EB001092E9008091C8
+:101AA000E800877F86C08111A7C01091E8011F77E9
+:101AB0008091E3008078812B8093E3008091E8009F
+:101AC000877F8093E8000E94E10A8091E80080FF10
+:101AD000FCCF8091E30080688093E300111102C085
+:101AE00082E001C083E08093E50186C080588230A7
+:101AF00008F082C08091E8019091E9018C3D53E0AB
+:101B0000950779F583E08A838AE289834FB7F89451
+:101B1000DE01139620E03EE051E2E32FF0E0509327
+:101B20005700E49120FF03C0E295EF703F5FEF7034
+:101B30008E2F90E0EA3010F0C79601C0C0968D93CA
+:101B40009D932F5F243149F74FBF8091E800877F35
+:101B50008093E8006AE270E0CE0101960E94E809F5
+:101B600014C0AE014F5F5F4F6091EA010E942F09E0
+:101B7000BC01892B09F440C09091E800977F9093B5
+:101B8000E80089819A810E944B0A8091E8008B7756
+:101B90008093E80031C0803879F58091E800877F34
+:101BA0008093E8008091E1018093F1008091E8004A
+:101BB0008E778093E8000E94E10A1EC081111CC04C
+:101BC0009091E8019230C0F48091E800877F809383
+:101BD000E8009093E1010E94E10A8091E101811106
+:101BE00006C08091E30087FD02C081E001C084E06F
+:101BF0008093E5010E942B088091E80083FF0AC0D2
+:101C00008091E800877F8093E8008091EB008062FC
+:101C10008093EB00AA960FB6F894DEBF0FBECDBF3F
+:101C2000DF91CF911F9108950895CF938091E501A1
+:101C30008823A1F0C091E900CF709091EC00892F2A
+:101C4000817090FD80E8C82B1092E9008091E80037
+:101C500083FD0E94C30CCF70C093E900CF9108951B
+:101C600090936901809368010895E0916801F09173
+:101C70006901309721F00190F081E02D099480E016
+:101C80000895E0916801F0916901309721F0028098
+:101C9000F381E02D09940895E0916801F0916901C4
+:101CA000309721F00480F581E02D0994089520916A
+:101CB0006601309167018217930771F09093670175
+:101CC00080936601E0916801F0916901309721F0FD
+:101CD0000680F781E02D09940895209164013091E8
+:101CE00065018217930771F09093650180936401F9
+:101CF000E0916801F0916901309721F00084F1854D
+:101D0000E02D0994089508950C94830E0E94561AAC
+:101D10000E940B040C941C1BCF92DF92EF92FF9257
+:101D20000F931F93CF93DF93CDB7DEB72B970FB6EB
+:101D3000F894DEBF0FBECDBF0E9423048BE6C82EF1
+:101D400081E0D82E00E010E0E02E802F0E941105E7
+:101D5000F60141916F01F42EF826B1F40F5F1F4F89
+:101D60000E30110589F78FEF89838A831B820E94C9
+:101D70005F1A8160782F9D838C8349815A816B81A2
+:101D80008D810E942F0F40C09091CC0191FF04C023
+:101D90008B870E9417058B8520E030E04F2D50E0A7
+:101DA000922FBA01022E02C0759567950A94E2F748
+:101DB00060FF24C02E83EF8221E030E0690102C081
+:101DC000CC0CDD1C9A95E2F790E08C219D21892BAB
+:101DD00009F420E028870E945F1A8160782F9A8793
+:101DE00089874E815F8168858A850E942F0FF8015F
+:101DF000E559FE4F8081C826C08206C02F5F3F4F45
+:101E00002630310569F6AACF0E94031E10916A019F
+:101E10000E94350E1817A1F00E94350E80936A01BA
+:101E20002B960FB6F894DEBF0FBECDBFDF91CF91DA
+:101E30001F910F91FF90EF90DF90CF900C942E07A1
+:101E40002B960FB6F894DEBF0FBECDBFDF91CF91BA
+:101E50001F910F91FF90EF90DF90CF900895CF9357
+:101E6000DF93CDB7DEB72B970FB6F894DEBF0FBE6A
+:101E7000CDBF4F83588769877A878B87DE0111969C
+:101E800086E0FD0111928A95E9F785E0FE0137961B
+:101E900001900D928A95E1F749815A816B817C818D
+:101EA0008D819E810E9445162B960FB6F894DEBF59
+:101EB0000FBECDBFDF91CF910895CF93882309F452
+:101EC000C2C0C82F823859F40E94350E81FDBBC0B4
+:101ED00089E30E94E1180E949E1989E30CC08338AF
+:101EE00079F40E94350E80FDAEC083E50E94E118B2
+:101EF0000E949E1983E50E942319CF910C949E198C
+:101F0000843859F40E94350E82FD9DC087E40E94FA
+:101F1000E1180E949E1987E4EECF8CEF8C0F813A76
+:101F200048F48C2F0E94442081118DC08C2F0E9478
+:101F3000E118E3CF80E28C0F883048F4C77081E06D
+:101F400001C0880FCA95EAF70E946719D6CF8BE5C2
+:101F50008C0F833078F4C53A29F0C63A31F083E823
+:101F600090E005C081E890E002C082E890E0CF9167
+:101F70000C94570E88E58C0F833108F064C0C83A82
+:101F800039F1C93A41F1CA3A49F1CB3A51F1CC3A67
+:101F900059F1CD3A61F1C03B69F1CE3A71F1CF3AD6
+:101FA00079F1C13B81F1C23B89F1C33B91F1C43B63
+:101FB00099F1C53BA1F1C63BA9F1C73BB1F1C83BC3
+:101FC000B9F1C93BC1F1CA3BC9F180E090E038C02A
+:101FD00082EE90E035C089EE90E032C08AEE90E06B
+:101FE0002FC085EB90E02CC086EB90E029C087EBFA
+:101FF00090E026C08CEC90E023C08DEC90E020C0F7
+:1020000083E891E01DC08AE891E01AC082E991E07E
+:1020100017C084E991E014C081E292E011C083E22C
+:1020200092E00EC084E292E00BC085E292E008C02C
+:1020300086E292E005C087E292E002C08AE292E086
+:10204000CF910C946D0ECF910895882309F44BC065
+:10205000823859F40E94350E81FF45C089E30E9401
+:10206000E1180E949E1989E30CC0833871F40E9424
+:10207000350E80FF38C083E50E94E1180E949E194A
+:1020800083E50E9423190C949E19843859F40E9408
+:10209000350E82FF28C087E40E94E1180E949E1935
+:1020A00087E4EFCF9CEF980F913A58F390E2980FA6
+:1020B000983050F4877091E001C0990F8A95EAF743
+:1020C000892F0E946D19DFCF9BE5980F933020F484
+:1020D00080E090E00C94570E885A833120F480E021
+:1020E00090E00C946D0E0895882321F00E946719EA
+:1020F0000C949E190895882321F00E946D190C9468
+:102100009E190895BF92CF92DF92EF92FF920F93A4
+:102110001F93CF93DF9300D000D000D0CDB7DEB7B0
+:1021200025E0FC01DE01119601900D922A95E1F760
+:10213000FC01408131810281258122952F706381CC
+:102140007481672B09F4E5C23F3F19F44F3F09F44E
+:10215000E0C27C0149833A8389819A812E830E945F
+:10216000A018182FB92E0E949F180E946617EB2DF9
+:10217000E295EF70F0E0E05AFF4F2E810C94792247
+:102180008B2D807F9B2D9F70F92E882319F0F29460
+:1021900080EFF822002349F0FF2009F467C28F2D59
+:1021A0000E9477190E949E1961C2812F0E942510FA
+:1021B000FF2009F4AEC28F2D0E947D1926960FB61E
+:1021C000F894DEBF0FBECDBFDF91CF911F910F916D
+:1021D000FF90EF90DF90CF90BF900C949E193B2D15
+:1021E000307F8B2D8F70303211F08295807F1123DC
+:1021F00019F0113021F12CC00023B9F0222309F489
+:10220000A0C1213009F09DC126960FB6F894DEBF1B
+:102210000FBECDBFDF91CF911F910F91FF90EF9037
+:10222000DF90CF90BF900C948719222319F02130B2
+:1022300009F46FC28E830E948A198E8196C1002391
+:1022400021F0223008F065C27CC1211162C28DC12B
+:10225000002321F0222309F474C108C2222309F4C7
+:1022600084C119C22B2D26952695237030E02115A7
+:10227000310521F021303105D1F04BC2002321F08E
+:10228000812F9B2D937002C080E090E026960FB6C0
+:10229000F894DEBF0FBECDBFDF91CF911F910F919C
+:1022A000FF90EF90DF90CF90BF900C94570E0023DB
+:1022B00021F0812F9B2D937002C080E090E0269644
+:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147
+:1022D0000F91FF90EF90DF90CF90BF900C946D0E18
+:1022E000812F002319F00E940B1D02C00E94731D54
+:1022F00026960FB6F894DEBF0FBECDBFDF91CF910B
+:102300001F910F91FF90EF90DF90CF90BF900C94B2
+:10231000F81D8B2D837009F07BC00111FAC1812F4C
+:10232000829586958770880F880F912F9F70C92E90
+:10233000D12CE12CF12C082E04C0CC0CDD1CEE1CA1
+:10234000FF1C0A94D2F714FF12C04FE050E060E087
+:1023500070E004C0440F551F661F771F8A95D2F79F
+:10236000CB01BA01609570958095909503C060E0AF
+:1023700070E0CB012B2D269526952370422F50E03F
+:1023800042305105D9F04330510569F16C297D295E
+:102390008E299F294130510551F126960FB6F894A8
+:1023A000DEBF0FBECDBFDF91CF911F910F91FF9088
+:1023B000EF90DF90CF90BF900C948D176C297D2902
+:1023C0008E299F2926960FB6F894DEBF0FBECDBF8B
+:1023D000DF91CF911F910F91FF90EF90DF90CF9001
+:1023E000BF900C94A9170E948D17C701B6012696BD
+:1023F0000FB6F894DEBF0FBECDBFDF91CF911F9116
+:102400000F91FF90EF90DF90CF90BF900C947117D9
+:10241000002319F08B2D817001C08695882309F463
+:1024200078C1812F829586958770880F880F912FAC
+:102430009F70C92ED12CE12CF12C082E04C0CC0C9D
+:10244000DD1CEE1CFF1C0A94D2F714FF12C04FE0F3
+:1024500050E060E070E004C0440F551F661F771F16
+:102460008A95D2F7CB01BA016095709580959095C9
+:1024700003C060E070E0CB012B2D269526952370DC
+:10248000422F50E042305105D9F04330510569F1F7
+:102490006C297D298E299F294130510551F12696BD
+:1024A0000FB6F894DEBF0FBECDBFDF91CF911F9165
+:1024B0000F91FF90EF90DF90CF90BF900C94671832
+:1024C0006C297D298E299F2926960FB6F894DEBFA8
+:1024D0000FBECDBFDF91CF911F910F91FF90EF9075
+:1024E000DF90CF90BF900C9483180E946718C701AB
+:1024F000B60126960FB6F894DEBF0FBECDBFDF91B2
+:10250000CF911F910F91FF90EF90DF90CF90BF90F0
+:102510000C944B18103FD1F118F4103E50F4A1C0A8
+:10252000123F09F463C008F44CC0133F09F473C0B0
+:1025300098C01F708B2D8F710023A1F00E94E417AB
+:10254000812F26960FB6F894DEBF0FBECDBFDF9168
+:10255000CF911F910F91FF90EF90DF90CF90BF90A0
+:102560000C9474100E940518812F26960FB6F894CB
+:10257000DEBF0FBECDBFDF91CF911F910F91FF90B6
+:10258000EF90DF90CF90BF900C947B100023A9F0C8
+:102590002111BFC08B2D8F7126960FB6F894DEBF28
+:1025A0000FBECDBFDF91CF911F910F91FF90EF90A4
+:1025B000DF90CF90BF900C942A18223008F0A9C069
+:1025C000E9CF0023A9F08B2D8F7126960FB6F894D2
+:1025D000DEBF0FBECDBFDF91CF911F910F91FF9056
+:1025E000EF90DF90CF90BF900C94E417002359F345
+:1025F0008B2D8F7126960FB6F894DEBF0FBECDBF20
+:10260000DF91CF911F910F91FF90EF90DF90CF90CE
+:10261000BF900C940518002399F08B2D8F7126968E
+:102620000FB6F894DEBF0FBECDBFDF91CF911F91E3
+:102630000F91FF90EF90DF90CF90BF900C94CF1749
+:1026400026960FB6F894DEBF0FBECDBFDF91CF91B7
+:102650001F910F91FF90EF90DF90CF90BF900C945F
+:10266000C5170023A9F0222309F4ADCF812F2696A8
+:102670000FB6F894DEBF0FBECDBFDF91CF911F9193
+:102680000F91FF90EF90DF90CF90BF900C945D0F73
+:10269000222309F4ADCF812F26960FB6F894DEBF22
+:1026A0000FBECDBFDF91CF911F910F91FF90EF90A3
+:1026B000DF90CF90BF900C9425104B2D4F70612F61
+:1026C000C7010E94AB0226960FB6F894DEBF0FBE7C
+:1026D000CDBFDF91CF911F910F91FF90EF90DF90D1
+:1026E000CF90BF900C94E9164B2D4F70612FC7010E
+:1026F00026960FB6F894DEBF0FBECDBFDF91CF9107
+:102700001F910F91FF90EF90DF90CF90BF900C94AE
+:10271000D70526960FB6F894DEBF0FBECDBFDF916A
+:10272000CF911F910F91FF90EF90DF90CF90BF90CE
+:1027300008950E9484190E9459190E949E190E94AE
+:10274000A91E0E94F81D80E090E00E94570E80E0D4
+:1027500090E00C946D0E0E9474190C9499130E94D1
+:10276000A018292F22952F7030E02C3031054CF421
+:102770002A3031056CF4225031092230310588F4B9
+:1027800007C02C30310549F02F30310531F009C038
+:10279000803E48F0803F29F406C093FB882780F9EB
+:1027A000089580E0089581E00895CF93DF9300D0ED
+:1027B00000D01F92CDB7DEB70F900F900F900F9003
+:1027C0000F90DF91CF910895CF93DF9300D000D089
+:1027D00000D0CDB7DEB726960FB6F894DEBF0FBE99
+:1027E000CDBFDF91CF9108951F93CF93DF93C09119
+:1027F000790116E080917A01C81799F0D0E01C9F0A
+:10280000F0011D9FF00D1124E558FE4F40815181CC
+:1028100062817381848195810E94E4132196C7703F
+:10282000E9CFDF91CF911F9108954091AB01509175
+:10283000AC016091AD017091AE018091AF019091BA
+:10284000B0010C94E4138091B00182958F7009F06F
+:1028500054C08091AD01882309F44FC08091790163
+:10286000A0917A016091AB017091AC014091AE01F1
+:102870005091AF01B6E08A1709F43FC090E04115CE
+:102880005105C1F17F3F11F46F3FA1F1B89FF001F5
+:10289000B99FF00D1124E558FE4F218172132AC013
+:1028A0002081621327C02281211124C02381348119
+:1028B0002417350710F421503109241B350B283C0F
+:1028C0003105C0F42091B0012F7020612093B00138
+:1028D00026E0289FF001299FF00D1124E058FE4FBB
+:1028E00080818F70806180838BEA91E00E948210EA
+:1028F0000C94F41301968770BECF0895CF92DF92A7
+:10290000EF92FF920F931F93CF93DF93CDB7DEB774
+:1029100062970FB6F894DEBF0FBECDBF8C0185E085
+:10292000F801DE011D9601900D928A95E1F7D8011C
+:102930004C9111965C91119712966C911297139687
+:10294000CD90DC9014973091AB017091AC018091E7
+:10295000AE019091AF01009709F46BC17F3F19F46C
+:102960003F3F09F466C1E090AD01EE2009F4C0C01C
+:102970002091B001C816D90628F0F601E81BF90B22
+:10298000CF0104C0809590958C0D9D1DFF24F3947C
+:10299000883C910578F0F12C207F09F0C6C07C2D91
+:1029A000D98AC88A89890E94D5138BEA91E00E944E
+:1029B0008210B1C0822F807F09F046C0751314C009
+:1029C000341312C0611110C02F7020612093B00128
+:1029D0000E9415148BEA91E00E9482108091B00150
+:1029E000D80115968C932EC0CD2819F15F3F11F4B4
+:1029F0004F3FF9F0F62E61111CC0809179012091B2
+:102A00007A0136E0821709F45AC090E0389FF0014D
+:102A1000399FF00D1124E558FE4F7181571306C000
+:102A20007081471303C07281711103C001968770D2
+:102A3000E9CFF62E662309F418C18091B0018160B8
+:102A40008093B001F12C11C1751308C0341306C076
+:102A5000611104C08091B001D801C3C04D875E8769
+:102A60008D859E856A8B0E94AF136A898823E1F168
+:102A70006623D1F12091B001822F82958F7090E072
+:102A8000029774F08091AB019091AC0198878F838D
+:102A90001986DB86CA862C87CE0107960E94821093
+:102AA00086E0F801ABEAB1E001900D928A95E1F77A
+:102AB0000E9423140E941514FF24F394D6C04D875E
+:102AC0005E878D859E850E94A018292F22952F70E4
+:102AD00030E0223031050CF0BCC09F7009F0B6C068
+:102AE000805E883008F4C1C0C8010E948210E4CF23
+:102AF000C816D90608F453C0F601E81BF90BCF013C
+:102B0000883C910508F450C0F12C7C2DD98AC88AE4
+:102B100089890E94D513EBEAF1E086E0DF011D927E
+:102B20008A95E9F70E941514A0C0751314C03413D8
+:102B300012C0611110C08091B001F8018583C801F5
+:102B40000E94821086E0EBEAF1E0DF011D928A9597
+:102B5000E9F7FE2C8AC04D875E878D859E856A8B3E
+:102B60000E94AF136A89882309F4BECF662309F453
+:102B7000BBCF2091B001822F82958F7090E0029799
+:102B80000CF48ECF8091AB019091AC019A83898334
+:102B90001B82DD82CC822E83CE0101967FCF809571
+:102BA00090958C0D9D1DACCFF62E662309F49CCF1D
+:102BB00075132EC034132CC02091B00120FD1FC00E
+:102BC000822F82958F70D9F0D80115962C93159786
+:102BD0008F3049F08F5F982F9295907F822F8F7062
+:102BE000892B15968C93C8010E94821086E0F8010B
+:102BF000ABEAB1E001900D928A95E1F793CF86E0C0
+:102C0000F801ABEAB1E001900D928A95E1F72DC091
+:102C10004D875E878D859E850E94AF13811140CFC1
+:102C20008091B00181608093B001C8010E94821040
+:102C30001CC0662309F458CF4D875E878D859E851D
+:102C40000E94AF13882309F44FCF2ACF811148CFB8
+:102C50000CC0243031050CF047CF9F7009F440CFF1
+:102C6000F8019581907F09F03BCF8F2D62960FB6CA
+:102C7000F894DEBF0FBECDBFDF91CF911F910F91B2
+:102C8000FF90EF90DF90CF9008951F93CF93DF9345
+:102C9000CDB7DEB72C970FB6F894DEBF0FBECDBF11
+:102CA0004F83588769877A878B879C87CE010796E1
+:102CB0000E947E14882369F08F8198852A853B8540
+:102CC000232BF1F19F3F09F063C08F3F09F060C0F3
+:102CD00037C086E0FE013796DE01119601900D9215
+:102CE0008A95E1F76F817885EA85FB85309741F118
+:102CF0007F3F11F46F3F21F120917A0130E0C9014B
+:102D00000196877099274091790150E084179507C3
+:102D100009F447C069837A83FD83EC8396E0929F30
+:102D2000D001939FB00D1124A558BE4FFE013196DE
+:102D300001900D929A95E1F780937A010E94F41325
+:102D400016E08091790190917A018917C1F1189F5D
+:102D5000C001112485589E4F0E947E14882379F16A
+:102D6000E09179011E9FF0011124E558FE4F40814A
+:102D7000518162817381848195810E94E4138091E5
+:102D8000790190E001968770992780937901D9CFD6
+:102D90004F81588569857A858B859C850E94E413CF
+:102DA000CFCF0E94AB1310927A0110927901EBEA17
+:102DB000F1E086E0DF011D928A95E9F7C1CF2C96FC
+:102DC0000FB6F894DEBF0FBECDBFDF91CF911F913C
+:102DD0000895EF92FF920F931F93CF93DF938C018F
+:102DE000892B09F46CC0F12CEE24E394E8012196C0
+:102DF000F8018491843740F4843008F051C0813068
+:102E000081F0823019F15BC0853709F444C0A8F124
+:102E10009CE7980F903708F052C08F770E942510DA
+:102E200041C00E5F1F4FFE01C49180E28C0F8830BD
+:102E300048F4C7708E2D01C0880FCA95EAF70E942A
+:102E4000771914C08C2F0E945D0F2DC00E5F1F4F8D
+:102E5000FE01C49180E28C0F883058F4C7708E2D2B
+:102E600001C0880FCA95EAF70E947D190E949E1939
+:102E70001AC08C2F0E94251016C00E5F1F4FFE0136
+:102E8000C491CC2381F08FE99FE00197F1F700C056
+:102E90000000C150F6CF0E5F1F4FFE01F49003C03B
+:102EA0000E945D0F8E018F2D882309F49FCFEFE9DB
+:102EB000FFE03197F1F700C000008150F5CFDF91BE
+:102EC000CF911F910F91FF90EF9008950895609317
+:102ED000B5017093B6018093B7019093B8010C943B
+:102EE00099130F931F930091B5011091B601209192
+:102EF000B7013091B801DC01CB01802B912BA22BC3
+:102F0000B32B8093B5019093B601A093B701B09312
+:102F1000B8011F910F910C9499130F931F93009177
+:102F2000B5011091B6012091B7013091B801DC01D3
+:102F3000CB0180239123A223B3238093B5019093E7
+:102F4000B601A093B701B093B8011F910F910C94F3
+:102F500099130F931F930091B5011091B601209121
+:102F6000B7013091B801DC01CB0180279127A2275E
+:102F7000B3278093B5019093B601A093B701B093A6
+:102F8000B8011F910F910C9499131092B1011092F6
+:102F9000B2011092B3011092B4010C94991341E064
+:102FA00050E060E070E004C0440F551F661F771FBB
+:102FB0008A95D2F74093B1015093B2016093B30167
+:102FC0007093B4010C94991341E050E060E070E01C
+:102FD00004C0440F551F661F771F8A95D2F7809152
+:102FE000B1019091B201A091B301B091B401482B0D
+:102FF000592B6A2B7B2B4093B1015093B201609304
+:10300000B3017093B4010C94991341E050E060E077
+:1030100070E004C0440F551F661F771F8A95D2F7D2
+:1030200040955095609570958091B1019091B20155
+:10303000A091B301B091B401482359236A237B23A3
+:103040004093B1015093B2016093B3017093B40106
+:103050000C94991341E050E060E070E004C0440F2C
+:10306000551F661F771F8A95D2F78091B101909105
+:10307000B201A091B301B091B401482759276A2742
+:103080007B274093B1015093B2016093B3017093D9
+:10309000B4010C9499130F931F930091B1011091F7
+:1030A000B2012091B3013091B401DC01CB01802B3E
+:1030B000912BA22BB32B8093B1019093B201A093DB
+:1030C000B301B093B4011F910F910C9499130F9316
+:1030D0001F930091B1011091B2012091B301309181
+:1030E000B401DC01CB0180239123A223B32380937D
+:1030F000B1019093B201A093B301B093B4011F91B9
+:103100000F910C9499130F931F930091B10110919B
+:10311000B2012091B3013091B401DC01CB018027D1
+:103120009127A227B3278093B1019093B201A09376
+:10313000B301B093B4011F910F910C9499130895AA
+:10314000CF92DF92EF92FF920F931F93CF93DF9373
+:103150008C01C090B501D090B601E090B701F0901D
+:10316000B8014091B1015091B2016091B3017091E9
+:10317000B401C42AD52AE62AF72ACFE1D0E0D70144
+:10318000C6010C2E04C0B695A795979587950A940D
+:10319000D2F780FF07C0B8018C2F0E94FA0581305A
+:1031A000910531F4219758F7B80180E00E94FA05A3
+:1031B000DF91CF911F910F91FF90EF90DF90CF9013
+:1031C000089590910C01992321F090910D01911196
+:1031D00009C020910E0130910F01F90132969FEF45
+:1031E00040E01FC0982F9695969596959F3050F584
+:1031F000E0910E01F0910F01E90FF11D877021E0C0
+:1032000030E0A90102C0440F551F8A95E2F7CA01B8
+:103210009181892B818308959F3F39F04F5F4E3014
+:1032200041F051915813F8CF0DC05111F7CF942FA1
+:10323000F5CF9F3F39F0F901E90FF11D97FDFA95A0
+:1032400082830895089590910C01992321F0909123
+:103250000D01911109C020910E0130910F01F9016A
+:103260003296205F3F4F1FC0982F96959695969562
+:103270009F30F0F4E0910E01F0910F01E90FF11D84
+:10328000877021E030E0A90102C0440F551F8A95E4
+:10329000E2F7CA018095918189238183089531964F
+:1032A000E217F30729F090819813F9CF1082F7CF36
+:1032B000089581E090E0E0910E01F0910F01E80F98
+:1032C000F91F1082019680319105A9F70895909118
+:1032D000CB01892B8093CB01089580959091CB01F0
+:1032E00089238093CB0108951092CB01089590918A
+:1032F000CA01892B8093CA01089580959091CA01D3
+:1033000089238093CA0108951092CA010895809379
+:10331000B90108951092B901089580910E0190911C
+:103320000F01FC0131969C01205F3F4F80E091919D
+:1033300091118F5FE217F307D1F70895E0910E0125
+:10334000F0910F018091CB018083E0910E01F0910B
+:103350000F0190818091CA01892B80838091B901EE
+:10336000882361F0E0910E01F0910F019081892B8B
+:1033700080830E948D1981111092B90180910E01F4
+:1033800090910F010C94410ECF92DF92EF92FF9239
+:103390006C01EE24FF24C114D104E104F10421F0F6
+:1033A000C701B60120E101C020E0C72ED82EE92ECA
+:1033B000FF24C114D104E104F10419F0285FC7010E
+:1033C000B6016B017C0154E0F694E794D794C7945E
+:1033D0005A95D1F7C114D104E104F10419F02C5F1E
+:1033E000C701B6016B017C0142E0F694E794D794E3
+:1033F000C7944A95D1F7C114D104E104F10419F03E
+:103400002E5FC701B601DC01CB01B695A795979554
+:103410008795892B8A2B8B2B09F02F5F822FFF90AA
+:10342000EF90DF90CF9008958091E501843009F10D
+:103430001092CD0120E488E190E00FB6F894A895B1
+:10344000809360000FBE2093600083B7817F84600B
+:1034500083BF83B7816083BF7894889583B78E7F5D
+:1034600083BF88E10FB6F8948093600010926000EB
+:103470000FBE089508950895CF930E943A1A0E94AE
+:1034800023040E943B1AC0E08C2F0E941105811179
+:1034900004C0CF5FCE30C1F701C081E0CF91089565
+:1034A0000E94AB130E94350E0C942E0782E084BD5F
+:1034B00093E095BD9AEF97BD80936E0008952FB766
+:1034C000F8948091CE019091CF01A091D001B0915C
+:1034D000D1012FBF0895CF92DF92EF92FF920F9309
+:1034E0001F932FB7F8944091CE015091CF01609176
+:1034F000D0017091D1012FBF6A017B01EE24FF241E
+:103500008C0120E030E0C016D106E206F30610F48C
+:10351000415051099A01281B390BC9011F910F9184
+:10352000FF90EF90DF90CF9008951F920F920FB60B
+:103530000F9211248F939F93AF93BF938091CE01ED
+:103540009091CF01A091D001B091D1010196A11D20
+:10355000B11D8093CE019093CF01A093D001B09381
+:10356000D101BF91AF919F918F910F900FBE0F909E
+:103570001F9018950E94320BF8942FEF87EA91E67E
+:10358000215080409040E1F700C0000087E090EBC0
+:10359000DC018093EE019093EF01A093F001B093D2
+:1035A000F1019CE088E10FB6F894A8958093600043
+:1035B0000FBE90936000FFCFEF92FF920F931F9387
+:1035C000CF93DF93D82FC0E08C2F0E94110500E02D
+:1035D00010E0E82EF12CC701002E02C095958795CA
+:1035E0000A94E2F780FD06C00F5F1F4F06301105F9
+:1035F00091F709C0602F7C2F80E00E94D805D81376
+:10360000F3CF81E004C0CF5FCE30F1F680E0DF91F0
+:10361000CF911F910F91FF90EF900895CF93C82FF6
+:103620008CE20E94DC1A882321F08C2FCF910C941D
+:10363000DC1A80E0CF910895CF930E94631C811122
+:1036400002C00E94491CC5E6C15049F00E942304F3
+:103650008FE39CE90197F1F700C00000F5CF89E204
+:103660000E940E1B811113C18AE20E940E1B811160
+:103670000E94491C85E00E940E1B81110E94BA1A0B
+:103680000E946E1C8093CC0187E00E940E1B882351
+:10369000A9F18BE10E940E1B882351F08091CC018F
+:1036A00081FB222720F991E0922790FB81F90EC03F
+:1036B0008EE00E940E1B882361F08091CC0182FB7A
+:1036C000222720F991E0922790FB82F98093CC0188
+:1036D00015C080E10E940E1B9091CC01882341F01F
+:1036E00093FB222720F981E0822780FB93F904C015
+:1036F000892F809580FB90F99093CC018091CC012B
+:103700000E94721C0E94801C8093DF0180EE0E9448
+:103710000E1B882341F08091DF01982F909590FB3C
+:1037200080F98093DF0189E30E940E1B882359F002
+:103730008091DF0181FB222720F991E0922790FB05
+:1037400081F98093DF0182EE0E940E1B882359F0DD
+:103750008091DF0182FB222720F991E0922790FBE4
+:1037600082F98093DF0186EE0E940E1B882359F0B8
+:103770008091DF0183FB222720F991E0922790FBC3
+:1037800083F98093DF0183EE0E940E1B882359F09A
+:103790008091DF0184FB222720F991E0922790FBA2
+:1037A00084F98093DF0185E30E940E1B882359F082
+:1037B0008091DF0185FB222720F991E0922790FB81
+:1037C00085F98093DF0181E30E940E1B882359F065
+:1037D0008091DF0186FB222720F991E0922790FB60
+:1037E00086F98093DF0181E10E940E1B882359F046
+:1037F0008091DF0187FB222720F991E0922790FB3F
+:1038000087F98093DF018091DF010E94841C809101
+:10381000DF0187FB882780F980930D0187E20E94F2
+:103820000E1BC82F8EE10E940E1B8111C2608FE11A
+:103830000E940E1B8111C46080E20E940E1B811148
+:10384000C86081E20E940E1B8111C06182E20E9469
+:103850000E1B8111C06283E20E940E1B8111C064A5
+:1038600084E20E940E1B882311F0C06802C0CC23A2
+:1038700029F08C2F0E947B1C6C2F03C00E94771CA8
+:10388000682F70E080E090E0CF910C946717CF91A3
+:1038900008956DEE7EEF80E090E00E94AF2260E040
+:1038A00082E090E00E94A12260E083E090E00E942C
+:1038B000A12260E084E090E00E94A12260E085E027
+:1038C00090E00C94A12280E090E00E949B2221E0F5
+:1038D0008D3E9E4F09F020E0822F089582E090E017
+:1038E0000C949322682F82E090E00C94A12283E054
+:1038F00090E00C949322682F83E090E00C94A12236
+:1039000084E090E00C949322682F84E090E00C9483
+:10391000A1228091D40180FF0BC06091130185E04A
+:10392000689FB001112475956795759567952BC0B3
+:1039300081FF09C06091130185E0689FB0011124E7
+:103940007595679520C082FF07C06091130185E0DF
+:10395000689FB001112417C09091D5019923D1F02F
+:1039600060911201961788F72091130185E0289F36
+:1039700090011124929FA001939F500D112470E09B
+:10398000CA010E9465226038710540F46115710515
+:1039900039F002C065E070E0862F08958FE7089542
+:1039A00081E008958091D40180FF08C060911101E9
+:1039B00070E0759567957595679521C081FF06C084
+:1039C0006091110170E07595679519C082FF04C080
+:1039D0006091110170E010C09091D5019923C1F060
+:1039E000609110019617A0F780911101899FC00185
+:1039F000112470E00E9465226038710528F4611579
+:103A0000710521F0862F08958FE7089581E00895CC
+:103A100061E070E0F4CF803F21F40E94891C819521
+:103A200004C0813F29F40E94891C8093D801089525
+:103A3000823F21F40E94891C819504C0833F29F4B0
+:103A40000E94891C8093D7010895893F19F40E9430
+:103A5000D21C05C08A3F31F40E94D21C819580930C
+:103A6000D90108958B3F21F40E94D21C819504C096
+:103A70008C3F29F40E94D21C8093DA010895843F80
+:103A800021F48091D601816017C0853F21F4809197
+:103A9000D601826011C0863F21F48091D6018460F6
+:103AA0000BC0873F21F48091D601886005C0883F14
+:103AB00031F48091D60180618093D60108958D3FC5
+:103AC00021F48091D40181600BC08E3F21F480915C
+:103AD000D401826005C08F3F29F48091D4018460B5
+:103AE0008093D4010895803F39F48091D80187FFF5
+:103AF0006CC01092D80169C0813F29F48091D8012F
+:103B00001816BCF362C09091D701823F29F497FF49
+:103B10005CC01092D70159C0833F19F41916CCF339
+:103B200054C0893F41F48091D90118160CF04DC062
+:103B30001092D9014AC08A3F29F48091D90187FFA8
+:103B400044C0F6CF8B3F39F48091DA0187FF3DC046
+:103B50001092DA013AC08C3F29F48091DA011816EC
+:103B6000BCF333C0843F21F48091D6018E7F17C00F
+:103B7000853F21F48091D6018D7F11C0863F21F4CD
+:103B80008091D6018B7F0BC0873F21F48091D601B5
+:103B9000877F05C0883F31F48091D6018F7E809366
+:103BA000D60113C08D3F21F48091D4018E7F0BC0CC
+:103BB0008E3F21F48091D4018D7F05C08F3F29F481
+:103BC0008091D4018B7F8093D4018091D7018111A2
+:103BD0000EC08091D80181110AC08091D901811154
+:103BE00006C08091DA01811102C01092D5010895BA
+:103BF00086ED91E00E944C0E0E945F1A9093D301D3
+:103C00008093D20108951F93CF93DF938091D201C7
+:103C10009091D3010E946B1AAC019091D501992328
+:103C200021F02091140130E006C0209115018AE0B6
+:103C3000289F900111244217530708F486C08091F1
+:103C4000D701C091D801D091D9011091DA01811129
+:103C500007C0C11176C0D11174C0111172C075C0F6
+:103C60009F3F19F09F5F9093D501181624F40E948E
+:103C7000891C8093D7018091D70187FF05C00E94DE
+:103C8000891C81958093D7011C1624F40E94891CFD
+:103C90008093D8018091D80187FF05C00E94891CBC
+:103CA00081958093D8016091D701662339F1C09145
+:103CB000D801CC2319F1772767FD7095872F972FAF
+:103CC0000E94762123E333E343E35FE30E94DA219A
+:103CD0000E9443216093D7016C2F772767FD709571
+:103CE000872F972F0E94762123E333E343E35FE39B
+:103CF0000E94DA210E9443216093D8011D1624F40A
+:103D00000E94D21C8093D9018091D90187FF05C000
+:103D10000E94D21C81958093D901111624F40E942F
+:103D2000D21C8093DA018091DA0187FF05C00E94DE
+:103D3000D21C81958093DA01DF91CF911F910C9471
+:103D4000F81D9F3F09F08ECF96CFDF91CF911F9145
+:103D50000895E6EDF1E085E0DF011D928A95E9F72F
+:103D60001092D5011092D4010895833081F128F486
+:103D7000813059F08230D1F00895853009F449C07E
+:103D8000B8F1863009F456C0089580911501262FA8
+:103D900030E0280F311D2F3F310524F4680F609368
+:103DA000150108958FEF80931501089580911401F6
+:103DB000262F30E0280F311D2F3F310524F4680FE6
+:103DC0006093140108958FEF8093140108958091FA
+:103DD0001301262F30E0280F311D2F3F310524F429
+:103DE000680F6093130108958FEF80931301089576
+:103DF00080911201262F30E0280F311D2F3F310511
+:103E000024F4680F6093120108958FEF80931201DC
+:103E1000089580911101262F30E0280F311D2F3F8A
+:103E2000310524F4680F6093110108958FEF80939A
+:103E30001101089580911001262F30E0280F311DC7
+:103E40002F3F310524F4680F6093100108958FEF20
+:103E5000809310010895833011F128F4813049F0E6
+:103E6000823091F00895853081F120F18630C1F1E2
+:103E7000089580911501681720F4861B8093150121
+:103E8000089510921501089580911401681720F487
+:103E9000861B809314010895109214010895809157
+:103EA0001301681720F4861B809313010895109264
+:103EB0001301089580911201681720F4861B8093E6
+:103EC000120108951092120108958091110168174E
+:103ED00020F4861B8093110108951092110108951A
+:103EE00080911001681720F4861B809310010895BB
+:103EF0001092100108950F931F938D3109F46BC038
+:103F000008F03FC08E3009F47DC0C0F4873009F45A
+:103F10006EC068F4863009F0AFC08091CC01817F1B
+:103F20008E7F8093CC0181E08093DC01A6C0883035
+:103F300009F458C08B3009F49BC09EC0863109F447
+:103F400097C078F4803109F470C0813109F094C0D1
+:103F50000E94AB1390910D0181E0892780930D01A0
+:103F600087C0893109F484C08B3109F085C0809104
+:103F7000CC0181FB222720F991E0922790FB81F967
+:103F80004AC0853309F45BC048F4873209F457C04E
+:103F900008F45AC0893209F452C06EC0833438F430
+:103FA0008A3308F067C0883309F462C065C083347F
+:103FB00009F445C0883409F05FC00E94AB130FEFCD
+:103FC00013ED20E3015010402040E1F700C0000055
+:103FD0000E94BA1A4DC00E94FD200E94350E0E9418
+:103FE0002E0746C00E946E1C0E94801C41C090910A
+:103FF000CC01892F817090FF12C0917F9E7F90939A
+:10400000CC013BC08091CC0182FB222720F991E0BA
+:10401000922790FB82F98093CC01992349F18091FA
+:10402000CC0181608093CC0123C08091CC0183FBC3
+:10403000222720F991E0922790FB83F9ECCF61E0F1
+:1040400070E080E090E010C08D5141E050E060E011
+:1040500070E08A019B0104C0000F111F221F331F53
+:104060008A95D2F7C901B8010E9467170E94AB1365
+:1040700081E003C08953E9CF80E01F910F9108953B
+:1040800080E0089580E00895CF93C82F8091DC01EF
+:10409000813079F018F08230E9F187C0E0910E01AB
+:1040A000F0910F018081813169F0823209F07FC087
+:1040B00009C0E0910E01F0910F018081813111F072
+:1040C000823261F48C2F0E944020811104C08C2F19
+:1040D0000E947B1F1DC081E090E01AC08C2F0E94BF
+:1040E0004220811114C0C43179F048F4CB3079F00A
+:1040F000C03109F060C082E08093DC0108C0C932A1
+:1041000019F0C83321F057C01092DC0154C081E08F
+:10411000817053C0C93289F118F5C43171F1A8F426
+:10412000C73009F046C08AE08093150194E190936E
+:10413000140193E0909313018093120188E080931F
+:10414000110188E28093100134C0CE51C63088F549
+:10415000EC2FF0E0E65DFE4F80818093DB0129C00B
+:10416000CE34E9F020F4CB3421F56AE013C0C13538
+:1041700079F0C235F1F461E00DC08091DB01882354
+:1041800019F01092DB0115C081E08093DC0115C0AD
+:1041900061E006C08091DB010E94B51E0AC06AE0A2
+:1041A0008091DB010E942B1F04C01092DC0180E093
+:1041B00004C081E002C080E0ABCFCF910895E1E878
+:1041C000F0E08081886080838081816080838FB708
+:1041D000F89493E09093890090ED909388008FBFBE
+:1041E0000895EFE6F0E08081826080830895EFE635
+:1041F000F0E080818D7F80830895EFE6F0E090818C
+:1042000082E08927808308951F920F920FB60F9244
+:1042100011242F933F934F935F936F937F938F93CB
+:104220009F93AF93BF93EF93FF938091DD019091A4
+:10423000DE0101969093DE018093DD01811103C0C0
+:1042400082E00E942E07E091DE01E695E695F0E01F
+:10425000E657FB4FE4918091DD018E1303C080E0AF
+:104260000E942E07FF91EF91BF91AF919F918F9187
+:104270007F916F915F914F913F912F910F900FBE62
+:104280000F901F90189504D06894B1118DC00895B7
+:1042900070D088F09F5790F0B92F9927B751A0F0B0
+:1042A000D1F0660F771F881F991F1AF0BA95C9F7CA
+:1042B00012C0B13081F077D0B1E0089574C0672F9B
+:1042C000782F8827B85F39F0B93FCCF3869577957A
+:1042D0006795B395D9F73EF4909580957095619563
+:1042E0007F4F8F4F9F4F0895E89409C097FB3EF48E
+:1042F00090958095709561957F4F8F4F9F4F992333
+:10430000A9F0F92F96E9BB279395F69587957795B0
+:104310006795B795F111F8CFFAF4BB0F11F460FF70
+:104320001BC06F5F7F4F8F4F9F4F16C0882311F0C8
+:1043300096E911C0772321F09EE8872F762F05C0DC
+:10434000662371F096E8862F70E060E02AF09A9577
+:10435000660F771F881FDAF7880F9695879597F96C
+:10436000089557FD9058440F551F59F05F3F71F065
+:104370004795880F97FB991F61F09F3F79F08795CC
+:104380000895121613061406551FF2CF4695F1DF55
+:1043900008C0161617061806991FF1CF86957105E5
+:1043A000610508940895E894BB2766277727CB0119
+:1043B00097F908950BD078C069D028F06ED018F026
+:1043C000952309F05AC05FC01124EECFCADFA0F3D5
+:1043D000959FD1F3950F50E0551F629FF001729F9A
+:1043E000BB27F00DB11D639FAA27F00DB11DAA1FB9
+:1043F000649F6627B00DA11D661F829F2227B00D06
+:10440000A11D621F739FB00DA11D621F839FA00D90
+:10441000611D221F749F3327A00D611D231F849FE0
+:10442000600D211D822F762F6A2F11249F57504037
+:104430008AF0E1F088234AF0EE0FFF1FBB1F661FD2
+:10444000771F881F91505040A9F79E3F510570F08B
+:1044500014C0AACF5F3FECF3983EDCF386957795C6
+:104460006795B795F795E7959F5FC1F7FE2B880F86
+:10447000911D9695879597F9089597F99F6780E81C
+:1044800070E060E008959FEF80EC089500240A94A6
+:104490001616170618060906089500240A9412161F
+:1044A0001306140605060895092E0394000C11F452
+:1044B000882352F0BB0F40F4BF2B11F460FF04C0FF
+:1044C0006F5F7F4F8F4F9F4F089597FB072E16F416
+:1044D000009407D077FD09D00E947F2207FC05D009
+:1044E0003EF4909581959F4F0895709561957F4F0B
+:1044F0000895EE0FFF1F0590F491E02D0994AA1B7B
+:10450000BB1B51E107C0AA1FBB1FA617B70710F0BE
+:10451000A61BB70B881F991F5A95A9F780959095F0
+:10452000BC01CD010895F999FECF92BD81BDF89AE5
+:10453000992780B50895A8E1B0E042E050E00C94DE
+:10454000B622262FF999FECF1FBA92BD81BD20BD9C
+:104550000FB6F894FA9AF99A0FBE019608950E9440
+:10456000A122272F0C94A222DC01CB01FC01F99996
+:10457000FECF06C0F2BDE1BDF89A319600B40D92AF
+:0C45800041505040B8F70895F894FFCF68
+:10458C0020023007BE079B07670733070101BA01FA
+:10459C0028080A03140A3F4D36394B04FE03C8039E
+:1045AC008F0322033B0354036D030102030405062E
+:0445BC0007080900E3
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/msc/readme.md b/keyboard/ergodox_ez/keymaps/msc/readme.md new file mode 100644 index 0000000000..0d14fcbd29 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/readme.md @@ -0,0 +1,32 @@ +# MSC Configuration + +### Based mostly on the ErgoDox EZ default layout with optimizations for coding on osx. + +#### Expecting the user to rely on Coder Layer this keymap removes some of the duplicate symbol keys in the lower portions of the board and replaces them with arrow keys and modifiers. The Media Layer is also updated to match the change in the arrow keys and the left and right click buttons are moved under the thumb position. The Media layer is now reached with toggle button in the lower right. + +### Main Layer + +![Main Layer](img/main_layer.png) + +### Code Layer + +![Code Layer](img/code_layer.png) + +### Media Layer + +![Media Layer](img/media_layer.png) + +## Changelog + +Version 1.0 + +- Changed the temp code layer key in the bottom right to toggle media layer +- Changed the temp media key to only be ";" +- Changed right hand bottom row to match vim home row nav directions +- Changed media keys to match arrow key changes +- Changed media left and right click to spacebar and backspace locations +- Changed bottom left to Cmd +- Changed single quote on left bottom row to alt + +#### Coming Soon: +- A new layer for Blender editing with a focus on left hand shortcut and a righthand num pad to control the view in Blender. diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c index 4dd6d883ca..efd67addd5 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c +++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c @@ -1,149 +1,423 @@ #include "ergodox_ez.h" +#include "led.h" #include "debug.h" #include "action_layer.h" +#include "action_util.h" -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define MDIA 2 // media keys +#define BASE 0 // default layer +#define LOCK 1 // shift-lock layer +#define SYMB_SH 2 // symbols shift layer +#define SYMB_LK 3 // symbols lock layer +#define SYMB_UN 4 // symbols unlock layer +#define MDIA_SH 5 // media shift layer +#define MDIA_LK 6 // media lock layer +#define MDIA_UN 7 // media unlock layer +#define UNLOCK 8 // clear to base layer /* - * Ordinary Ergodox EZ keyboard layout, v2 + * The Ordinary Layout for the Ergodox EZ keyboard, v3.1 * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com - * Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html + * Details: readme.md + * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer + +/* Keymap 0: Base Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | LOCK `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = LOCK | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ Media | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | ' Symbol | + * |-----------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+-----------| + * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh | RCtrl | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | Home | End | | Left | Right| + * ,------|------|------| |------+------+------. + * | | | PgUp | | Up | | | + * |Backsp| Del |------| |------| Enter| Space| + * | | | PgDn | | Down | | | + * `--------------------' `--------------------' + */ +[BASE] = KEYMAP( +// left hand + LT(LOCK, KC_GRV) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC +,LT(MDIA_SH, KC_TAB),KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC +,MO(SYMB_SH) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G +,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) +,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI + + ,KC_HOME,KC_END + ,KC_PGUP + ,KC_BSPC,KC_DEL ,KC_PGDN + + // right hand + ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,LT(LOCK, KC_EQL) + ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,LT(MDIA_SH, KC_BSLS) + ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,LT(SYMB_SH, KC_QUOT) + ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT + ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL + + ,KC_LEFT ,KC_RGHT + ,KC_UP + ,KC_DOWN ,KC_ENT ,KC_SPC + ), + +/* Keymap 1: Layer Lock Keys * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | 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 | | |; - * `----------------------' `----------------------' + * ,-------------------------------------------------------. ,-------------------------------------------------------. + * | | Esc | | | | | | | | | | | | Bspc | | + * |-------------+------+------+------+------+-------------| |------+------+------+------+------+------+-------------| + * | Media LOCK | | | | | | | | | | | | | | Media LOCK | + * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| + * | Symbol LOCK | | | | | |------| |------| | | | | | Symbol LOCK | + * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| + * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK | + * `-------------+------+------+------+------+-------------' `-------------+------+------+------+------+-------------' + * | | | | | | | | | | | | + * `------------------------------------' `------------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' */ -// 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, +[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_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_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3 + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2 + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS + ), + +/* Keymap 2: Symbol Shift Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol | + * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| + * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift | + * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------' + * | | | | | | | 0 | . | = | + | Entr | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Left | Right| | Home | End | + * ,------|------|------| |------+------+------. + * | | | Up | | PgUp | | | + * |Space |Enter |------| |------|BackSp| Del | + * | | | Down | | PgDn | | | + * `--------------------' `--------------------' + */ +[SYMB_SH] = KEYMAP( +// left hand + KC_FN2 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS +,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) +,MO(SYMB_SH) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV +,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_LEFT ,KC_RGHT + ,KC_UP + ,KC_SPC ,KC_ENT ,KC_DOWN + // right hand + ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_FN2 + ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH) + ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(SYMB_SH) + ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT + ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) + ,KC_HOME ,KC_END + ,KC_PGUP + ,KC_PGDN ,KC_BSPC ,KC_DEL +), + +/* Keymap 3: Symbol Lock Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol | + * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| + * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift | + * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------' + * | | | | | | | 0 | . | = | + | Entr | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Left | Right| | Home | End | + * ,------|------|------| |------+------+------. + * | | | Up | | PgUp | | | + * |Space |Enter |------| |------|BackSp| Del | + * | | | Down | | PgDn | | | + * `--------------------' `--------------------' + */ +[SYMB_LK] = KEYMAP( +// left hand + MO(SYMB_UN) ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS +,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) +,MO(UNLOCK) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV +,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_LEFT ,KC_RGHT + ,KC_UP + ,KC_SPC ,KC_ENT ,KC_DOWN + // right hand + ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,MO(SYMB_UN) + ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH) + ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(UNLOCK) + ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT + ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) + ,KC_HOME ,KC_END + ,KC_PGUP + ,KC_PGDN ,KC_BSPC ,KC_DEL ), -/* Keymap 1: Symbol Layer + +/* Keymap 4: Symbol Unlock Layer * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Esc | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | MDIA | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | | - * |--------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | CAPS | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | 0 | . | = | + | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Left | Right| | Home | End | - * ,------|------|------| |------+------+------. - * | | | Up | | PgUp | | | - * |Space |Enter |------| |------|BackSp| Del | - * | | | Down | | PgDn | | | - * `--------------------' `--------------------' + * ,------------------------------------------------------. ,------------------------------------------------------. + * | | Esc | | | | | | | | | | | | Bspc | | + * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------| + * | Media LOCK | | | | | | | | | | | | | | Media LOCK | + * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| + * | UNLOCK | | | | | |------| |------| | | | | | UNLOCK | + * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| + * | 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, +[SYMB_UN] = KEYMAP( +// left hand + KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,TG(MDIA_LK) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS,KC_TRNS ,KC_TRNS // right hand - KC_TRNS, KC_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 + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_LK) + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ), -/* Keymap 2: Media and mouse keys + +/* Keymap 5: Media Shift Layer * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | 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| - * `--------------------' `--------------------' + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | Symbol | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| Symbol | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Stop |Refrsh| | Prev | Next | + * ,------|------|------| |------+------+------. + * |Brwser|Brwser|Search| |VolUp | | | + * |Back | Fwd |------| |------| Stop | Play-| + * | | | Home | |VolDn | | Pause| + * `--------------------' `--------------------' */ -// 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_SH] = KEYMAP( +// left hand + KC_FN3 ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO +,MO(MDIA_SH) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U +,MO(SYMB_SH) ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD +,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D +,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI + ,KC_WSTP ,KC_WREF + ,KC_WSCH + ,KC_WBAK ,KC_NO ,KC_WHOM // 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_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_FN3 + ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(MDIA_SH) + ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_SH) + ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT + ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL + ,KC_MPRV ,KC_MNXT + ,KC_VOLU + ,KC_VOLD ,KC_MSTP ,KC_MPLY ), + +/* Keymap 6: Media Lock Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Stop |Refrsh| | Prev | Next | + * ,------|------|------| |------+------+------. + * |Brwser|Brwser|Search| |VolUp | | | + * |Back | Fwd |------| |------| Stop | Play-| + * | | | Home | |VolDn | | Pause| + * `--------------------' `--------------------' + */ +[MDIA_LK] = KEYMAP( +// left hand + MO(MDIA_UN),KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO +,MO(UNLOCK) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U +,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD +,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D +,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI + ,KC_WSTP ,KC_WREF + ,KC_WSCH + ,KC_WBAK ,KC_NO ,KC_WHOM + // right hand + ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,MO(MDIA_UN) + ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(UNLOCK) + ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO + ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT + ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL + ,KC_MPRV ,KC_MNXT + ,KC_VOLU + ,KC_VOLD ,KC_MSTP ,KC_MPLY + ), + +/* Keymap 7: Media Unlock Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | Esc | | | | | | | | | | | | Bspc | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | UNLOCK | | | | | | | | | | | | | | UNLOCK | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | |------| |------| | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[MDIA_UN] = KEYMAP( +// left hand + KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS + + // right hand + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS + ), + +/* Keymap 8: Unlock Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | UNLOCK | | | | | | | | | | | | | | UNLOCK | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | |------| |------| | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[UNLOCK] = KEYMAP( +// left hand + KC_FN1 ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,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_FN1 + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS + ) }; 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_LK, ON_PRESS) // FN2 - toggle to Symbols on press + ,[3] = ACTION_LAYER_INVERT(MDIA_LK, 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 +442,34 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - default: - // none - break; + // shift or caps lock turns on red light + if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) { + ergodox_right_led_1_on(); + } else { + ergodox_right_led_1_off(); } + // do not change lights while locking and unlocking + if(layer == LOCK || layer == SYMB_UN || layer == MDIA_UN || layer == UNLOCK) { + return; + } + + //ergodox_board_led_off(); + + // symbol turns on green light + if(layer == SYMB_SH || layer == SYMB_LK) { + ergodox_right_led_2_on(); + } else { + ergodox_right_led_2_off(); + } + + // media turns on blue light + if(layer == MDIA_SH || layer == MDIA_LK) { + ergodox_right_led_3_on(); + } else { + ergodox_right_led_3_off(); + } }; diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png Binary files differindex b32b95533c..69af8df4e1 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt index 727775ea2c..04792f2dfc 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt @@ -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",{t:"#000000\n\n\n\n#0000ff",w:1.5},"+\n\n\n\n\n\n="], -[{y:-0.375,x:3.5,t:"#000000"},"E",{x:10.5},"I"], +[{y:-0.875,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\n\nCtrl",{x:14.5},"?\n/\nCtrl",{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"], diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png Binary files differindex 89d15e4506..0ae162431d 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt index 4237f08201..cc4c877ebd 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt @@ -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},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"], +[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"], +[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], [{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"], -[{y:-0.875,x:5.5,c:"#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:"#e6e067"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"], +[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#e6e067",a:4},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#cccccc",a:7,w:1.5},""], +[{y:-0.625,x:6.5,c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"], +[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], +[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#ffb063",a:4},"End",{x:1},"Page\n\n\n\n\n\nDown"], +[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#cccccc",a:7},""], +[{y:-0.875,c:"#2277ff",a:4,f2:1,w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#ffb063"},"Delete\n\n\nOption"], +[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"], +[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"], +[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ccbb00"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"], [{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"], [{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:"#ccbb00",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"] diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png Binary files differindex 7522af3330..b3101e5c04 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt index dda15f71be..35efdba7d6 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt @@ -1,27 +1,27 @@ -[{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:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"], +[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"], +[{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"], +[{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"], +[{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"], +[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#bbddbb"},"(",{x:10.5,c:"#89b087"},"5"], +[{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"], +[{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"], +[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",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:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"], +[{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"], +[{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"], +[{y:-0.875,c:"#2277ff",fa:[0,1,0,1,0,0,1],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},".\n\n\nOption"], +[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0\n\n\nCmd",{x:1},"=\n\n\nHyper"], +[{y:-0.75,x:0.5,c:"#77aaff"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+\n\n\nMeh","Enter\n\n\nCtrl"], +[{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"], -[{x:-3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"], -[{x:-3},"Page\n\n\n\n\n\nDown"] +[{x:-3,f:3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"], +[{x:-3,f:3},"Page\n\n\n\n\n\nDown"] diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex index 1a08598465..8e2d5ce26d 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex @@ -1,1119 +1,1190 @@ -: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
-: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
+:100000000C945F040C94A3040C94A3040C94A30418
+:100010000C94A3040C94A3040C94A3040C94A304C4
+:100020000C94A3040C94A3040C94C40D0C94960E8D
+:100030000C94A3040C94A3040C94A3040C94A304A4
+:100040000C94A3040C9441230C94A3040C94A304D7
+:100050000C94A3040C94E31C0C94A3040C94A3042C
+:100060000C94A3040C94A3040C94A3040C94A30474
+:100070000C94A3040C94A3040C94A3040C94A30464
+:100080000C94A3040C94A3040C94A3040C94A30454
+:100090000C94A3040C94A3040C94A3040C94A30444
+:1000A0000C94A3040C94A3040C94A304FB0E1D0F46
+:1000B00008101D0F08105F0F820F0810D70FEA0FEE
+:1000C000DE12DE120C130C134E138A138A158A15D6
+:1000D000A2138A159914991464158A158A1578152E
+:1000E000000000810889248935812B850252E100B6
+:1000F000E00000001E00140004001D0000774E0008
+:100100001F001A0016001B00007F4C002000080092
+:1001100007000600E2002A0021001500090019006E
+:10012000E3004B00220017000A00050000004A000F
+:1001300029002F0000002B0200004D002D00300090
+:1001400000002B000000500023001C000B001100D9
+:1001500000004F00240018000D001000E7005200BE
+:1001600025000C000E003600E6002C0026001200D0
+:100170000F003700007F28002700130033003800ED
+:10018000007751002E8131853482E500E4000000C3
+:100190000100C300C2003900010000002900010075
+:1001A0000100010001000100010001000100010047
+:1001B0000100010001000100010001000100010037
+:1001C0000100010001000100010001000100010027
+:1001D0000100010000000100010001000000010019
+:1001E000000001000100010000000100000001000A
+:1001F00001000100010001000000010001000100F8
+:1002000001000100010001000100010001000100E6
+:1002100001000100010001000100010001000100D6
+:100220002A00010001000100010001000100C300DB
+:10023000C200390001000000C20005520252E10074
+:10024000010000003A001E022002220201005100BB
+:100250003B001F0221022302010028003C002F0264
+:1002600026022F0001002C003D0030022702300042
+:10027000010052003E00240235003502000050000B
+:100280000100360200002B0000004F002D00370255
+:1002900000002B0200004A003F003102380031000C
+:1002A00000004D004000240021001E0027784B0074
+:1002B0004100250022001F0037744C004200260038
+:1002C000230020002E7F2A004300380025022D0045
+:1002D0002E774E00C20005520252E5002871000040
+:1002E000045205520852E100010000003A001E02CB
+:1002F00020022202010051003B001F0221022302C2
+:10030000010028003C002F0226022F0001002C00D3
+:100310003D00300227023000010052003E0024025E
+:1003200035003502000050000100360200002B00AD
+:1003300000004F002D00370200002B0200004A0091
+:100340003F0031023800310000004D004000240021
+:1003500021001E0027784B004100250022001F00CD
+:1003600037744C0042002600230020002E7F2A0014
+:100370004300380025022D002E774E00045205520E
+:100380000852E5002871000001000654C100390040
+:10039000010000002900010001000100010001002E
+:1003A0000100010001000100010001000100010045
+:1003B0000100010001000100010001000100010035
+:1003C0000100010001000100010001000000010026
+:1003D0000100010000000100000001000100010017
+:1003E0000000010000000100010001000100010007
+:1003F00000000100010001000100010001000100F6
+:1004000001000100010001000100010001000100E4
+:1004100001000100010001002A00010001000100AB
+:100420000100010001000654C10039000100000074
+:10043000C30005520252E100E000000044006600E3
+:10044000A60000000077B5004500F400F2000000AF
+:10045000007F00006800F000F100F100E200B6004B
+:100460006900F500F3000000E300B4006A00A90091
+:10047000AA00A8000000B8000000F9000000FA007F
+:100480000000B9000000F9000000FA000000AC0014
+:100490006B004600530000000000AB006C004A00F7
+:1004A00050004D004978A9006D00520051005100E4
+:1004B0004C74AE006E004B004F004E00007FAD004C
+:1004C0006F00B100B30000000077AA00C30005521E
+:1004D0000252E500E4000000075208520000E1006B
+:1004E000E000000044006600A60000000077B500B0
+:1004F0004500F400F2000000007F00006800F000FA
+:10050000F100F100E200B6006900F500F300000020
+:10051000E300B4006A00A900AA00A8000000B80027
+:100520000000F9000000FA000000B9000000F90026
+:100530000000FA000000AC006B0046005300000011
+:100540000000AB006C004A0050004D004978A90043
+:100550006D005200510051004C74AE006E004B0013
+:100560004F004E00007FAD006F00B100B3000000EF
+:100570000077AA00075208520000E500E4000000DE
+:100580000100C10001003900010000002900010044
+:100590000100010001000100010001000100010053
+:1005A0000100010001000100010001000100010043
+:1005B0000100010001000100010001000100010033
+:1005C0000100010000000100010001000000010025
+:1005D0000000010001000100000001000000010016
+:1005E0000100010001000100000001000100010004
+:1005F00001000100010001000100010001000100F3
+:1006000001000100010001000100010001000100E2
+:100610002A00010001000100010001000100C100E9
+:100620000100390001000000C100010001000100CB
+:10063000010000002900010001000100010001008B
+:1006400001000100010001000100010001000100A2
+:100650000100010001000100010001000100010092
+:100660000100010001000100010001000000010083
+:100670000100010000000100000001000100010074
+:100680000000010000000100010001000100010064
+:100690000000010001000100010001000100010053
+:1006A0000100010001000100010001000100010042
+:1006B0000100010001000100010001000100010032
+:1006C00001000100C1000100010001000100000063
+:1006D00016034500720067006F0044006F00780049
+:1006E000200045005A000000160345007200670014
+:1006F0006F0044006F007800200045005A000000A1
+:100700000403090409026D00040100A0FA090400B1
+:10071000000103010100092111010001223F00072E
+:1007200005810308000A0904010001030102000910
+:100730002111010001224D000705820308000A096A
+:10074000040200010300000009211101000122360A
+:10075000000705830308000A0904030001030000E1
+:10076000000921110100012239000705840310004E
+:10077000011201100100000008EDFE071301000145
+:1007800002000105010906A101050719E029E71585
+:1007900000250195087501810205081901290595B3
+:1007A000057501910295017503910105071900294D
+:1007B0007715002501957875018102C00501098032
+:1007C000A101850216010026B7001A01002AB70010
+:1007D000751095018100C0050C0901A10185031662
+:1007E0000100269C021A01002A9C027510950181C5
+:1007F00000C005010902A1010901A10005091901B3
+:1008000029051500250195057501810295017503DE
+:1008100081010501093009311581257F950275088F
+:10082000810609381581257F950175088106050C1B
+:100830000A38021581257F950175088106C0C0051B
+:10084000010906A101050719E029E7150025019511
+:1008500008750181029501750881010508190129B2
+:10086000059505750191029501750391010507191B
+:100870000029FF150025FF950675088100C00000BE
+:10088000000000000000000000010204060A0F172B
+:10089000202C3A4A5D71879DB3C7DAE9F5FCFFFC6D
+:1008A000F5E9DAC7B39D87715D4A3A2C20170F0A24
+:1008B00006040201000000000000000000001124F6
+:1008C0001FBECFEFDAE0DEBFCDBF04B603FE24C00B
+:1008D0008091EF019091F001A091F101B091F201AE
+:1008E0008730904BA740B04BB9F41092EF011092B3
+:1008F000F0011092F1011092F20114BE84B7877FCB
+:1009000084BF88E10FB6F894809360001092600075
+:100910000FBEE0E0FFE3099511E0A0E0B1E0E6E002
+:10092000FAE402C005900D92A433B107D9F721E093
+:10093000A4E3B1E001C01D92AF3EB207E1F70E940F
+:100940000A0B0C9401250C94000061110BC0FC01F2
+:100950008281882321F085EE0E946B1103C085EE11
+:100960000E94331280E090E008950895CF93609143
+:10097000B1017091B2018091B3019091B4010E94D4
+:100980000F1CC82FE0910E01F0910F01808182723F
+:1009900019F0259A2D9A06C00E94431081FDF9CFC7
+:1009A00025982D98C130B9F0C430A9F089EF8C0F8B
+:1009B000823088F08EEF8C0F823018F4269A2E9AAF
+:1009C00002C026982E98C550C23018F4279A2F9A44
+:1009D00002C027982F98CF9108950C94B60456988A
+:1009E0005E9825982D9826982E9827982F988FEF07
+:1009F00090E0909389008093880090938B0080937F
+:100A00008A0090938D0080938C00259A2D9A2FEF69
+:100A100080E792E0215080409040E1F700C0000064
+:100A2000269A2E9A2FEF80E792E021508040904046
+:100A3000E1F700C00000279A2F9A2FEF80E792E09D
+:100A4000215080409040E1F700C0000025982D988B
+:100A50002FEF80E792E0215080409040E1F700C006
+:100A6000000026982E982FEF80E792E021508040DA
+:100A70009040E1F700C0000027982F9856985E98A4
+:100A800025982D9826982E9827982F98089589EACA
+:100A90008093800089E08093810024982C983F986F
+:100AA0008AB18F748AB96E98479A8BB1806B8BB973
+:100AB000769A0E94EF040C94B50480E280930001C2
+:100AC0008091340181110EC00E94AC0581E08093B9
+:100AD00034012FEF83ED90E3215080409040E1F707
+:100AE00000C0000080E40E94B205809300018111E3
+:100AF0002EC00E94DC0580930001811128C00E9455
+:100B0000DC0580930001811122C08FE30E94DC0587
+:100B10008093000181111BC00E94D40580E40E94D3
+:100B2000B20580930001811112C08CE00E94DC05A7
+:100B30008093000181110BC00E94DC0580930001AD
+:100B4000811105C08FE30E94DC05809300010E94A3
+:100B5000D4058091000108951092B9008AE0809335
+:100B6000B800089594EA9093BC009091BC0097FF60
+:100B7000FCCF9091B900987F983021F0903111F01E
+:100B800081E008958093BB0084E88093BC0080914D
+:100B9000BC0087FFFCCF8091B900887F883111F0BD
+:100BA000803471F780E0089584E98093BC008091DF
+:100BB000BC0084FDFCCF08958093BB0084E8809343
+:100BC000BC008091BC0087FFFCCF9091B900987F5A
+:100BD00081E0983209F480E0089584E88093BC00B5
+:100BE0008091BC0087FFFCCF8091BB00089580916D
+:100BF0000001811115C080E40E94B20580930001BC
+:100C000081110CC082E10E94DC05809300018111FA
+:100C100005C08FEF0E94DC05809300010E94D4057F
+:100C200084B1807F84B985B1807F85B98AB1837FA3
+:100C30008AB98BB1837F8BB93E98469808950E94FC
+:100C40005D05809300010E94F70580B38C7080BB26
+:100C500081B3836F81BBE4E4F1E0A6E3B1E01192DC
+:100C60001D9281E0E235F807D1F70C944705BF9259
+:100C7000CF92DF92EF92FF920F931F93CF93DF9368
+:100C800080910001882379F0809135018F5F8093F6
+:100C90003501811108C00E945D058093000181111A
+:100CA00002C00E94EF0406E311E0C0E0D0E0DD24C2
+:100CB000D39482E0C82EEE24E394F12CC73000F5E3
+:100CC00080910001811162C080E40E94B20580938E
+:100CD0000001811112C082E10E94DC0580930001B5
+:100CE00081110BC0C7010C2E01C0880F0A94EAF7CE
+:100CF00080950E94DC05809300010E94D40546C0C7
+:100D0000CA30A1F028F4C83059F0C93061F005C0EC
+:100D1000CC3089F070F0CD3089F0209A289810C03E
+:100D2000219A29980DC0229A2A980AC0239A2B98B2
+:100D300007C0529A01C0539A5B9802C03E9A4698E7
+:100D4000E0EAEA95F1F78FB179995AC092E08170A3
+:100D50008D25892B7C9B02C090E001C094E0892BFB
+:100D60007D9B02C090E001C098E0892B7E9B02C071
+:100D700090E001C090E1892B9FB19095991F992730
+:100D8000991F9295990F907E892B0FC08091000139
+:100D900081114BC080E40E94B2058093000188233A
+:100DA00089F1B12C0E94D4058B2DF8019081981700
+:100DB00019F08083C09201010E94F70521960F5F10
+:100DC0001F4FCE30D10509F079CF809101018823E2
+:100DD00071F1815080930101882339F08FE99FE000
+:100DE0000197F1F700C0000022C0A4E4B1E0E6E3FF
+:100DF000F1E081918D9391E0E434F907D1F717C0C8
+:100E000090E0A5CF83E10E94DC0580930001811171
+:100E1000C8CF81E40E94B205809300018111C1CF47
+:100E20000E94ED05B82EB094BDCF80E0BECF0E94E9
+:100E3000ED0481E0DF91CF911F910F91FF90EF9032
+:100E4000DF90CF90BF900895E82FF0E0EC5BFE4F6D
+:100E50008081089508958B3B910578F4883A910537
+:100E600040F5853A9105D0F48430910508F0B1C081
+:100E70008130910509F4ADC06BC0803E910508F446
+:100E800067C0883E910508F4A4C09C01205F310929
+:100E90002031310508F05CC090650895853A9105D0
+:100EA00009F459C0863A910509F458C083E890E4E2
+:100EB0000895883A910509F454C0893A910509F4D6
+:100EC00053C08A3A910509F452C08B3A910509F44E
+:100ED00051C08C3A910509F450C08D3A910509F43E
+:100EE0004FC0803B910509F44EC08E3A910509F43C
+:100EF0004DC08F3A910509F44CC0813B910509F42E
+:100F00004BC0823B910509F44AC0833B910509F42B
+:100F100049C0843B910509F448C0853B910509F41B
+:100F200047C0863B910509F446C0873B910509F40B
+:100F300045C0883B910509F444C0893B910509F4FB
+:100F400043C08A3B910509F042C08AE296E40895C5
+:100F500080E090E0089581E890E4089582E890E4CC
+:100F6000089582EE94E4089589EE94E408958AEE5B
+:100F700094E4089585EB94E4089586EB94E4089551
+:100F800087EB94E408958CEC94E408958DEC94E45C
+:100F9000089583E895E408958AE895E4089582E940
+:100FA00095E4089584E995E4089581E296E408952E
+:100FB00083E296E4089584E296E4089585E296E457
+:100FC000089586E296E4089587E296E4089580E025
+:100FD00094E40895089596E0799FF001112494E532
+:100FE000899FE00DF11D1124E60FF11DEE0FFF1F8B
+:100FF000E851FF4F859194910895880F991F805A69
+:101000009040FC01859194910895880F991F80521A
+:101010009F4FFC0185919491089526E0729FF00105
+:10102000112444E5849FE00DF11D1124E60FF11D0C
+:10103000EE0FFF1FE851FF4F25913491C9019A959A
+:1010400081159F4110F4C9010895C901905281157D
+:10105000904128F4C9019F700E9405080895C901B4
+:1010600090538115904120F4C9019927906C0895FF
+:10107000211580E5380769F40E94AD159FEF24E340
+:101080004CE0915020404040E1F700C000000C943B
+:10109000081D213080E5380731F48091CD01816051
+:1010A0008093CD010895C90190558115904108F0B4
+:1010B00050C0832F99278F70992781309105D9F4DB
+:1010C000A9014370552702C0880F991F4A95E2F77E
+:1010D0009C68A90164E0440F551F6A95E1F7442715
+:1010E0005370842B952B73E0220F331F7A95E1F711
+:1010F000207633271DC08230910529F4922F88274E
+:10110000816F906A089583309105A9F4A901437015
+:10111000552781E090E002C0880F991F4A95E2F7B9
+:101120009C6843E0220F331F4A95E1F7207E377019
+:10113000822B932B08950497F1F4A901437055274E
+:1011400081E090E002C0880F991F4A95E2F79A6803
+:10115000E8CFC90190578115904120F4C9019F70D3
+:1011600090620895C90190588115904120F4C901F9
+:101170009F70906A0895203E3105E0F4203C3105CF
+:1011800058F52133310509F470C048F4293231058E
+:1011900009F464C02A32310509F46EC074C02933E1
+:1011A0003105F1F022383105D9F02533310509F444
+:1011B0004EC069C0233E310589F138F4203E310527
+:1011C000C1F0223E3105E1F05EC0263E310569F1F5
+:1011D000273E3105A9F157C0C9010E94FD070895B6
+:1011E0008091E00180FD02C081FF4DC080EE90E063
+:1011F0004BC08091E00180FFF9CF89E390E044C0CB
+:101200008091E00182FF0EC08091E00184FF03C065
+:1012100080E090E039C083EE90E036C08091E0013C
+:1012200082FFF2CF82EE90E02FC08091E00183FF39
+:101230000BC08091E00184FDEBCF87EE90E024C0ED
+:101240008091E00183FFF5CF86EE90E01DC0809194
+:10125000E00185FF07C089E290E016C08091E001BF
+:1012600085FFF9CF85E390E00FC08091E00186FF14
+:1012700007C08AE290E008C08091E00186FFF9CFC4
+:1012800081E390E001C0C9010E942B0708950895F1
+:101290000C944709809162010895CF93DF9300D0A9
+:1012A0001F92CDB7DEB72091E601243019F523E077
+:1012B00029839B838A832093E9008FEF9091E80034
+:1012C000815095FD06C095ED9A95F1F700008111CA
+:1012D000F5CF8091E80085FF0DC040E050E063E06D
+:1012E00070E0CE0101960E94B70B8091E8008E77E6
+:1012F0008093E8000F900F900F90DF91CF910895A9
+:10130000CF93DF9300D01F92CDB7DEB72091E601D7
+:10131000243021F522E029839B838A8383E0809314
+:10132000E9008FEF9091E800815095FD06C095EDA2
+:101330009A95F1F700008111F5CF8091E80085FFC3
+:101340000DC040E050E063E070E0CE0101960E94E5
+:10135000B70B8091E8008E778093E8000F900F9094
+:101360000F90DF91CF9108952091E6012430F1F4A0
+:1013700022E02093E9002FEF3091E800215035FD65
+:1013800006C035ED3A95F1F700002111F5CF209117
+:10139000E80025FF0BC040E050E065E070E00E94EF
+:1013A000B70B8091E8008E778093E8000895CF9383
+:1013B000DF93EC018091E601843009F046C0909102
+:1013C0000C019923D9F090910D019923B9F08093E4
+:1013D000E9008FEF9091E800815095FD06C095E1FE
+:1013E0009A95F1F700008111F5CF8091E80085FF13
+:1013F0002CC040E050E060E170E017C081E08093D5
+:10140000E9008FEF9091E800815095FD06C095EDC1
+:101410009A95F1F700008111F5CF8091E80085FFE2
+:1014200014C040E050E068E070E0CE010E94B70BCD
+:101430008091E8008E778093E80080E1FE01A2E5CC
+:10144000B1E001900D928A95E1F7DF91CF91089577
+:101450008091E501811109C00E94490D0E94A60DED
+:101460008091E20084608093E20008951092E5018B
+:10147000089508950C942E230E949F1C0E943423EB
+:101480000E9443100C94480942E061EC81E00E9404
+:10149000C30C42E061EC82E00E94C30C42E061ECCC
+:1014A00083E00E94C30C42E161EC84E00C94C30C25
+:1014B0008091E801833009F455C030F4813071F037
+:1014C000823009F48EC008958A3009F47AC08B30D6
+:1014D00009F460C0893009F09CC020C08091E70108
+:1014E000813A09F096C08091E800877F8093E800F8
+:1014F0008091EB019091EC01892B21F060E080E07C
+:1015000090E003C060E182E591E070E00E94000C91
+:101510008091E8008B778093E80008958091E7013F
+:10152000813209F076C08091EB019091EC01009737
+:1015300019F0039709F06DC08091E800877F8093D0
+:10154000E8008091E80082FD05C08091E6018111EC
+:10155000F8CF5FC08091F100809362018091E80034
+:101560008B7753C08091E701813A09F052C0809196
+:10157000EB019091EC01892B09F04BC08091E800C0
+:10158000877F8093E8008091E80080FFFCCF809106
+:101590000C0136C08091E7018132D9F58091EB01D1
+:1015A0009091EC01892BA9F58091E800877F8093C9
+:1015B000E8000E94F80C8091E90180930C010C94E2
+:1015C000AD158091E701813221F58091E800877F98
+:1015D0008093E8000E94F80C8091EA0180936301F7
+:1015E00008958091E701813AA1F48091E800877F16
+:1015F0008093E8008091E80080FFFCCF8091630138
+:101600008093F1008091E8008E778093E8000C943D
+:10161000F80C089584B7877F84BF88E10FB6F894EB
+:1016200080936000109260000FBE90E080E80FB6DB
+:10163000F89480936100909361000FBE0E94921015
+:101640000E94490D0E94A60D8091E2008460809363
+:10165000E20078940E9421100E94941082E091E0B0
+:101660000E943E100E941C238091E601853069F49F
+:101670000E94621C8091E4018823B1F30E948A1CBD
+:10168000882391F30E94A10BEFCF0E949A10ECCF18
+:10169000292F332723303105A9F06CF4213031058F
+:1016A00009F442C02230310509F043C08DE690E0D4
+:1016B00024E037E042C021323105C9F02232310541
+:1016C00019F137C099278130910541F08230910599
+:1016D00041F0892B71F5E0E0F7E005C0E8EEF6E0B7
+:1016E00002C0E0EDF6E0849190E09F0126C06430F6
+:1016F00000F5E62FF0E0EE0FFF1FEE5DFE4F2081BC
+:10170000318189E090E019C0643098F4E62FF0E070
+:10171000DF01AA0FBB1FA65EBE4F2D913C91EA5E72
+:10172000FE4F808190E009C082E190E021E737E040
+:1017300004C080E090E020E030E0FA0131832083B3
+:10174000089580E189BD82E189BD09B400FEFDCF25
+:101750008091D8008F7D8093D8008091E0008260D6
+:101760008093E0008091E00081FDFCCF0895CF924E
+:10177000DF92EF92FF920F931F93CF93DF937C0141
+:101780008B01EA010E94190D811131C0209731F0BF
+:1017900088819981081B190BE80EF91EC12CD12CE8
+:1017A0000115110519F18091E80085FD14C08091A3
+:1017B000E8008E778093E800209741F08881998136
+:1017C0008C0D9D1D9983888385E011C00E94190DA1
+:1017D000882331F30CC0F70181917F018093F100E0
+:1017E00001501109FFEFCF1ADF0ADACF80E0DF9155
+:1017F000CF911F910F91FF90EF90DF90CF900895C0
+:101800002091ED013091EE012617370748F0611560
+:10181000710539F42091E8002E772093E80001C08B
+:10182000B901FC0120E061157105B9F18091E60173
+:10183000882309F440C0853009F43FC08091E80056
+:1018400083FD3DC08091E80082FF06C08091E800E2
+:1018500082FF26C080E008958091E80080FFE3CFFA
+:101860002091F3008091F20090E0922B61157105B8
+:1018700051F08830910538F421912093F1006150A6
+:1018800071090196F3CF21E0089709F020E08091DB
+:10189000E8008E778093E800C6CF2111C7CFD6CF5E
+:1018A0008091E601882339F0853039F08091E80095
+:1018B00083FFCCCF04C082E0089583E0089581E0E7
+:1018C00008952091ED013091EE012617370748F079
+:1018D0006115710539F42091E8002E772093E80016
+:1018E00001C0B901FC0120E061157105C1F18091D1
+:1018F000E601882309F441C0853009F440C0809195
+:10190000E80083FD3EC08091E80082FF06C0809120
+:10191000E80082FF27C080E008958091E80080FF02
+:10192000E3CF2091F3008091F20090E0922B6115BB
+:10193000710559F08830910540F424912093F1000D
+:101940003196615071090196F2CF21E0089709F0B4
+:1019500020E08091E8008E778093E800C5CF2111C8
+:10196000C6CFD5CF8091E601882339F0853039F094
+:101970008091E80083FFCBCF04C082E0089583E02C
+:10198000089581E00895982F973058F59093E900D5
+:10199000981739F07091EC002091ED005091F00013
+:1019A00003C0242F762F50E021FF19C03091EB00A7
+:1019B0003E7F3093EB003091ED003D7F3093ED00A2
+:1019C0003091EB0031603093EB007093EC0020938A
+:1019D000ED005093F0002091EE0027FF07C09F5FBD
+:1019E000D3CF8F708093E90081E0089580E008955F
+:1019F0008091E70187FD05C08091E80080FF0EC05F
+:101A000012C08091E80082FD05C08091E60181113D
+:101A1000F8CF08958091E8008B7708C08091E601A7
+:101A20008111EACF08958091E8008E778093E800D5
+:101A300008958091E4009091E50045E62091EC0046
+:101A400020FF21C02091E80020FD21C02091E60167
+:101A5000222389F0253089F02091EB0025FD0FC06D
+:101A60002091E4003091E5002817390739F34150FF
+:101A700041F0C901E3CF82E0089583E0089581E059
+:101A8000089584E008952091E80022FFDFCF80E0F0
+:101A900008950E94B70D0E94BF0DE0EEF0E0808136
+:101AA00081608083E8EDF0E080818F77808319BCCE
+:101AB000A7EDB0E08C918E7F8C9380818F7E8083A8
+:101AC0001092E50108950F931F93CF93DF930E9427
+:101AD000B70D0E94BF0DC8EDD0E088818F77888355
+:101AE00088818068888388818F7D888319BC109263
+:101AF000E6011092E2011092E4011092E30100EE7F
+:101B000010E0F80180818B7F8083888181608883E9
+:101B100042E060E080E00E94C30CE1EEF0E08081F2
+:101B20008E7F8083E2EEF0E080818160808380811F
+:101B300088608083F80180818E7F808388818061C6
+:101B40008883DF91CF911F910F910895E8EDF0E028
+:101B500080818F7E8083E7EDF0E0808181608083EB
+:101B600084E082BF81E08093E5010C94630DE8ED91
+:101B7000F0E080818E7F80831092E20008951092C1
+:101B8000DA001092E10008951F920F920FB60F92A3
+:101B900011242F933F934F935F936F937F938F9372
+:101BA0009F93AF93BF93EF93FF938091E10082FFE8
+:101BB0000BC08091E20082FF07C08091E1008B7F23
+:101BC0008093E1000E9420108091DA0080FF1FC006
+:101BD0008091D80080FF1BC08091DA008E7F8093B7
+:101BE000DA008091D90080FF0DC080E189BD82E1DB
+:101BF00089BD09B400FEFDCF81E08093E6010E941B
+:101C0000280A05C019BC1092E6010E94360A80918C
+:101C1000E10080FF19C08091E20080FF15C0809133
+:101C2000E2008E7F8093E2008091E20080618093E9
+:101C3000E2008091D80080628093D80019BC85E0D2
+:101C40008093E6010E943A0A8091E10084FF30C04F
+:101C50008091E20084FF2CC080E189BD82E189BDD2
+:101C600009B400FEFDCF8091D8008F7D8093D8000D
+:101C70008091E1008F7E8093E1008091E2008F7E71
+:101C80008093E2008091E20081608093E200809185
+:101C9000E201882311F084E007C08091E30087FF10
+:101CA00002C083E001C081E08093E6010E943C0A0B
+:101CB0008091E10083FF29C08091E20083FF25C06D
+:101CC0008091E100877F8093E10082E08093E601CC
+:101CD0001092E2018091E1008E7F8093E10080917B
+:101CE000E2008E7F8093E2008091E2008061809329
+:101CF000E20042E060E080E00E94C30C8091F000CE
+:101D000088608093F0000E94390AFF91EF91BF91A3
+:101D1000AF919F918F917F916F915F914F913F9183
+:101D20002F910F900FBE0F901F9018951F920F923A
+:101D30000FB60F9211242F933F934F935F936F939E
+:101D40007F938F939F93AF93BF93CF93EF93FF9323
+:101D5000C091E900CF708091EC001092E900809171
+:101D6000F000877F8093F00078940E94D20E10924A
+:101D7000E9008091F00088608093F000C093E90052
+:101D8000FF91EF91CF91BF91AF919F918F917F91F3
+:101D90006F915F914F913F912F910F900FBE0F90D8
+:101DA0001F9018951F93CF93DF93CDB7DEB7AA97F7
+:101DB0000FB6F894DEBF0FBECDBFE7EEF1E0809125
+:101DC000F100819321E0EF3EF207C9F70E94580A23
+:101DD0008091E80083FF1CC12091E7013091E80168
+:101DE000832F90E08A30910508F012C1FC01EA5A75
+:101DF000FF4F0C94B624203881F0223809F008C136
+:101E00008091EB018F708093E9008091EB0085FB5E
+:101E1000882780F91092E90006C08091E301909133
+:101E2000E401911182609091E800977F9093E8001F
+:101E30008093F1001092F100C5C0822F8D7F09F0D0
+:101E4000E7C0222319F0223061F0E2C08091E9015D
+:101E5000813009F0DDC0333009F080E08093E40187
+:101E600028C08091E901811124C02091EB012F70DD
+:101E700009F4CEC02093E9008091EB0080FF19C0E7
+:101E80008091EB00333011F4806211C08061809347
+:101E9000EB0081E090E0022E01C0880F0A94EAF77F
+:101EA0008093EA001092EA008091EB0088608093B2
+:101EB000EB001092E9008091E800877F86C0211135
+:101EC000A7C01091E9011F778091E3008078812BF2
+:101ED0008093E3008091E800877F8093E8000E9470
+:101EE000F80C8091E80080FFFCCF8091E3008068CF
+:101EF0008093E300112311F083E001C082E080931E
+:101F0000E60186C02058223008F082C08091E901A5
+:101F10009091EA018C3D23E0920779F583E08A8372
+:101F20008AE289834FB7F894DE01139620E03EE001
+:101F300051E2E32FF0E050935700E49120FF03C0FB
+:101F4000E295EF703F5FEF708E2F90E0EA3010F077
+:101F5000C79601C0C0968D939D932F5F243149F79A
+:101F60004FBF8091E800877F8093E8006AE270E0CD
+:101F7000CE0101960E94000C14C0AE014F5F5F4F6E
+:101F80006091EB010E94480B009709F441C0209139
+:101F9000E800277F2093E800BC0189819A810E9494
+:101FA000610C8091E8008B778093E80031C0203885
+:101FB00079F58091E800877F8093E8008091E201C5
+:101FC0008093F1008091E8008E778093E8000E9472
+:101FD000F80C1EC021111CC09091E9019230C0F490
+:101FE0008091E800877F8093E8009093E2010E944F
+:101FF000F80C8091E201811104C08091E30087FF19
+:1020000002C084E001C081E08093E6010E94440A9E
+:102010008091E80083FF0AC08091E800877F809369
+:10202000E8008091EB0080628093EB00AA960FB6E7
+:10203000F894DEBF0FBECDBFDF91CF911F91089501
+:102040000895CF938091E6018823B1F08091E90053
+:102050008F709091EC0090FF02C090E801C090E07A
+:10206000C92FC82B1092E9008091E80083FD0E94DF
+:10207000D20ECF70C093E900CF910895909369017B
+:10208000809368010895E0916801F09169013097AB
+:1020900021F00190F081E02D099480E00895E09115
+:1020A0006801F0916901309721F00280F381E02D01
+:1020B00009940895E0916801F0916901309721F049
+:1020C0000480F581E02D09940895209166013091F6
+:1020D00067018217930771F09093670180936601FF
+:1020E000E0916801F0916901309721F00680F78155
+:1020F000E02D0994089520916401309165018217C3
+:10210000930771F09093650180936401E0916801F9
+:10211000F0916901309721F00084F185E02D099458
+:10212000089508950C9491100E94A51C0E941F060A
+:102130000C946B1DCF92DF92EF92FF920F931F933F
+:10214000CF93DF93CDB7DEB72B970FB6F894DEBFF2
+:102150000FBECDBF0E9437063BE6E32E31E0F32EE3
+:1021600000E010E0C02E802F0E942407F701D190DC
+:102170007F01D826B1F40F5F1F4F0E30110591F784
+:102180008FEF89838A831B820E94AE1C8160782F27
+:102190009D838C8349815A816B818D810E943D1181
+:1021A00041C09091CD0191FF04C08B870E942A0706
+:1021B0008B8520E030E04D2D50E0922FBA01022EA9
+:1021C00002C0759567950A94E2F760FF25C02E83DB
+:1021D000CF82EE24E394F12C02C0EE0CFF1C9A9502
+:1021E000E2F790E08E219F2121E0892B09F420E085
+:1021F00028870E94AE1C8160782F9A8789874E813C
+:102200005F8168858A850E943D11F801E559FE4F7E
+:1022100080818E25808306C02F5F3F4F2630310599
+:1022200061F6A9CF0E944F2010916A010E944310CD
+:102230001817A1F00E94431080936A012B960FB6E5
+:10224000F894DEBF0FBECDBFDF91CF911F910F91EC
+:10225000FF90EF90DF90CF900C9448092B960FB62B
+:10226000F894DEBF0FBECDBFDF91CF911F910F91CC
+:10227000FF90EF90DF90CF900895CF93DF93CDB78D
+:10228000DEB72B970FB6F894DEBF0FBECDBF4F83DE
+:10229000588769877A878B87DE01119686E0FD0172
+:1022A00011928A95E9F785E0FE01379601900D922B
+:1022B0008A95E1F749815A816B817C818D819E816C
+:1022C0000E9479182B960FB6F894DEBF0FBECDBFD3
+:1022D000DF91CF910895CF93C82F882309F4C1C00F
+:1022E000823859F40E94431081FDBBC089E30E94EB
+:1022F000161B0E94E01B89E30CC0833879F40E940E
+:10230000431080FDAEC083E50E94161B0E94E01BB7
+:1023100083E50E94561BCF910C94E01B843859F43E
+:102320000E94431082FD9DC087E40E94161B0E94FC
+:10233000E01B87E4EECF8CEF8C0F813A48F48C2FB2
+:102340000E94842281118DC08C2F0E94161BE3CF26
+:1023500080E28C0F883048F4C77081E001C0880F9C
+:10236000CA95EAF70E94971BD6CF8BE58C0F833076
+:1023700078F4C53A29F0C63A31F482E890E005C015
+:1023800081E890E002C083E890E0CF910C94651062
+:1023900088E58C0F833108F064C0C83A39F1C93A36
+:1023A00041F1CA3A49F1CB3A51F1CC3A59F1CD3A1F
+:1023B00061F1C03B69F1CE3A71F1CF3A79F1C13B9D
+:1023C00081F1C23B89F1C33B91F1C43B99F1C53B1B
+:1023D000A1F1C63BA9F1C73BB1F1C83BB9F1C93B7B
+:1023E000C1F1CA3BC9F58AE292E038C082EE90E0C2
+:1023F00035C089EE90E032C08AEE90E02FC085EBC8
+:1024000090E02CC086EB90E029C087EB90E026C0DE
+:102410008CEC90E023C08DEC90E020C083E891E04C
+:102420001DC08AE891E01AC082E991E017C084E9F2
+:1024300091E014C081E292E011C083E292E00EC00C
+:1024400084E292E00BC085E292E008C086E292E06E
+:1024500005C087E292E002C080E090E0CF910C944A
+:102460007B10CF910895882309F44BC0823859F42A
+:102470000E94431081FF45C089E30E94161B0E9401
+:10248000E01B89E30CC0833871F40E94431080FF85
+:1024900038C083E50E94161B0E94E01B83E50E9462
+:1024A000561B0C94E01B843859F40E94431082FFA1
+:1024B00028C087E40E94161B0E94E01B87E4EFCF30
+:1024C0009CEF980F913A58F390E2980F983050F49F
+:1024D000877091E001C0990F8A95EAF7892F0E94D1
+:1024E0009D1BDFCF9BE5980F933020F480E090E0B8
+:1024F0000C946510885A833120F480E090E00C94AD
+:102500007B100895882321F00E94971B0C94E01BF8
+:102510000895882321F00E949D1B0C94E01B0895D0
+:10252000CF92DF92EF92FF920F931F93CF93DF939F
+:10253000CDB7DEB728970FB6F894DEBF0FBECDBF7C
+:102540008C0185E0F801DE01119601900D928A95CB
+:10255000E1F7F80140813181F280258122952F70C9
+:1025600083819481892B31F03F3F31F481E04F3FEB
+:1025700019F403C081E001C080E080FDCBC2498333
+:102580003A8389819A812F830E94D41A9E838887F7
+:102590000E94D31A0E94A6192F814E816885FF20C0
+:1025A00029F00E94B41B68854E812F81E42FE295AB
+:1025B000EF70F0E0E05AFF4F0C94B624842F807F38
+:1025C000142F1F70882311F01295107FFF2059F0EF
+:1025D000112309F454C2812F68870E94A71B0E940F
+:1025E000E01B68854CC2862F0E943312112309F428
+:1025F00091C2812F0E94AD1B28960FB6F894DEBFC2
+:102600000FBECDBFDF91CF911F910F91FF90EF9043
+:10261000DF90CF900C94E01B342F307F842F8F708D
+:10262000303211F08295807F662319F0613019F104
+:102630002BC0FF20B1F0222309F493C1213009F00F
+:1026400090C128960FB6F894DEBF0FBECDBFDF91C4
+:10265000CF911F910F91FF90EF90DF90CF900C944E
+:10266000C71B222319F0213009F454C28E830E9423
+:10267000CA1B8E8189C1FF2021F0223008F04AC296
+:1026800070C1211147C280C1FF2021F0222309F42B
+:1026900068C1F5C1222309F477C105C2242F26950C
+:1026A0002695237030E02115310521F021303105C8
+:1026B000C9F030C2FF2021F0862F942F937002C002
+:1026C00080E090E028960FB6F894DEBF0FBECDBF35
+:1026D000DF91CF911F910F91FF90EF90DF90CF90FE
+:1026E0000C946510FF2021F0862F942F937002C068
+:1026F00080E090E028960FB6F894DEBF0FBECDBF05
+:10270000DF91CF911F910F91FF90EF90DF90CF90CD
+:102710000C947B10862FFF2019F00E94571F02C0D7
+:102720000E94BF1F28960FB6F894DEBF0FBECDBF24
+:10273000DF91CF911F910F91FF90EF90DF90CF909D
+:102740000C944420842F837009F076C0F110E2C10C
+:10275000262F229526952770220F220F862F8F7005
+:10276000C82ED12CE12CF12C022E04C0CC0CDD1C87
+:10277000EE1CFF1C0A94D2F764FF10C06FE070E0FB
+:1027800080E090E004C0660F771F881F991F2A958C
+:10279000D2F7609570958095909503C060E070E0E9
+:1027A000CB01242F269526952370422F50E04230EE
+:1027B0005105D1F04330510559F16C297D298E29FD
+:1027C0009F294130510541F128960FB6F894DEBF9C
+:1027D0000FBECDBFDF91CF911F910F91FF90EF9072
+:1027E000DF90CF900C94CB196C297D298E299F29DD
+:1027F00028960FB6F894DEBF0FBECDBFDF91CF9104
+:102800001F910F91FF90EF90DF90CF900C94E519FE
+:102810000E94CB19C701B60128960FB6F894DEBF07
+:102820000FBECDBFDF91CF911F910F91FF90EF9021
+:10283000DF90CF900C94B119FF2019F0842F817094
+:1028400001C08695882309F465C1262F2295269517
+:102850002770220F220F862F8F70C82ED12CE12CCB
+:10286000F12C022E04C0CC0CDD1CEE1CFF1C0A94C3
+:10287000D2F764FF10C06FE070E080E090E004C029
+:10288000660F771F881F991F2A95D2F7609570955C
+:102890008095909503C060E070E0CB01242F2695D1
+:1028A00026952370422F50E042305105D1F043303D
+:1028B000510559F16C297D298E299F2941305105F7
+:1028C00041F128960FB6F894DEBF0FBECDBFDF9161
+:1028D000CF911F910F91FF90EF90DF90CF900C94CC
+:1028E0009F1A6C297D298E299F2928960FB6F89466
+:1028F000DEBF0FBECDBFDF91CF911F910F91FF9033
+:10290000EF90DF90CF900C94B91A0E949F1AC701E4
+:10291000B60128960FB6F894DEBF0FBECDBFDF918B
+:10292000CF911F910F91FF90EF90DF90CF900C947B
+:10293000851A603FC9F118F4603E50F49BC0623FB5
+:1029400009F460C008F44AC0633F09F46FC092C044
+:10295000162F1F70842F8F71FF2099F00E941E1A6E
+:10296000812F28960FB6F894DEBF0FBECDBFDF9142
+:10297000CF911F910F91FF90EF90DF90CF900C942B
+:1029800082120E943F1A812F28960FB6F894DEBF5C
+:102990000FBECDBFDF91CF911F910F91FF90EF90B0
+:1029A000DF90CF900C948912FF20A1F02111B2C0CA
+:1029B000842F8F7128960FB6F894DEBF0FBECDBF5F
+:1029C000DF91CF911F910F91FF90EF90DF90CF900B
+:1029D0000C94641A223008F09DC0EACFFF20A1F0C9
+:1029E000842F8F7128960FB6F894DEBF0FBECDBF2F
+:1029F000DF91CF911F910F91FF90EF90DF90CF90DB
+:102A00000C941E1AFF2061F3842F8F7128960FB645
+:102A1000F894DEBF0FBECDBFDF91CF911F910F9114
+:102A2000FF90EF90DF90CF900C943F1AFF2091F031
+:102A3000842F8F7128960FB6F894DEBF0FBECDBFDE
+:102A4000DF91CF911F910F91FF90EF90DF90CF908A
+:102A50000C94091A28960FB6F894DEBF0FBECDBFAE
+:102A6000DF91CF911F910F91FF90EF90DF90CF906A
+:102A70000C94FF19FF20A1F0222309F4B1CF862F77
+:102A800028960FB6F894DEBF0FBECDBFDF91CF9171
+:102A90001F910F91FF90EF90DF90CF900C946B11EE
+:102AA000222309F4B1CF862F28960FB6F894DEBF03
+:102AB0000FBECDBFDF91CF911F910F91FF90EF908F
+:102AC000DF90CF900C9433124F70C8010E94A50480
+:102AD00028960FB6F894DEBF0FBECDBFDF91CF9121
+:102AE0001F910F91FF90EF90DF90CF900C942619DB
+:102AF0004F70C80128960FB6F894DEBF0FBECDBF49
+:102B0000DF91CF911F910F91FF90EF90DF90CF90C9
+:102B10000C94EA0728960FB6F894DEBF0FBECDBF1F
+:102B2000DF91CF911F910F91FF90EF90DF90CF90A9
+:102B300008950E94B41B0E94C41B0E94891B0E941E
+:102B4000E01B0E94F0200E94442080E090E00E9460
+:102B5000651080E090E00C947B100E94A41B0C9404
+:102B600099150E94D41A292F22952F7030E02C300D
+:102B700031054CF42A3031056CF4225031092230F1
+:102B8000310590F407C02C30310551F02F3031055C
+:102B900039F00AC0803E10F0803F31F481E00895A2
+:102BA00093FB882780F9089580E00895CF93DF9301
+:102BB00000D000D01F92CDB7DEB70F900F900F90CE
+:102BC0000F900F90DF91CF910895CF93DF9300D0B6
+:102BD00000D000D0CDB7DEB726960FB6F894DEBF92
+:102BE0000FBECDBFDF91CF9108951F93CF93DF9399
+:102BF000C091790116E080917A01C81799F0D0E070
+:102C00001C9FF0011D9FF00D1124E558FE4F4081DF
+:102C1000518162817381848195810E94E51521969D
+:102C2000C770E9CFDF91CF911F9108954091AB011B
+:102C30005091AC016091AD017091AE018091AF01F6
+:102C40009091B0010C94E515CF938091B0018295DD
+:102C50008F7009F05FC08091AD01882309F45AC0DC
+:102C600020917901A0917A016091AB017091AC0142
+:102C70008091AE019091AF0131E06F3F09F030E0FB
+:102C8000B32FC6E02A1709F445C0009721F07F3F13
+:102C900021F44B2F03C041E001C040E030E040FD93
+:102CA00035C0C29FF001C39FF00D1124E558FE4FBF
+:102CB000418174132BC04081641328C042814111AB
+:102CC00025C0438154814817590710F441505109D8
+:102CD000481B590B483C5105C8F48091B0018F70D6
+:102CE00080618093B00186E0829FF001839FF00DA8
+:102CF0001124E058FE4F80818F70806180838BEAC1
+:102D000091E00E949012CF910C94F5152F5F3F4FE8
+:102D10002770B8CFCF910895CF92DF92EF92FF92B4
+:102D20000F931F93CF93DF93CDB7DEB762970FB6A4
+:102D3000F894DEBF0FBECDBF8C0185E0F801DE0147
+:102D40001D9601900D928A95E1F7D8014C9111964C
+:102D50005C91119712966C9112971396ED90FC90DE
+:102D600014977091AB01E091AC012091AE013091CC
+:102D7000AF012115310531F0EF3F31F481E07F3FA4
+:102D800019F403C081E001C080E0B82FB170CB2EF0
+:102D900080FD6CC1D090AD01DD2009F4F5C0F0914B
+:102DA000B001E216F30638F0C701821B930B883C92
+:102DB000910548F09BC0209530952E0D3F1D283C75
+:102DC000310508F093C08F2F807F09F052C0E513C2
+:102DD00014C0741312C0D62E61110FC0FF70F061C1
+:102DE000F093B0010E9416168BEA91E00E949012B7
+:102DF0008091B001F80185836CC1EF2831F05F3F0D
+:102E000031F481E04F3F19F403C081E001C080E05C
+:102E100080FD03C081E0862701C080E0F82FF170BB
+:102E2000FF2E80FF1CC08091790120917A0136E04D
+:102E3000821709F428C190E0389FF001399FF00D06
+:102E40001124E558FE4F7181571306C07081471356
+:102E500003C07281671303C001968770E9CFD62E35
+:102E6000662309F436C18091B00181608093B0017E
+:102E700053C0E51308C0741306C0611104C0D80123
+:102E80001596FC93AEC04D875E878D859E856A8BB7
+:102E90000E94B1156A89882329F1D62E662311F183
+:102EA0002091B001822F82958F7090E002970CF4F0
+:102EB00060C08091AB019091AC0198878F83198697
+:102EC000FB86EA862C87CE01079651C0E51731F1C3
+:102ED0004D875E878D859E856A8B0E94B1156A89B4
+:102EE00081112EC0C8010E949012A4C08F2F807F34
+:102EF00069F77E2DF98AE88A89890E94D6158BEABE
+:102F000091E00E949012EBEAF1E086E0DF011D9271
+:102F10008A95E9F70E941616D12CDBC07413D8CF1E
+:102F20006111D6CFD8011596FC93C8010E9490126A
+:102F3000EBEAF1E086E0DF011D928A95E9F7C9C06E
+:102F4000D62E662379F22091B001822F82958F7060
+:102F500090E0029774F08091AB019091AC019A835C
+:102F600089831B82FD82EC822E83CE0101960E9412
+:102F7000901286E0F801ABEAB1E001900D928A95DB
+:102F8000E1F70E9424166FC0E216F30628F0C7018D
+:102F9000821B930B9C0104C0209530952E0D3F1D84
+:102FA000283C310508F052C0D62E662309F49ACF8A
+:102FB000E5132CC074132AC08091B00180FD1DC0A0
+:102FC000982F92959F70C9F0D80115968C931597FC
+:102FD0009F3039F09F5F9295907F8F70892B159667
+:102FE0008C93C8010E94901286E0F801ABEAB1E030
+:102FF00001900D928A95E1F736C086E0F801ABEAC0
+:10300000B1E001900D928A95E1F763C04D875E872C
+:103010008D859E850E94B115882379F086E0F801A0
+:10302000ABEAB1E001900D928A95E1F70E94241677
+:103030000E941616DD24D3944CC08091B0018160AB
+:103040008093B001C8010E94901243C07E2DF98A7E
+:10305000E88A89890E94D615EBEAF1E086E0DF0173
+:103060001D928A95E9F70E94161633C0662309F46B
+:1030700039CF4D875E878D859E850E94B115882347
+:1030800009F430CFCBCF4D875E878D859E850E941A
+:10309000D41A292F22952F7030E0223031052CF4DC
+:1030A0009F7041F0811106C00CC0243031052CF412
+:1030B0009F7049F4805E883020F0C8010E94901211
+:1030C000CF2CDC2C06C0D80115969C91907F91F7EF
+:1030D000F8CF8D2D62960FB6F894DEBF0FBECDBF30
+:1030E000DF91CF911F910F91FF90EF90DF90CF90E4
+:1030F00008951F93CF93DF93CDB7DEB72C970FB60C
+:10310000F894DEBF0FBECDBF4F83588769877A879B
+:103110008B879C87CE0107960E948C168823C1F06E
+:103120002F8138858A859B85892B31F03F3F11F0AF
+:1031300080E003C02F3FE1F781E0811147C04F815C
+:10314000588569857A858B859C850E94E5153EC0EA
+:1031500086E0FE013796DE01119601900D928A9568
+:10316000E1F7FF81E8854A855B854115510531F01E
+:10317000EF3F31F481E0FF3F19F403C081E001C06B
+:1031800080E080FD23C020917A0130E0C9010196E2
+:10319000877099276091790170E086179707F1F1A0
+:1031A000F983EA835D834C8396E0929FD001939FDD
+:1031B000B00D1124A558BE4FFE01319601900D921D
+:1031C0009A95E1F780937A010E94F51516E08091B7
+:1031D000790190917A01891779F1189FC001112422
+:1031E00085589E4F0E948C16882331F1E091790119
+:1031F0001E9FF0011124E558FE4F408151816281EC
+:103200007381848195810E94E5158091790190E018
+:1032100001968770992780937901D9CF0E94AD15C7
+:1032200010927A0110927901EBEAF1E086E0DF0179
+:103230001D928A95E9F7CACF2C960FB6F894DEBF97
+:103240000FBECDBFDF91CF911F910895EF92FF92F6
+:103250000F931F93CF93DF93FC01009709F46FC086
+:10326000F12CEE24E394EF0121968491843740F40D
+:10327000843008F055C0813081F0823021F15FC088
+:10328000853709F447C0C0F19CE7980F903708F0E4
+:1032900056C08F770E94331245C08F010E5F1F4FBB
+:1032A000FE01849190E2980F983050F48770FE2DC3
+:1032B00001C0FF0F8A95EAF78F2F0E94B71B15C038
+:1032C0000E946B1114C08F010E5F1F4FFE0184918D
+:1032D00090E2980F983068F48770FE2D01C0FF0FC0
+:1032E0008A95EAF78F2F0E94BD1B0E94E01BE80120
+:1032F00019C00E943312FBCFCF010296FE01C49188
+:10330000CC2361F0EFE9FFE03197F1F700C0000056
+:10331000C150F6CFCF010296FE01F490EC0102C03D
+:103320000E946B118F2D882341F0EFE9FFE0319768
+:10333000F1F700C000008150F6CFFE0194CFDF917D
+:10334000CF911F910F91FF90EF9008950895609392
+:10335000B5017093B6018093B7019093B8010C94B6
+:1033600099150F931F930091B5011091B60120910B
+:10337000B7013091B801062B172B282B392B00935E
+:10338000B5011093B6012093B7013093B8011F9196
+:103390000F910C9499150F931F930091B501109103
+:1033A000B6012091B7013091B801062317232823D5
+:1033B00039230093B5011093B6012093B7013093E0
+:1033C000B8011F910F910C9499150F931F930091C1
+:1033D000B5011091B6012091B7013091B8010627CF
+:1033E0001727282739270093B5011093B60120939A
+:1033F000B7013093B8011F910F910C949915109259
+:10340000B1011092B2011092B3011092B4010C9468
+:10341000991541E050E060E070E004C0440F551F92
+:10342000661F771F8A95D2F74093B1015093B2017E
+:103430006093B3017093B4010C94991541E050E08E
+:1034400060E070E004C0440F551F661F771F8A9527
+:10345000D2F78091B1019091B201A091B301B091E6
+:10346000B401842B952BA62BB72B8093B10190939D
+:10347000B201A093B301B093B4010C94991541E04B
+:1034800050E060E070E004C0440F551F661F771FD6
+:103490008A95D2F740955095609570958091B101CD
+:1034A0009091B201A091B301B091B401842395230E
+:1034B000A623B7238093B1019093B201A093B301E7
+:1034C000B093B4010C94991541E050E060E070E0D5
+:1034D00004C0440F551F661F771F8A95D2F780914D
+:1034E000B1019091B201A091B301B091B4018427D0
+:1034F0009527A627B7278093B1019093B201A09397
+:10350000B301B093B4010C9499150F931F930091DC
+:10351000B1011091B2012091B3013091B401062B99
+:10352000172B282B392B0093B1011093B201209354
+:10353000B3013093B4011F910F910C9499150F931F
+:103540001F930091B1011091B2012091B30130910C
+:10355000B40106231723282339230093B1011093C4
+:10356000B2012093B3013093B4011F910F910C94D9
+:1035700099150F931F930091B1011091B201209101
+:10358000B3013091B4010627172728273927009364
+:10359000B1011093B2012093B3013093B4011F9194
+:1035A0000F910C9499150895CF92DF92EF92FF92AC
+:1035B0000F931F93CF93DF93EC01C090B501D09090
+:1035C000B601E090B701F090B8018091B1019091FF
+:1035D000B201A091B301B091B401C82AD92AEA2A54
+:1035E000FB2A0FE110E0B701A601002E04C076957A
+:1035F0006795579547950A94D2F740FF07C0BE01DB
+:10360000802F0E940D088130910539F40150110975
+:1036100050F7BE0180E00E940D08DF91CF911F910D
+:103620000F91FF90EF90DF90CF90089590910C0153
+:103630009923D9F090910D019923B9F0982F96957F
+:10364000969596959F3088F5E0910E01F0910F01C7
+:10365000E90FF11D877021E030E001C0220F8A954B
+:10366000EAF78181822B8183089540910E01509168
+:103670000F0120E030E09FEFFA01E20FF31F6281BB
+:10368000681799F09F3F19F4611101C0922F2F5FC5
+:103690003F4F2E30310581F79F3F39F0FA01E90F96
+:1036A000F11D97FDFA9582830895089590910C017C
+:1036B0009923E1F090910D019923C1F0982F9695EF
+:1036C000969596959F3020F5E0910E01F0910F01AF
+:1036D000E90FF11D877021E030E001C0220F8A95CB
+:1036E000EAF72095818128232183089540910E01D6
+:1036F00050910F0120E030E0FA01E20FF31F9281B8
+:10370000981301C012822F5F3F4F2E303105A1F771
+:10371000089581E090E0E0910E01F0910F01E80F33
+:10372000F91F1082019680319105A9F708959091B3
+:10373000CC01982B9093CC01089580959091CC0169
+:1037400098239093CC0108951092CC010895909104
+:10375000CB01982B9093CB01089580959091CB014C
+:1037600098239093CB0108951092CB0108959091E6
+:10377000CA01982B9093CA01089580959091CA012F
+:1037800098239093CA0108951092CA0108958093D6
+:10379000B90108951092B901089540910E01509118
+:1037A0000F0120E030E080E0FA01E20FF31F918189
+:1037B00091118F5F2F5F3F4F2F303105A9F708958B
+:1037C000E0910E01F0910F018091CC018083E09196
+:1037D0000E01F0910F0180819091CB01892B8083A4
+:1037E000E0910E01F0910F0180819091CA01892B27
+:1037F00080839091B901992361F0E0910E01F091DD
+:103800000F018081892B80830E94CD1B8111109232
+:10381000B90180910E0190910F010C944F10CF923D
+:10382000DF92EF92FF920F931F936C01EE24FF241F
+:10383000C114D104E104F10421F46B017C0180E0A6
+:1038400001C080E133272F2D1E2D0D2D01151105EF
+:103850002105310519F0885F68017901970186011A
+:10386000A4E03695279517950795AA95D1F70115E8
+:1038700011052105310519F08C5F68017901970167
+:103880008601F2E03695279517950795FA95D1F7B9
+:10389000011511052105310519F08E5F68017901C7
+:1038A000B701A6017695679557954795452B462B09
+:1038B000472B09F08F5F1F910F91FF90EF90DF90E2
+:1038C000CF9008958091E601843009F11092CE01E5
+:1038D00020E488E190E00FB6F894A895809360000A
+:1038E0000FBE2093600083B7817F846083BF83B75E
+:1038F000816083BF7894889583B78E7F83BF88E18A
+:103900000FB6F89480936000109260000FBE089587
+:1039100008950895CF930E94881C0E9437060E9444
+:10392000891CC0E08C2F0E942407811105C0CF5F45
+:10393000CE30C1F780E001C081E0CF9108950E94B0
+:10394000AD150E9443100C94480982E084BD93E0B9
+:1039500095BD9AEF97BD80936E0008952FB7F894A8
+:103960008091CF019091D001A091D101B091D2016D
+:103970002FBF0895CF92DF92EF92FF920F931F9384
+:103980002FB7F8944091CF015091D0016091D101AF
+:103990007091D2012FBF6A017B01EE24FF248C01BC
+:1039A00020E030E0C016D106E206F30610F44150E4
+:1039B0005109481B590BCA011F910F91FF90EF90BD
+:1039C000DF90CF9008951F920F920FB60F9211249F
+:1039D0008F939F93AF93BF938091CF019091D0012C
+:1039E000A091D101B091D2010196A11DB11D80938A
+:1039F000CF019093D001A093D101B093D201BF9198
+:103A0000AF919F918F910F900FBE0F901F901895BF
+:103A10000E94490DF8942FEF87EA91E621508040EB
+:103A20009040E1F700C0000087E090EBDC0180935C
+:103A3000EF019093F001A093F101B093F2012CE01B
+:103A400088E190E00FB6F894A895809360000FBECF
+:103A500020936000FFCFEF92FF920F931F93CF93BD
+:103A6000DF93E82EF12C8F2D0E942407C0E0D0E0D8
+:103A7000082F10E098010C2E02C0359527950A9466
+:103A8000E2F720FD05C02196C630D10599F709C09F
+:103A90006C2F7F2D80E00E94EB07E812F4CF81E0CD
+:103AA00005C0F3948EE0F812DECF80E0DF91CF9175
+:103AB0001F910F91FF90EF900895CF93C82F8CE244
+:103AC0000E942B1D882321F08C2FCF910C942B1D4D
+:103AD00080E0CF910895CF930E94B01E811102C063
+:103AE0000E94961EC5E6C15049F00E9437068FE33A
+:103AF0009CE90197F1F700C00000F5CF89E20E9430
+:103B00005D1D811111C18AE20E945D1D81110E941B
+:103B1000961E85E00E945D1D81110E94081D0E9475
+:103B2000BB1E8093CD0187E00E945D1D882399F123
+:103B30008BE10E945D1D882351F09091CD0191FB96
+:103B4000882780F921E0822780FB91F922C08EE04E
+:103B50000E945D1D882351F09091CD0192FB882732
+:103B600080F921E0822780FB92F913C080E10E9456
+:103B70005D1D9091CD01882341F093FB882780F94A
+:103B800021E0822780FB93F904C0892F809580FB78
+:103B900090F99093CD018091CD010E94BF1E0E94AB
+:103BA000CD1E8093E00180EE0E945D1D882341F0D0
+:103BB0008091E001982F909590FB80F98093E0012F
+:103BC00089E30E945D1D882359F09091E00191FBEB
+:103BD000882780F921E0822780FB91F99093E0010A
+:103BE00082EE0E945D1D882359F09091E00192FBC6
+:103BF000882780F921E0822780FB92F99093E001E9
+:103C000086EE0E945D1D882359F09091E00193FBA0
+:103C1000882780F921E0822780FB93F99093E001C7
+:103C200083EE0E945D1D882359F09091E00194FB82
+:103C3000882780F921E0822780FB94F99093E001A6
+:103C400085E30E945D1D882359F09091E00195FB6A
+:103C5000882780F921E0822780FB95F99093E00185
+:103C600081E30E945D1D882359F09091E00196FB4D
+:103C7000882780F921E0822780FB96F99093E00164
+:103C800081E10E945D1D882359F09091E00197FB2E
+:103C9000882780F921E0822780FB97F99093E00143
+:103CA0008091E0010E94D11E8091E00187FB88276E
+:103CB00080F980930D0187E20E945D1DC82F8EE17F
+:103CC0000E945D1D8111C2608FE10E945D1D811106
+:103CD000C46080E20E945D1D8111C86081E20E9483
+:103CE0005D1D8111C06182E20E945D1D8111C06273
+:103CF00083E20E945D1D8111C06484E20E945D1D0B
+:103D0000882311F0C06802C0CC2329F08C2F0E94B8
+:103D1000C81E6C2F03C00E94C41E682F70E080E094
+:103D200090E0CF910C94A719CF9108956DEE7EEF9E
+:103D300080E090E00E94EC2460E082E090E00E944D
+:103D4000DE2460E083E090E00E94DE2460E084E016
+:103D500090E00E94DE2460E085E090E00C94DE2498
+:103D600080E090E00E94D82421E08D3E9E4F09F033
+:103D700020E0822F089582E090E00C94D024682FF8
+:103D800082E090E00C94DE2483E090E00C94D02458
+:103D9000682F83E090E00C94DE2484E090E00C94A3
+:103DA000D024682F84E090E00C94DE248091D5012B
+:103DB00080FF0BC06091130185E0689FB001112462
+:103DC00075956795759567952AC081FF09C06091C3
+:103DD000130185E0689FB0011124759567951FC098
+:103DE00082FF07C06091130185E0689FB001112434
+:103DF00016C04091D6014423C9F0609112014617C4
+:103E000088F72091130185E0289F90011124429F9B
+:103E1000C001439F900D112470E00E94A2246038DD
+:103E2000710540F46115710539F002C065E070E07C
+:103E3000862F08958FE7089581E008958091D50138
+:103E400080FF08C06091110170E0759567957595C8
+:103E5000679521C081FF06C06091110170E07595E2
+:103E6000679519C082FF04C06091110170E010C015
+:103E70008091D6018823C1F0609110018617A0F7C8
+:103E800090911101989FC001112470E00E94A2241A
+:103E90006038710528F46115710521F0862F0895A9
+:103EA0008FE7089581E0089561E070E0F4CF803FEE
+:103EB00021F40E94D61E819504C0813F29F40E94FE
+:103EC000D61E8093D9010895823F21F40E94D61E08
+:103ED000819504C0833F29F40E94D61E8093D801A7
+:103EE0000895893F19F40E941E1F05C08A3F31F4CE
+:103EF0000E941E1F81958093DA0108958B3F21F463
+:103F00000E941E1F819504C08C3F29F40E941E1F31
+:103F10008093DB010895843F21F48091D701816073
+:103F200017C0853F21F48091D701826011C0863F80
+:103F300021F48091D70184600BC0873F21F48091E8
+:103F4000D701886005C0883F31F48091D701806136
+:103F50008093D70108958D3F21F48091D501816030
+:103F60000BC08E3F21F48091D501826005C08F3F48
+:103F700029F48091D50184608093D5010895803F14
+:103F800039F48091D90187FF6CC01092D90169C0C2
+:103F9000813F29F48091D9011816BCF362C0909139
+:103FA000D801823F29F497FF5CC01092D80159C014
+:103FB000833F19F41916CCF354C0893F41F4809122
+:103FC000DA0118160CF04DC01092DA014AC08A3F8F
+:103FD00029F48091DA0187FF44C0F6CF8B3F39F492
+:103FE0008091DB0187FF3DC01092DB013AC08C3F1E
+:103FF00029F48091DB011816BCF333C0843F21F40F
+:104000008091D7018E7F17C0853F21F48091D70121
+:104010008D7F11C0863F21F48091D7018B7F0BC02B
+:10402000873F21F48091D701877F05C0883F31F415
+:104030008091D7018F7E8093D70113C08D3F21F4EB
+:104040008091D5018E7F0BC08E3F21F48091D501E8
+:104050008D7F05C08F3F29F48091D5018B7F8093A0
+:10406000D5018091D80181110EC08091D9018111B3
+:104070000AC08091DA01811106C08091DB018111B3
+:1040800002C01092D601089587ED91E00E945A1067
+:104090000E94AE1C9093D4018093D30108951F9386
+:1040A000CF93DF938091D3019091D4010E94BA1CE9
+:1040B0004091D601442321F02091140130E006C044
+:1040C000209115015AE0259F900111248217930732
+:1040D00008F482C08091D8011091D901D091DA0101
+:1040E000C091DB01811107C0111105C0D11103C0BE
+:1040F000CC2309F471C04F3F19F04F5F4093D601B4
+:10410000181624F40E94D61E8093D8018091D801FD
+:1041100087FF05C00E94D61E81958093D801111695
+:1041200024F40E94D61E8093D9018091D90187FF83
+:1041300005C00E94D61E81958093D9016091D80157
+:10414000662339F11091D901112319F1772767FD01
+:104150007095872F972F0E94B32323E333E343E324
+:104160005FE30E9417240E9480236093D801612F8F
+:10417000772767FD7095872F972F0E94B32323E33E
+:1041800033E343E35FE30E9417240E94802360939C
+:10419000D9011D1624F40E941E1F8093DA0180911C
+:1041A000DA0187FF05C00E941E1F81958093DA0106
+:1041B0001C1624F40E941E1F8093DB018091DB01FA
+:1041C00087FF05C00E941E1F81958093DB01DF9150
+:1041D000CF911F910C944420DF91CF911F910895AE
+:1041E000E7EDF1E085E0DF011D928A95E9F7109295
+:1041F000D6011092D5010895833081F128F48130E1
+:1042000059F08230D1F00895853009F449C0B8F1F1
+:10421000863009F456C0089520911501862F90E04C
+:10422000820F911D8F3F910520F4620F609315015D
+:1042300008958FEF80931501089520911401862F22
+:1042400090E0820F911D8F3F910520F4620F6093E3
+:10425000140108958FEF80931401089520911301A4
+:10426000862F90E0820F911D8F3F910520F4620F01
+:104270006093130108958FEF8093130108952091A7
+:104280001201862F90E0820F911D8F3F910520F43F
+:10429000620F6093120108958FEF809312010895C9
+:1042A00020911101862F90E0820F911D8F3F910583
+:1042B00020F4620F6093110108958FEF8093110134
+:1042C000089520911001862F90E0820F911D8F3F5D
+:1042D000910520F4620F6093100108958FEF809391
+:1042E00010010895833011F128F4813049F08230B3
+:1042F00091F00895853081F120F18630C1F1089563
+:1043000080911501681720F4861B8093150108958C
+:1043100010921501089580911401681720F4861BEE
+:10432000809314010895109214010895809113014F
+:10433000681720F4861B80931301089510921301CF
+:10434000089580911201681720F4861B8093120152
+:10435000089510921201089580911101681720F4B8
+:10436000861B809311010895109211010895809188
+:104370001001681720F4861B809310010895109295
+:10438000100108958D3109F442C020F58E3009F4F2
+:1043900079C070F4873009F45EC020F4863009F4E7
+:1043A00042C033C08830D1F18B3009F4A7C02DC092
+:1043B000863109F4A3C038F4803109F46DC081312D
+:1043C00009F47BC022C0893109F498C08B3109F40B
+:1043D0004FC01BC0853309F479C048F4873209F413
+:1043E00075C008F478C0893209F470C00EC08334F7
+:1043F00038F48A3308F071C0883309F47FC005C0EF
+:10440000833409F463C08834C1F080E008950E94C9
+:104410003A230E9443100E94480970C00E94BB1EAC
+:104420000E94CD1E6BC08091CD01817F8E7F8093D5
+:10443000CD0181E08093DD0108950E94AD152FEF3D
+:1044400083ED90E3215080409040E1F700C00000F0
+:104450000E94081D53C09091CD01892F817090FF5B
+:1044600003C0917F9E7F26C091609093CD0146C08E
+:104470009091CD0191FB882780F921E0822780FB74
+:1044800091F913C09091CD0192FB882780F921E02A
+:10449000822780FB92F909C09091CD0193FB882778
+:1044A00080F921E0822780FB93F99093CD01882346
+:1044B00029F191609093CD0108950E94AD158091EE
+:1044C0000D0191E0892780930D0118C061E070E033
+:1044D00080E090E00FC023EE01C027EC280F61E0E0
+:1044E00070E080E090E004C0660F771F881F991F7E
+:1044F0002A95D2F70E94A7190E94AD1581E0089570
+:1045000080E0089580E00895CF93C82F8091DD0169
+:10451000813079F018F08230D1F184C0A0910E0181
+:10452000B0910F018C91813169F0823209F07CC029
+:1045300009C0A0910E01B0910F018C91813111F051
+:10454000823249F48C2F0E94802281111DC08C2F51
+:104550000E94C2211AC08C2F0E948222811114C095
+:10456000C43179F048F4CB3079F0C03109F060C043
+:1045700082E08093DD0108C0C93219F0C83321F010
+:1045800057C01092DD0154C081E0817053C0C93220
+:1045900089F118F5C43171F1A8F4C73009F046C0AB
+:1045A0008AE08093150194E19093140193E0909335
+:1045B00013018093120188E08093110188E28093B7
+:1045C000100134C0CE51C63088F5EC2FF0E0E65D26
+:1045D000FE4F80818093DC0129C0CE34E9F020F4C5
+:1045E000CB3421F56AE013C0C13579F0C235F1F45E
+:1045F00061E00DC08091DC01882319F01092DC018C
+:1046000015C081E08093DD0115C061E006C0809196
+:10461000DC010E94FC200AC06AE08091DC010E945B
+:10462000722104C01092DD0180E004C081E002C06C
+:1046300080E0ABCFCF910895E1E8F0E08081886021
+:1046400080838081816080838FB7F89493E090931A
+:10465000890090ED909388008FBF0895EFE6F0E019
+:104660008081826080830895EFE6F0E080818D7F15
+:1046700080830895EFE6F0E0808192E089278083CF
+:1046800008951F920F920FB60F9211242F933F930C
+:104690004F935F936F937F938F939F93AF93BF934A
+:1046A000EF93FF938091DE019091DF01019690934B
+:1046B000DF018093DE01811103C082E00E9448097E
+:1046C000E091DF01E695E695F0E0E258F74FE491DE
+:1046D0008091DE018E1303C080E00E944809FF91A3
+:1046E000EF91BF91AF919F918F917F916F915F916A
+:1046F0004F913F912F910F900FBE0F901F901895E3
+:1047000004D06894B1118DC0089570D088F09F577F
+:1047100090F0B92F9927B751A0F0D1F0660F771F0D
+:10472000881F991F1AF0BA95C9F712C0B13081F0ED
+:1047300077D0B1E0089574C0672F782F8827B85FCD
+:1047400039F0B93FCCF3869577956795B395D9F74E
+:104750003EF490958095709561957F4F8F4F9F4F58
+:104760000895E89409C097FB3EF490958095709564
+:1047700061957F4F8F4F9F4F9923A9F0F92F96E9AD
+:10478000BB279395F695879577956795B795F11122
+:10479000F8CFFAF4BB0F11F460FF1BC06F5F7F4FBF
+:1047A0008F4F9F4F16C0882311F096E911C07723D1
+:1047B00021F09EE8872F762F05C0662371F096E8DA
+:1047C000862F70E060E02AF09A95660F771F881FA9
+:1047D000DAF7880F9695879597F9089557FD9058C1
+:1047E000440F551F59F05F3F71F04795880F97FBB5
+:1047F000991F61F09F3F79F087950895121613066F
+:104800001406551FF2CF4695F1DF08C0161617069D
+:104810001806991FF1CF86957105610508940895D2
+:10482000E894BB2766277727CB0197F908950BD02B
+:1048300078C069D028F06ED018F0952309F05AC0DE
+:104840005FC01124EECFCADFA0F3959FD1F3950F7F
+:1048500050E0551F629FF001729FBB27F00DB11D04
+:10486000639FAA27F00DB11DAA1F649F6627B00D94
+:10487000A11D661F829F2227B00DA11D621F739F7D
+:10488000B00DA11D621F839FA00D611D221F749F8B
+:104890003327A00D611D231F849F600D211D822FD2
+:1048A000762F6A2F11249F5750408AF0E1F0882319
+:1048B0004AF0EE0FFF1FBB1F661F771F881F915026
+:1048C0005040A9F79E3F510570F014C0AACF5F3F3A
+:1048D000ECF3983EDCF3869577956795B795F79559
+:1048E000E7959F5FC1F7FE2B880F911D96958795E1
+:1048F00097F9089597F99F6780E870E060E0089560
+:104900009FEF80EC089500240A94161617061806E7
+:104910000906089500240A941216130614060506C3
+:104920000895092E0394000C11F4882352F0BB0F54
+:1049300040F4BF2B11F460FF04C06F5F7F4F8F4FB7
+:104940009F4F089597FB072E16F4009407D077FD2C
+:1049500009D00E94BC2407FC05D03EF490958195B7
+:104960009F4F0895709561957F4F0895EE0FFF1F3B
+:104970000590F491E02D0994AA1BBB1B51E107C0DF
+:10498000AA1FBB1FA617B70710F0A61BB70B881FDF
+:10499000991F5A95A9F780959095BC01CD0108956E
+:1049A000F999FECF92BD81BDF89A992780B50895F7
+:1049B000A8E1B0E042E050E00C94F324262FF999EE
+:1049C000FECF1FBA92BD81BD20BD0FB6F894FA9AF2
+:1049D000F99A0FBE019608950E94DE24272F0C94A9
+:1049E000DF24DC01CB01FC01F999FECF06C0F2BD4A
+:1049F000E1BDF89A319600B40D9241505040B8F79D
+:064A00000895F894FFCFB9
+:104A060020024A09D709B40980094D090101BA01F2
+:104A160028080A03140A3F4D36393F08F207BC0737
+:104A2600830716072F0748076107010203040506D7
+:044A36000708090064
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/readme.md b/keyboard/ergodox_ez/keymaps/ordinary/readme.md index 1cfea06dd0..842dc7ee19 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/readme.md +++ b/keyboard/ergodox_ez/keymaps/ordinary/readme.md @@ -1,9 +1,80 @@ -# The Ordinary Layout, a familiar and powerful layout +# The Ordinary Layout, a familiar and powerful layout # -The Ordinary Layout is intended to be unremarkably mundane and remarkably useful. This layout maintains most key positions from common QWERTY keyboards and features enhanced Symbol and Media layers compared to the default Ergodox EZ layout. +The Ordinary Layout is intended to be unremarkably mundane and remarkably useful. This layout maintains most key positions from common QWERTY keyboards, and it features enhanced Symbol and Media layers compared to the default Ergodox EZ layout. -Full details about the rationale behind this layout [are available](http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html). +The Ordinary Layout is supposed to look mostly like a normal keyboard, except in the ways that the Ergodox key arrangement is unique. The thumbs are responsible for space, enter, plus both forward and backward delete; with only a couple exceptions, all other keys are in the same place they are found on traditional keyboards. + +Nicholas Keene +ordinarylayout@nicholaskeene.com +no rights reserved, use for any purposes, credit me if you are a nice person + +## The Base Layout ## + +* 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 keyboards. They are in the regular order, with the addition of Hyper and Meh keys. The modifier keys are all in the same place on all layers, although some layers also assign symbols on those buttons. 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. + +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 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 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 Layer ## + +* 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 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 turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from the base layer, with the keys either mirrored or shifted. 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 turquoise keys, and Enter is right where it should be. + +## The Media Layer ## + +* 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 +* The uncolored keys do nothing in case you bump them by accident + ![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 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. + +Alas, the yellow keys have at best spotty success with common software. Good luck with those but don't expect too much. + +## Switching Between Layers ## + +The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. The Ordinary Layout also features a Shift Lock key to keep a layer active indefinitely. Hold down the Shift Lock key then press any Shift key to lock to that layer. Or, hold down the Shift key and press the Shift Lock key; it works either way. To revert to the base layer, use the Shift Lock key again in combination with the Shift key. + +This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, but internally they are different which causes some inconsistencies. For instance, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. Also, the Caps Lock feature must be triggered by first pressing the Shift Lock key then a Capitals Shift key; it doesn't work if you press the Shift key first (instead you get the secondary symbol character associated with the Shift Lock button). + +## Special Escape & Backspace Sequences ## + +In the Ordinary Layout, the most unsatisfying key location is the Escape key which rightly belongs segregated on its own way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one, in the top left corner, is home to the tilde (er, grave) which is commonly found there. The Escape key is important so it features prominently on the other top corner on the left side of the keyboard, and is always there in all layers. Nevertheless, alas, it isn't Ordinary to put the escape in that different corner! + +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. + +Finally, because the special Escape sequence is so natural and useful, on the top right corner of the Ergodox EZ you can do the same gesture with the 0 key to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times. These special sequences should feel unremarkably mundane but might prove to be remarkably useful. diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index b31d0edcdf..174f26cbe5 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -1,392 +1,329 @@ #include "ergodox_ez.h" #include "debug.h" #include "action_layer.h" +#include "keymap_extras/keymap_french.h" +#include "keymap_extras/keymap_neo2.h" +#include "keymap_extras/keymap_uk.h" +#include "keymap_extras/keymap_colemak.h" +#include "keymap_extras/keymap_french_osx.h" +#include "keymap_extras/keymap_nordic.h" +#include "keymap_extras/keymap_dvorak.h" +#include "keymap_extras/keymap_german.h" +#include "keymap_extras/keymap_norwegian.c" +#include "keymap_extras/keymap_fr_ch.h" #include "keymap_extras/keymap_german_osx.h" +#include "keymap_extras/keymap_spanish.h" +#include "keymap_extras/keymap_bepo.h" -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define MDIA 2 // media keys -#define SMLY 3 // media keys -#define NUMB 4 // number keys -#define EGOS 5 // Egoshooter layer - -#define M_CTRL_CMDV 1 -#define M_CTRL_CMDC 2 -#define M_MEH_SH_ACUT 3 -#define M_DE_PLUS_CTRLALT 12 -#define M_DE_CIRC_CTRLCMD 13 -#define M_TOGGLE_5 14 - -#define SM_SMILE 4 -#define SM_SMIRK 5 -#define SM_FROWN 6 -#define SM_CRY 7 -#define SM_KISS 8 -#define SM_HEART 9 -#define SM_LAUGH 10 -#define SM_SAD 11 +#define BASE 0 +#define SYMB 1 +#define MDIA 2 +#define SMLY 3 +#define NUMB 4 +#define EGOS 5 +#define M_CTRL_CMDV 0 +#define M_CTRL_CMDC 1 +#define M_MEH_SH_ACUT 2 +#define M_LGUI_SHFT 3 +#define M_CTL_SFT_HASH 4 +#define M_DE_OSX_CIRC_CTRLCMD 5 +#define M_DE_OSX_PLUS_CTRLALT 6 +#define SM_SMILE 7 +#define SM_SMIRK 8 +#define SM_CRY 9 +#define SM_SAD 10 +#define SM_HEART 11 +#define SM_LAUGH 12 +#define SM_KISS 13 +#define SM_FROWN 14 +#define M_TOGGLE_5 15 +//Layout keymap.c generated with ErgodoxLayoutGenerator V1.0BETA1 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | LALT | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/RALT| - * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| - * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,---------------. - * | MDIA | Meh | | Hyper| NUM | - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Back-| Del |------| |------| Enter | Space| - * | Space| | End | | PgDn | | | - * `--------------------' `----------------------' - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[BASE] = KEYMAP( // layer 0 : default - // left hand - KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTRL_CMDV), - KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, - KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, - KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, - LT(SYMB,DE_LESS), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LALT(KC_LSFT), LGUI(KC_LSFT), - M(M_MEH_SH_ACUT), TG(2), - KC_HOME, - KC_BSPC,KC_DEL, LT(SMLY,KC_END), - // right hand - M(M_CTRL_CMDC), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, - KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UE, - DE_H, DE_J, DE_K, DE_L, DE_OE, ALT_T(DE_AE), - KC_RALT, DE_N, DE_M, DE_COMM,DE_DOT, CTL_T(DE_MINS), KC_RSFT, - KC_LEFT, KC_UP,KC_DOWN,KC_RIGHT, LT(SYMB,DE_HASH), - TG(4), ALL_T(DE_ACUT), - KC_PGUP, - KC_PGDN,KC_ENT, KC_SPC - ), -/* Keymap 1: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | L5 | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | < | > | ! | ? | | | | | \ | [ | ] | | | # | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | ? | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | . | ! | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = KEYMAP( - // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,DE_LESS,DE_MORE,DE_EXLM,DE_QST, KC_TRNS,KC_TRNS, - KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT, - KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_DEL,KC_TRNS, - // right hand - M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, - DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, - KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, - KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -/* Keymap 2: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | Mute | | | | | | EGOS | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | Lclk | MsUp | Rclk | WlUp | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| WlDw |------| |------|VolUp | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | MClk | | | |VolDn | | Prev | Next | Up | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | Left | Down | Right | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, - KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, 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_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), -/* Keymap 3: Smiley layer - * making it easier to type smileys... tipp: on osx you can easily replace those smileys with the UTF-8 character using - * keyboard short commands... - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | :-) | ;-) | :-D | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | :-{ | :-( | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| <3 | :-* | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | r| - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+--------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `----------------------' - */ -KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, - M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -//number pad -KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS, - KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, - KC_0,KC_DOT, KC_0, DE_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), - -/* Keymap 3: Egoshooter layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | L5 | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | SHIFT | | | | | |------| |------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | CTRL | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | F1 | F2 | | | | - * ,------|------|------| |------+--------+------. - * | | | F3 | | | | | - * | SPACE| CTRL|------| |------| | | - * | | | F4 | | | | | - * `--------------------' `----------------------' - */ -KEYMAP( - 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_LSFT, 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_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_F1, KC_F2, - KC_F3, - KC_SPC, KC_LCTL, KC_F4, - // right hand - M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), +[BASE]=KEYMAP( +//left half + KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(M_CTL_SFT_HASH), + KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, + KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, + KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, + LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), KC_UP, KC_DOWN, + M(M_MEH_SH_ACUT), TG(MDIA), + KC_HOME, + KC_BSPC, KC_DEL, LT(SMLY,KC_END), + //right half + M(M_CTL_SFT_HASH), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, + KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, + DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), + KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM, DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, + KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), + TG(NUMB), ALL_T(DE_OSX_ACUT), + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC), +[SYMB]=KEYMAP( +//left half + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, DE_OSX_QST, KC_TRNS, KC_TRNS, + KC_TRNS, DE_OSX_HASH, DE_OSX_DLR, DE_OSX_BSLS, DE_OSX_SLSH, KC_DOT, + KC_TRNS, KC_TRNS, DE_OSX_LESS, DE_OSX_PERC, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_DEL, KC_TRNS, + //right half + M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, + DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, LALT(KC_8), LALT(KC_9), DE_OSX_HASH, + KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, DE_OSX_CIRC, KC_UP, DE_OSX_MINS, LSFT(KC_4), + DE_OSX_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, + KC_F13, KC_F12, + KC_F14, + KC_F15, KC_TRNS, KC_TRNS), +[MDIA]=KEYMAP( +//left half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, + KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, 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 half + KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK), +[SMLY]=KEYMAP( +//left half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + //right half + M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, + M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), +[NUMB]=KEYMAP( +//left half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + //right half + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_OSX_MINS, + KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, + KC_0, KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), +[EGOS]=KEYMAP( +//left half + 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_LSFT, 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_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_F1, KC_F2, + KC_F3, + KC_SPC, KC_LCTL, KC_F4, + //right half + M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols) - [2] = ACTION_LAYER_TAP_TOGGLE(SMLY) // FN2 - Momentary Layer 2 (Smiley) + }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint16_t start; - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); - } - break; - case 1: - if (record->event.pressed) { +static uint16_t start; +switch(id) { +case M_TOGGLE_5: +//Macro: M_TOGGLE_5//----------------------- + if (record->event.pressed){ + layer_state ^= (1<<5); + layer_state &= (1<<5); + } + +break; +case M_CTRL_CMDC: +//Macro: M_CTRL_CMDC//----------------------- +if (record->event.pressed) { start = timer_read(); - return MACRO(D(LCTRL), END); + return MACRO(D(LCTRL),END); } else { - if (timer_elapsed(start) > 150) { - return MACRO(U(LCTRL), END); + if (timer_elapsed(start) >150) { + return MACRO(U(LCTRL),END); } else { - return MACRO(U(LCTRL), D(LGUI), T(V), U(LGUI), END); + return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END); } } - break; - case 2: - if (record->event.pressed) { + +break; +case M_DE_OSX_PLUS_CTRLALT: +//Macro: M_DE_OSX_PLUS_CTRLALT//----------------------- +if (record->event.pressed) { start = timer_read(); - return MACRO(D(LCTRL),END); + return MACRO(D(LCTRL),D(LALT),END); } else { - if (timer_elapsed(start) > 150){ - return MACRO(U(LCTRL),END); + if (timer_elapsed(start) >150) { + return MACRO(U(LCTRL),U(LALT),END); } else { - return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END); + return MACRO(U(LCTRL),U(LALT),T(RBRC),END); } } - break; - case 3: - if (record->event.pressed) { + +break; +case SM_KISS: +//Macro: SM_KISS//----------------------- +if (record->event.pressed) { + return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(RBRC),U(LSFT),END); + } + +break; +case SM_FROWN: +//Macro: SM_FROWN//----------------------- +if (record->event.pressed) { + return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LALT),T(8),U(LALT),END); + } + +break; +case SM_CRY: +//Macro: SM_CRY//----------------------- +if (record->event.pressed) { + return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); + } + +break; +case SM_SMILE: +//Macro: SM_SMILE//----------------------- +if (record->event.pressed) { + return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); + } + +break; +case SM_SMIRK: +//Macro: SM_SMIRK//----------------------- +if (record->event.pressed) { + return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); + } + +break; +case M_LGUI_SHFT: +//Macro: M_LGUI_SHFT//----------------------- +if (record->event.pressed){ + return MACRO(D(LGUI),D(LSFT),END); + }else{ + return MACRO(U(LGUI),U(LSFT),END); + } + +break; +case SM_HEART: +//Macro: SM_HEART//----------------------- +if (record->event.pressed) { + return MACRO(T(GRV),T(3),END); + } + +break; +case SM_LAUGH: +//Macro: SM_LAUGH//----------------------- +if (record->event.pressed) { + return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(D),U(LSFT),END); + } + +break; +case M_CTL_SFT_HASH: +//Macro: M_CTL_SFT_HASH//----------------------- +if (record->event.pressed) { start = timer_read(); - return MACRO(D(LCTRL),D(LSFT),D(LALT),END); + return MACRO(D(LCTRL),D(LSFT),END); } else { - if (timer_elapsed(start) > 150){ - return MACRO(U(LCTRL),U(LSFT),U(LALT),END); + if (timer_elapsed(start) >150) { + return MACRO(U(LCTRL),U(LSFT),END); } else { - return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_ACUT here, as macro needs KC_ prefix + return MACRO(U(LCTRL),U(LSFT),T(BSLS),END); } } - break; - case M_DE_CIRC_CTRLCMD: - if (record->event.pressed) { + +break; +case SM_SAD: +//Macro: SM_SAD//----------------------- +if (record->event.pressed) { + return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); + } + +break; +case M_DE_OSX_CIRC_CTRLCMD: +//Macro: M_DE_OSX_CIRC_CTRLCMD//----------------------- +if (record->event.pressed) { start = timer_read(); return MACRO(D(LCTRL),D(LGUI),END); } else { - if (timer_elapsed(start) > 150){ + if (timer_elapsed(start) >150) { return MACRO(U(LCTRL),U(LGUI),END); } else { - return MACRO(U(LCTRL),U(LGUI),T(NUBS),END); + return MACRO(U(LCTRL),U(LGUI),T(NUBS),END); } } - break; - case M_DE_PLUS_CTRLALT: - if (record->event.pressed) { + +break; +case M_CTRL_CMDV: +//Macro: M_CTRL_CMDV//----------------------- +if (record->event.pressed) { start = timer_read(); - return MACRO(D(LCTRL),D(LALT),END); + return MACRO(D(LCTRL),END); } else { - if (timer_elapsed(start) > 150){ - return MACRO(U(LCTRL),U(LALT),END); + if (timer_elapsed(start) >150) { + return MACRO(U(LCTRL),END); } else { - return MACRO(U(LCTRL),U(LALT),T(RBRC),END); + return MACRO(U(LCTRL),D(LGUI),T(V),U(LGUI),END); } } - break; - case SM_SMILE: - if (record->event.pressed) { - return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); - } - break; - case SM_SMIRK: - if (record->event.pressed) { - return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); - } - break; - case SM_CRY: - if (record->event.pressed) { - return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); - } - break; - - case SM_SAD: - if (record->event.pressed) { - return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); - } - break; - - case SM_HEART: - if (record->event.pressed) { - return MACRO(T(GRV),T(3),END); - } - break; - case SM_LAUGH: - if (record->event.pressed) { - return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(D),U(LSFT),END); - } - break; - case SM_KISS: - if (record->event.pressed) { - return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(RBRC),U(LSFT),END); - } - break; - case SM_FROWN: - if (record->event.pressed) { - return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LALT),T(8),U(LALT),END); +break; +case M_MEH_SH_ACUT: +//Macro: M_MEH_SH_ACUT//----------------------- +if (record->event.pressed) { + start = timer_read(); + return MACRO(D(LCTRL),D(LSFT),D(LALT),END); + } else { + if (timer_elapsed(start) >150) { + return MACRO(U(LCTRL),U(LSFT),U(LALT),END); + } else { + return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); + } } - break; - case M_TOGGLE_5: - if (record->event.pressed){ - layer_state ^= (1<<5); - layer_state &= (1<<5); - } - break; - } - return MACRO_NONE; + +break; +} +return MACRO_NONE; }; // Runs just one time when the keyboard initializes. @@ -397,36 +334,43 @@ 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; - case 3: - ergodox_right_led_3_on(); - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - //ergodox_board_led_on(); - break; - case 5: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - default: - // none - break; - } +ergodox_board_led_off(); +ergodox_right_led_1_off(); +ergodox_right_led_2_off(); +ergodox_right_led_3_off(); +switch (layer) { + + case SYMB: + ergodox_right_led_1_on(); + + + break; + case MDIA: + + ergodox_right_led_2_on(); + + break; + case SMLY: + + + ergodox_right_led_3_on(); + break; + case NUMB: + ergodox_right_led_1_on(); + + ergodox_right_led_3_on(); + break; + case EGOS: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); + break; +default: +// none +break; +} }; + diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex index fde7201c10..e6ce5da90b 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex @@ -1,1199 +1,1235 @@ -:100000000C94F0030C9437040C9437040C943704CC
-:100010000C9437040C9437040C9437040C94370474
-:100020000C9437040C9437040C94370E0C94090F7D
-:100030000C9437040C9437040C9437040C94370454
-:100040000C9437040C947D230C9437040C943704DF
-:100050000C9437040C940F1D0C9437040C94370443
-:100060000C9437040C9437040C9437040C94370424
-:100070000C9437040C9437040C9437040C94370414
-:100080000C9437040C9437040C9437040C94370404
-:100090000C9437040C9437040C9437040C943704F4
-:1000A0000C9437040C9437040C943704470451041F
-:1000B00069048104C904CF04F004D504EB04E1040D
-:1000C000E604DB04B1049904F504760F980F8B1055
-:1000D000980F8B10DD0F00108B1055106810521305
-:1000E000521381138113C413FE130B160B1617142E
-:1000F0000B160C150C15DF150B160B16F61501E17A
-:100100000137023702E10138023801E201250225F8
-:1001100002E20001E10137023702E1013802380151
-:10012000E10130023002E10001E10137023702E172
-:100130000138023801E10107020702E1000135023E
-:1001400035012002200001E10137023702E10138C8
-:10015000023801E10125022502E10001E101360238
-:100160003602E10138023801E10125022502E100F1
-:1001700001E10136023602E10138023801E10126CF
-:10018000022602E10001E10137023702E1013802F3
-:100190003801E10126022602E10002E002E201301C
-:1001A00002300002E002E20001E001E20002E002AF
-:1001B000E3016402640002E002E30001E001E30005
-:1001C00002E002E2012E022E02E10002E002E10260
-:1001D000E20001E001E101E20002E001E3010602C8
-:1001E0000602E30002E00001E00002E001E3011981
-:1001F000021902E30002E00001E0000000F0A1F0BB
-:10020000A329002B00E200E100358100001E00144C
-:100210000004001D710D304D831F001A0016001BD5
-:10022000000C304C002000080007000600E1042A02
-:10023000002100150009001900E1084A00220017FA
-:10024000000A000500000003300130E3000000E276
-:1002500000000002540230E7000000E60000000445
-:100260005423001C000B00110000002E7F240018F6
-:10027000000D00100050004B0025000C000E003651
-:100280000052002C00260012000F003700510028F9
-:100290000027001300330038714F004E002D002F4F
-:1002A000003474E50031810000010001000100010B
-:1002B00000010000003A003500310001000100019A
-:1002C000003B0035022102350001004C003C001EBD
-:1002D0000224062202010001003D002D0224022416
-:1002E00004010001003E000100370011040000017C
-:1002F000000100010000000100000001000E3001BB
-:100300000000000100000001003F00240624022339
-:100310000200000100400022042502350001000116
-:100320000041002304260235023700010042002468
-:100330000425041F021E020100430031002604317F
-:1003400002010001004400450001002D02010000EF
-:100350000001000100010001000100000001000196
-:100360000001000100010001000100F400F200FBA7
-:1003700000010001000100F000F100FA000100019D
-:10038000000100F500F300FC00010001000100F98C
-:1003900000FA00F600000001000100010000000169
-:1003A0000000000100A800010000000100000001A1
-:1003B0000001000100A900AA0000000100010001E5
-:1003C000000100010001000100010001000100AC7A
-:1003D000000100B600010001000100AB0050000167
-:1003E00000010001000100520051000100AE0001B7
-:1003F00000010001004F00000001000100010001A8
-:1004000000010000000100010001000100010001E5
-:1004100000010001000100010001000100010001D4
-:1004200000010001000100010001000100010001C4
-:1004300000010001000100010001000100000001B5
-:100440000001000100000001000000010004300173
-:1004500000000001000000010005300630093001F5
-:1004600000000001000A300B3008300100010001DB
-:10047000000100073001000100010001000100013E
-:100480000001000100010001000100010001000164
-:100490000001000100010001000100010001000055
-:1004A0000001000100010001000100000001000145
-:1004B00000010001000100010001000100500001E5
-:1004C0000001000100010052005100010001000183
-:1004D00000010001004F00010001000100010001C6
-:1004E0000001000100000001000100010000000106
-:1004F00000000001000100010000000100000001F7
-:10050000003F00520051002302000001004000247F
-:100510000021001E00270001004100250022001FCD
-:1005200000370001004200260023002000270001C0
-:10053000004300300230002402270201004400453D
-:1005400000380001000100000001000100E100018D
-:1005500000E0000000010001000100010001003D79
-:100560000001000100010001000100E000010001A4
-:10057000000100010001002C000100010001000148
-:100580000001003C00010001000100010000003AF0
-:1005900000010001000000010000003B000E3001DE
-:1005A0000000000100000001000100010001000145
-:1005B0000000000100010001000100010001000134
-:1005C0000001000100010001000100010001000123
-:1005D0000001000100010001000100010001000113
-:1005E0000001000100010001000100010001000004
-:1005F0000016034500720067006F0044006F00782A
-:1006000000200045005A00000016034500720067F4
-:10061000006F0044006F007800200045005A000081
-:10062000000403090409026D00040100A0FA090492
-:1006300000000103010100092111010001223F0016
-:100640000705810308000A090401000103010200F3
-:10065000092111010001224D000705820308000A4B
-:100660000904020001030000000921110100012218
-:1006700036000705830308000A090403000103008C
-:10068000000009211101000122390007058403102F
-:1006900000011201100100000008EDFE0713010027
-:1006A0000102000105010906A101050719E029E77A
-:1006B0001500250195087501810205081901290514
-:1006C00095057501910295017503910105071900C2
-:1006D000297715002501957875018102C00501096A
-:1006E00080A101850216010026B7001A01002AB771
-:1006F00000751095018100C0050C0901A101850359
-:10070000160100269C021A01002A9C027510950110
-:100710008100C005010902A1010901A10005091913
-:1007200001290515002501950575018102950175C1
-:100730000381010501093009311581257F95027575
-:1007400008810609381581257F9501750881060500
-:100750000C0A38021581257F950175088106C0C0F5
-:1007600005010906A101050719E029E71500250182
-:100770009508750181029501750881010508190127
-:1007800029059505750191029501750391010507EC
-:10079000190029FF150025FF950675088100C00086
-:1007A00000000000000000000000010204060A0F23
-:1007B00017202C3A4A5D71879DB3C7DAE9F5FCFF33
-:1007C000FCF5E9DAC7B39D87715D4A3A2C20170F13
-:1007D0000A06040201000000000000000000000002
-:1007E00011241FBECFEFDAE0DEBFCDBF04B603FE9B
-:1007F00027C08091EF019091F001A091F101B0919B
-:10080000F2018730904BA740B04BD1F41092EF012A
-:100810001092F0011092F1011092F20114BE84B70F
-:10082000877F84BF0FB6F894A89580916000886197
-:1008300080936000109260000FBEE0E0FFE3099536
-:1008400011E0A0E0B1E0ECE9FAE402C005900D92FD
-:10085000A433B107D9F721E0A4E3B1E001C01D92B0
-:10086000AF3EB207E1F70E947E0B0C944C250C942E
-:100870000000462F50E04F30510508F0DEC0FA016D
-:10088000EA5AFF4FDC0112968C910C9401258823C3
-:1008900021F085EE0E94EC11D0C085EE0E94B412CA
-:1008A000CCC0882349F00E94D91C909335018093D5
-:1008B000340188EF91E008958091340190913501E1
-:1008C0000E94E51C873991050CF0A8C08AEE91E0E2
-:1008D0000895882349F00E94D91C90933501809394
-:1008E000340187EE91E008958091340190913501B3
-:1008F0000E94E51C873991050CF093C089ED91E0C9
-:100900000895882349F00E94D91C90933501809363
-:10091000340182ED91E00895809134019091350188
-:100920000E94E51C873991050CF07EC080EC91E0B7
-:100930000895882349F00E94D91C90933501809333
-:1009400034018BEB91E00895809134019091350151
-:100950000E94E51C873991050CF069C08DEA91E091
-:100960000895882349F00E94D91C90933501809303
-:10097000340188EA91E00895809134019091350125
-:100980000E94E51C873991050CF054C08AE991E07A
-:100990000895882309F451C085E891E008958823DB
-:1009A00009F44BC080E791E00895882309F445C01D
-:1009B0008BE591E00895882309F43FC086E491E037
-:1009C00008958823D1F18DE391E008958823A9F15A
-:1009D00088E291E00895882381F183E191E0089510
-:1009E000882359F18EEF90E00895882331F18091AA
-:1009F000B3019091B401A091B501B091B60120E28C
-:100A0000822780729927AA27BB278093B3019093EE
-:100A1000B401A093B501B093B6010FC085EF91E08A
-:100A2000089584EE91E008958BEC91E0089586EBB3
-:100A300091E0089583EA91E0089580E090E00895C0
-:100A400008956091B3017091B4018091B5019091C6
-:100A5000B6010E943C1C56985E9825982D982698C1
-:100A60002E9827982F988330C1F028F4813041F0D8
-:100A7000823049F00895843049F0853051F008956E
-:100A8000259A2D9A0895269A2E9A0895259A2D9A98
-:100A900004C0259A2D9A269A2E9A279A2F9A08955D
-:100AA0000C94210556985E9825982D9826982E9896
-:100AB00027982F988FEF90E090938900809388007B
-:100AC00090938B0080938A0090938D0080938C008C
-:100AD000259A2D9A2FEF80E792E021508040904098
-:100AE000E1F700C00000269A2E9A2FEF80E792E0EF
-:100AF000215080409040E1F700C00000279A2F9AD3
-:100B00002FEF80E792E0215080409040E1F700C055
-:100B1000000025982D982FEF80E792E0215080402B
-:100B20009040E1F700C0000026982E982FEF80E754
-:100B300092E0215080409040E1F700C000002798EB
-:100B40002F9856985E9825982D9826982E98279835
-:100B50002F98089589EA8093800089E0809381002E
-:100B600024982C983F988AB18F748AB96E98479AC6
-:100B70008BB1806B8BB9769A0E9452050C9420053C
-:100B800080E2809300018091360181110EC00E94A5
-:100B90000F0681E0809336012FEF83ED90E3215023
-:100BA00080409040E1F700C0000080E40E941506FC
-:100BB0008093000181112EC00E943F0680930001A6
-:100BC000811128C00E943F0680930001811122C03C
-:100BD0008FE30E943F068093000181111BC00E9499
-:100BE000370680E40E94150680930001811112C02F
-:100BF0008CE00E943F068093000181110BC00E948F
-:100C00003F0680930001811105C08FE30E943F06DB
-:100C1000809300010E943706809100010895109290
-:100C2000B9008AE08093B800089594EA9093BC00DC
-:100C30009091BC0097FFFCCF9091B900987F9830BD
-:100C400021F0903111F081E008958093BB0084E899
-:100C50008093BC008091BC0087FFFCCF8091B900DD
-:100C6000887F883111F0803471F780E0089584E93D
-:100C70008093BC008091BC0084FDFCCF08958093DC
-:100C8000BB0084E88093BC008091BC0087FFFCCF50
-:100C90009091B900987F81E0983209F480E008953E
-:100CA00084E88093BC008091BC0087FFFCCF8091DA
-:100CB000BB00089580910001811115C080E40E945D
-:100CC00015068093000181110CC082E10E943F064D
-:100CD00080930001811105C08FEF0E943F06809331
-:100CE00000010E94370684B1807F84B985B1807F7E
-:100CF00085B98AB1837F8AB98BB1837F8BB93E98DE
-:100D0000469808950E94C005809300010E945A06EB
-:100D100080B38C7080BB81B3836F81BBE6E4F1E06C
-:100D2000A8E3B1E011921D9281E0E435F807D1F714
-:100D30000C94AA059F92AF92BF92CF92DF92EF924E
-:100D4000FF920F931F93CF93DF938091000188232D
-:100D500079F0809137018F5F80933701811108C04E
-:100D60000E94C00580930001811102C00E945205BB
-:100D700088E3E82E81E0F82E8701C0E0D0E0BB24B4
-:100D8000B39492E0A92ECC24C394D12CC730D105C2
-:100D900000F580910001811164C080E40E94150675
-:100DA00080930001811112C082E10E943F0680936E
-:100DB000000181110BC0C6010C2E01C0880F0A94DE
-:100DC000EAF780950E943F06809300010E94370653
-:100DD00048C0CA30A1F028F4C83059F0C93061F0D9
-:100DE00005C0CC3089F070F0CD3089F0209A289879
-:100DF00010C0219A29980DC0229A2A980AC0239AD5
-:100E00002B9807C0529A01C0539A5B9802C03E9A31
-:100E10004698E0EAEA95F1F78FB181708B257999D0
-:100E200002C032E001C030E0832B7C9902C034E084
-:100E300001C030E0832B7D9902C028E001C020E092
-:100E4000822B7E9902C090E101C090E0892B9FB176
-:100E50009095991F9927991F9295990F907E892BAC
-:100E60000FC08091000181114AC080E40E941506E4
-:100E700080930001882381F1912C0E943706892DEF
-:100E8000D8019C91981719F08C93A09201010E94AF
-:100E90005A0621960F5F1F4FCE30D10509F076CF4D
-:100EA00080910101882369F1815080930101882399
-:100EB00039F0EFE9FFE03197F1F700C0000021C001
-:100EC000E6E4F1E0D7018D917D018193B6E4EB1664
-:100ED000B1E0FB06B9F715C083E10E943F0680939D
-:100EE00000018111C9CF81E40E94150680930001A1
-:100EF0008111C2CF0E945006982E9094BECF80E000
-:100F0000BFCF0E94500581E0DF91CF911F910F91DB
-:100F1000FF90EF90DF90CF90BF90AF909F9008959B
-:100F2000E82FF0E0EA5BFE4F8081089508958B3B47
-:100F3000910580F4883A910548F5853A9105D8F4F1
-:100F40008430910508F0B2C0019709F06EC081E0CD
-:100F500090E00895803E910508F467C0883E9105B1
-:100F600008F4A4C09C01205F31092031310508F04C
-:100F70005CC090650895853A910509F459C0863A98
-:100F8000910509F058C082E890E40895883A9105E7
-:100F900009F454C0893A910509F453C08A3A91057D
-:100FA00009F452C08B3A910509F451C08C3A91056D
-:100FB00009F450C08D3A910509F44FC0803B91056A
-:100FC00009F44EC08E3A910509F44DC08F3A91054F
-:100FD00009F44CC0813B910509F44BC0823B91055B
-:100FE00009F44AC0833B910509F449C0843B91054B
-:100FF00009F448C0853B910509F447C0863B91053B
-:1010000009F446C0873B910509F445C0883B91052A
-:1010100009F444C0893B910509F443C08A3B91051A
-:1010200009F442C080E094E4089580E090E00895DF
-:1010300081E890E4089583E890E4089582EE94E4D2
-:10104000089589EE94E408958AEE94E4089585EB7A
-:1010500094E4089586EB94E4089587EB94E408956E
-:101060008CEC94E408958DEC94E4089583E895E481
-:1010700008958AE895E4089582E995E4089584E95D
-:1010800095E4089581E296E4089583E296E4089554
-:1010900084E296E4089585E296E4089586E296E473
-:1010A000089587E296E408958AE296E40895089503
-:1010B00024E5829FC0011124FC0126E0729FE00D0F
-:1010C000F11D1124E60FF11DEE0FFF1FEF5FFD4F25
-:1010D000859194910895880F991FFC01E558FF4F61
-:1010E000859194910895880F991FFC01E550FE4F5A
-:1010F00085919491089524E5829FC0011124FC01FB
-:1011000046E0749FE00DF11D1124E60FF11DEE0F76
-:10111000FF1FEF5FFD4F859194919C013A9521153A
-:101120004FE1340708F425C13F512115304120F427
-:101130009F700E94730808959C013053211530411F
-:1011400018F49927906C0895811520E5920769F4A9
-:101150000E942D164FEF84E39CE041508040904068
-:10116000E1F700C000000C94341D813020E59207A7
-:1011700031F48091CE0181608093CE0108959C016D
-:1011800030552115304108F05CC0292F33272F70CE
-:10119000332721303105E9F4AC0164E0440F551FD9
-:1011A0006A95E1F744275370BC016370772702C04A
-:1011B000220F331F6A95E2F73C68242B352B73E02E
-:1011C000880F991F7A95E1F780769927822B932BC8
-:1011D00008952230310529F4982F8827816F906A6D
-:1011E000089523303105A1F4AC0133E0440F551FBD
-:1011F0003A95E1F7407E57708370992721E030E0FF
-:1012000002C0220F331F8A95E2F7C9019C6816C0FD
-:101210002430310531F5AC0123E0440F551F2A95E8
-:10122000E1F7407E57708370992721E030E002C0DB
-:10123000220F331F8A95E2F7C9019A68842B952BF8
-:1012400008959C0130572115304118F49F70906229
-:1012500008959C0130582115304118F49F70906A10
-:101260000895803E9105E0F4803C910558F5813366
-:10127000910509F46FC048F48932910509F463C0FF
-:101280008A32910509F46DC072C089339105E9F085
-:1012900082389105D1F08533910509F44DC067C0BE
-:1012A000833E910581F138F4803E9105B9F0823E8C
-:1012B0009105D9F05CC0863E910561F1873E9105AC
-:1012C000A1F155C00E946B0808952091E00120FD16
-:1012D00002C021FF4CC080EE90E049C08091E00147
-:1012E00080FFF9CF89E390E042C08091E00182FF66
-:1012F0000EC08091E00184FF03C080E090E037C021
-:1013000083EE90E034C08091E00182FFF2CF82EE64
-:1013100090E02DC08091E00183FF0BC08091E0013F
-:1013200084FDEBCF87EE90E022C08091E00183FF47
-:10133000F5CF86EE90E01BC08091E00185FF07C0ED
-:1013400089E290E014C08091E00185FFF9CF85E348
-:1013500090E00DC08091E00186FF07C08AE290E036
-:1013600006C08091E00186FFF9CF81E390E00E9402
-:10137000970708950895809164010895CF93DF93AE
-:1013800000D01F92CDB7DEB79C018091E60184307A
-:1013900019F593E099833B832A839093E9008FEFBB
-:1013A0009091E800815095FD06C095ED9A95F1F772
-:1013B00000008111F5CF8091E80085FF0DC040E06D
-:1013C00050E063E070E0CE0101960E942B0C80910A
-:1013D000E8008E778093E8000F900F900F90DF91D8
-:1013E000CF910895CF93DF9300D01F92CDB7DEB792
-:1013F0002091E601243021F522E029839B838A8312
-:1014000083E08093E9008FEF9091E800815095FD93
-:1014100006C095ED9A95F1F700008111F5CF809106
-:10142000E80085FF0DC040E050E063E070E0CE01D1
-:1014300001960E942B0C8091E8008E778093E80043
-:101440000F900F900F90DF91CF9108959C018091A4
-:10145000E6018430F9F482E08093E9009FEF809107
-:10146000E800915085FD06C085ED8A95F1F70000F2
-:101470009111F5CF8091E80085FF0CC040E050E06D
-:1014800065E070E0C9010E942B0C8091E8008E7726
-:101490008093E8000895CF93DF93EC018091E601FB
-:1014A000843009F046C090910C019923D9F09091B5
-:1014B0000D019923B9F08093E9008FEF9091E80036
-:1014C000815095FD06C095E19A95F1F700008111D4
-:1014D000F5CF8091E80085FF2CC040E050E060E14E
-:1014E00070E017C081E08093E9008FEF9091E800F1
-:1014F000815095FD06C095ED9A95F1F70000811198
-:10150000F5CF8091E80085FF14C040E050E068E02E
-:1015100070E0CE010E942B0C8091E8008E778093C2
-:10152000E80080E1FE01A4E5B1E001900D928A950A
-:10153000E1F7DF91CF9108958091E501811109C014
-:101540000E94BC0D0E94190E8091E200846080937D
-:10155000E20008951092E501089508950C946A231D
-:101560000E94CA1C0E9470230E94C4100C94BA09E5
-:1015700042E061EC81E00E94350D42E061EC82E0E6
-:101580000E94350D42E061EC83E00E94350D42E19E
-:1015900061EC84E00C94350D8091E801833009F40E
-:1015A00055C030F4813071F0823009F48EC0089556
-:1015B0008A3009F47AC08B3009F460C0893009F0B0
-:1015C0009CC020C08091E701813A09F096C08091CB
-:1015D000E800877F8093E8008091EB019091EC0117
-:1015E000892B21F460E184E591E003C060E080E0B4
-:1015F00090E070E00E94760C8091E8008B778093F9
-:10160000E80008958091E701813209F076C0809169
-:10161000EB019091EC01009719F0039709F06DC070
-:101620008091E800877F8093E8008091E80082FD48
-:1016300005C08091E6018111F8CF5FC08091F10073
-:10164000809364018091E8008B7753C08091E7011B
-:10165000813A09F052C08091EB019091EC01892B05
-:1016600009F04BC08091E800877F8093E80080916B
-:10167000E80080FFFCCF80910C0136C08091E7012B
-:101680008132D9F58091EB019091EC01892BA9F57C
-:101690008091E800877F8093E8000E946A0D809126
-:1016A000E90180930C010C942D168091E7018132A1
-:1016B00021F58091E800877F8093E8000E946A0D01
-:1016C0008091EA018093650108958091E701813A54
-:1016D000A1F48091E800877F8093E8008091E80082
-:1016E00080FFFCCF809165018093F1008091E8003C
-:1016F0008E778093E8000C946A0D089584B7877FF5
-:1017000084BF0FB6F894A89580916000886180939B
-:101710006000109260000FBE90E080E80FB6F89471
-:1017200080936100909361000FBE0E9413110E948C
-:10173000BC0D0E94190E8091E20084608093E2004B
-:1017400078940E94A4100E94151182E091E00E94FA
-:10175000BF100E9458238091E601853069F40E94F1
-:101760008C1C8091E4018823B1F30E94B61C88236D
-:1017700091F30E94150CEFCF0E941B11ECCF292F83
-:10178000332723303105C9F060F42130310581F071
-:101790002230310509F041C08DE690E025E236E0C7
-:1017A00040C021323105E1F02232310531F135C03E
-:1017B00082E190E022E936E034C09927813091053A
-:1017C00049F028F0029749F5E1EFF5E005C0E1E2C4
-:1017D000F6E002C0E9E0F6E0849190E09F0121C0CC
-:1017E0006430D8F4E62FF0E0EE0FFF1FEE5DFE4F01
-:1017F0002081318189E090E014C0643070F470E0A1
-:10180000FB01EE0FFF1FE65EFE4F20813181FB01E1
-:10181000EA5EFE4F808190E004C080E090E020E02E
-:1018200030E0FA0131832083089580E189BD82E1AF
-:1018300089BD09B400FEFDCF8091D8008F7D8093D3
-:10184000D8008091E00082608093E0008091E00009
-:1018500081FDFCCF0895CF92DF92EF92FF920F931C
-:101860001F93CF93DF93EC018B016A010E94890DD6
-:10187000811133C0C114D10439F0F6018081918106
-:10188000081B190BC80FD91FE12CF12C01151105EC
-:1018900019F18091E80085FD16C08091E8008E77EF
-:1018A0008093E800C114D10449F0F6018081918150
-:1018B000E80EF91EF182E08285E00FC00E94890DDA
-:1018C000882321F30AC089918093F1000150110906
-:1018D000FFEFEF1AFF0ADACF80E0DF91CF911F917F
-:1018E0000F91FF90EF90DF90CF9008952091ED0140
-:1018F0003091EE012617370748F06115710539F46C
-:101900002091E8002E772093E80001C0B901FC0186
-:1019100020E06115710579F18091E6018823F1F1EC
-:101920008530F1F18091E80083FD3CC08091E800B2
-:1019300082FD2EC08091E80080FFEBCF2091F30064
-:101940008091F20090E0922B6115710551F0883082
-:10195000910538F421912093F100615071090196AD
-:10196000F3CF21E0089709F020E08091E8008E771E
-:101970008093E800CECF2111CFCF0AC08091E6013D
-:10198000882361F0853061F08091E80083FD0AC012
-:101990008091E80082FFF2CF80E0089582E0089510
-:1019A00083E0089581E008952091ED013091EE01EA
-:1019B0002617370748F06115710539F42091E800C2
-:1019C0002E772093E80001C0B901FC0120E06115E9
-:1019D000710591F18091E601882309F440C08530BA
-:1019E00009F43FC08091E80083FD3DC08091E8008C
-:1019F00082FD2FC08091E80080FFE9CF2091F300A5
-:101A00008091F20090E0922B6115710559F08830B9
-:101A1000910540F424912093F100319661507109B1
-:101A20000196F2CF21E0089709F020E08091E800CC
-:101A30008E778093E800CBCF2111CCCF0AC0809164
-:101A4000E601882361F0853061F08091E80083FD34
-:101A50000AC08091E80082FFF2CF80E0089582E022
-:101A6000089583E0089581E00895982F973068F5F0
-:101A70009093E900981739F07091EC002091ED00F7
-:101A80005091F00003C0242F762F50E021FD02C0BA
-:101A90009F5FECCF3091EB003E7F3093EB003091B5
-:101AA000ED003D7F3093ED003091EB0031603093DD
-:101AB000EB007093EC002093ED005093F000209128
-:101AC000EE0027FDE5CF80E008958F708093E90058
-:101AD00081E008958091E70187FF11C08091E800BF
-:101AE00082FD05C08091E6018111F8CF11C080917F
-:101AF000E8008B770BC08091E601882349F0809144
-:101B0000E80080FFF8CF8091E8008E778093E800AE
-:101B100008952091E4003091E50095E64091EC00B5
-:101B2000842F817040FF23C08091E80080FD1DC09C
-:101B30008091E601882399F0853099F08091EB003F
-:101B400085FD11C04091E4005091E5002417350750
-:101B500029F3915011F09A01E1CF84E0089582E0D9
-:101B6000089583E0089581E0089580E0089540910C
-:101B7000E80042FFDDCF08950E942A0E0E94320E37
-:101B8000E0EEF0E0808181608083E8EDF0E080812C
-:101B90008F77808319BCA7EDB0E08C918E7F8C93FA
-:101BA00080818F7E80831092E50108950F931F93AB
-:101BB000CF93DF930E942A0E0E94320EC8EDD0E030
-:101BC00088818F77888388818068888388818F7DEA
-:101BD000888319BC1092E6011092E2011092E40190
-:101BE0001092E30100EE10E0F80180818B7F80838A
-:101BF00088818160888342E060E080E00E94350D4A
-:101C0000E1EEF0E080818E7F8083E2EEF0E0808183
-:101C100081608083808188608083F80180818E7FED
-:101C20008083888180618883DF91CF911F910F919C
-:101C30000895E8EDF0E080818F7E8083E7EDF0E0AD
-:101C400080818160808384E082BF81E08093E501B0
-:101C50000C94D60DE8EDF0E080818E7F80831092A9
-:101C6000E20008951092DA001092E10008951F92A8
-:101C70000F920FB60F9211242F933F934F935F93C0
-:101C80006F937F938F939F93AF93BF93EF93FF9344
-:101C90008091E10082FF0BC08091E20082FF07C0CB
-:101CA0008091E1008B7F8093E1000E94A3108091DE
-:101CB000DA0080FF1FC08091D80080FF1BC0809198
-:101CC000DA008E7F8093DA008091D90080FF0DC00A
-:101CD00080E189BD82E189BD09B400FEFDCF81E0CC
-:101CE0008093E6010E949C0A05C019BC1092E6018F
-:101CF0000E94AA0A8091E10080FF19C08091E20051
-:101D000080FF15C08091E2008E7F8093E200809179
-:101D1000E20080618093E2008091D800806280932D
-:101D2000D80019BC85E08093E6010E94AE0A80913C
-:101D3000E10084FF30C08091E20084FF2CC080E18C
-:101D400089BD82E189BD09B400FEFDCF8091D80034
-:101D50008F7D8093D8008091E1008F7E8093E10099
-:101D60008091E2008F7E8093E2008091E2008160AA
-:101D70008093E2008091E201882311F084E007C0A3
-:101D80008091E30087FD02C081E001C083E0809381
-:101D9000E6010E94B00A8091E10083FF29C0809192
-:101DA000E20083FF25C08091E100877F8093E100FE
-:101DB00082E08093E6011092E2018091E1008E7F43
-:101DC0008093E1008091E2008E7F8093E200809119
-:101DD000E20080618093E20042E060E080E00E94E7
-:101DE000350D8091F00088608093F0000E94AD0A6C
-:101DF000FF91EF91BF91AF919F918F917F916F91E3
-:101E00005F914F913F912F910F900FBE0F901F90B8
-:101E100018951F920F920FB60F9211242F933F9394
-:101E20004F935F936F937F938F939F93AF93BF93E2
-:101E3000CF93DF93EF93FF93C091E900CF70809130
-:101E4000EC00D82FD17080FDD0E81092E90080918D
-:101E5000F000877F8093F00078940E944D0F1092DD
-:101E6000E9008091F00088608093F000CD2BCF7066
-:101E7000C093E900FF91EF91DF91CF91BF91AF91B6
-:101E80009F918F917F916F915F914F913F912F9192
-:101E90000F900FBE0F901F9018951F93CF93DF9355
-:101EA000CDB7DEB7AA970FB6F894DEBF0FBECDBF91
-:101EB000E7EEF1E08091F100819321E0EF3EF2073F
-:101EC000C9F70E94CC0A8091E80083FF24C1809169
-:101ED000E7019091E801492F50E04A30510508F0A0
-:101EE0001AC1FA01EB59FF4F0C940125803881F09B
-:101EF000823809F010C18091EB018F708093E90066
-:101F00008091EB0085FB882780F91092E90006C0DC
-:101F10008091E3019091E401911182609091E80039
-:101F2000977F9093E8008093F1001092F100C8C071
-:101F3000282F2D7F09F0EFC0882319F0823061F03F
-:101F4000EAC08091E901813009F0E5C0933009F0E1
-:101F500080E08093E4012BC08091E901811127C0CA
-:101F60008091EB018F7009F4D6C08093E900209135
-:101F7000EB0020FF1CC0933021F48091EB008062C5
-:101F800014C09091EB0090619093EB0021E030E061
-:101F9000A90102C0440F551F8A95E2F74093EA0059
-:101FA0001092EA008091EB0088608093EB00109221
-:101FB000E9008091E800877F86C08111ACC0109154
-:101FC000E9011F778091E3008078812B8093E30003
-:101FD0008091E800877F8093E8000E946A0D8091DD
-:101FE000E80080FFFCCF8091E30080688093E300ED
-:101FF000111102C082E001C083E08093E6018BC032
-:102000008058823008F087C08091E9019091EA0100
-:102010008C3D53E0950779F583E08A838AE28983D2
-:102020004FB7F894DE01139620E03EE051E2E32F33
-:10203000F0E050935700E49120FF03C0E295EF7069
-:102040003F5FEF708E2F90E0EA3010F0C79601C02E
-:10205000C0968D939D932F5F243149F74FBF809198
-:10206000E800877F8093E8006AE270E0CE01019685
-:102070000E94760C14C0AE014F5F5F4F6091EB0180
-:102080000E94BF0BBC01892B09F445C09091E80068
-:10209000977F9093E80089819A810E94D40C809167
-:1020A000E8008B778093E80036C08038A1F58091F6
-:1020B000E800877F8093E8008091E2018093F1003F
-:1020C0008091E8008E778093E8000E946A0D23C01B
-:1020D000811121C08091E9019091EA01992702972D
-:1020E000D4F48091E800877F8093E8008091E90133
-:1020F0008093E2010E946A0D8091E201811106C085
-:102100008091E30087FD02C081E001C084E08093FC
-:10211000E6010E94B80A8091E80083FF0AC080911E
-:10212000E800877F8093E8008091EB0080628093D5
-:10213000EB00AA960FB6F894DEBF0FBECDBFDF91BD
-:10214000CF911F9108950895CF938091E601882340
-:10215000A1F0C091E900CF709091EC00892F8170BF
-:1021600090FD80E8C82B1092E9008091E80083FD83
-:102170000E944D0FCF70C093E900CF9108959093C6
-:102180006B0180936A010895E0916A01F0916B01FF
-:10219000309721F00190F081E02D099480E00895BE
-:1021A000E0916A01F0916B01309721F00280F38198
-:1021B000E02D09940895E0916A01F0916B01309748
-:1021C00021F00480F581E02D0994089520916801A3
-:1021D000309169012817390771F090936901809354
-:1021E0006801E0916A01F0916B01309721F006805F
-:1021F000F781E02D099408952091660130916701DF
-:102200002817390771F09093670180936601E09178
-:102210006A01F0916B01309721F00084F185E02D87
-:102220000994089508950C9412110E94D01C0E94E4
-:1022300082060C94961DCF92DF92EF92FF920F933D
-:102240001F93CF93DF93CDB7DEB72B970FB6F894DC
-:10225000DEBF0FBECDBF0E949A068DE6C82E81E07C
-:10226000D82E00E010E0E02E802F0E949007F601AB
-:1022700041916F01F82EF426B1F40F5F1F4F0E301D
-:10228000110589F78FEF89838A831B820E94D91CED
-:102290008160782F9D838C8349815A816B818D81E8
-:1022A0000E94BE1140C09091CE0191FF04C08B8767
-:1022B0000E9496078B8520E030E04F2D50E0922F52
-:1022C000BA01022E02C0759567950A94E2F760FF85
-:1022D00024C02E83EF8221E030E0690102C0CC0CE3
-:1022E000DD1C9A95E2F790E08C219D21892B09F461
-:1022F00020E028870E94D91C8160782F9A878987DF
-:102300004E815F8168858A850E94BE11F801E3597C
-:10231000FE4F8081C826C08206C02F5F3F4F263007
-:10232000310569F6AACF0E947D200E94C4109091C9
-:102330006C018917A1F00E94C41080936C012B9648
-:102340000FB6F894DEBF0FBECDBFDF91CF911F91C6
-:102350000F91FF90EF90DF90CF900C94BA092B96DD
-:102360000FB6F894DEBF0FBECDBFDF91CF911F91A6
-:102370000F91FF90EF90DF90CF900895CF93DF9370
-:10238000CDB7DEB72B970FB6F894DEBF0FBECDBF2B
-:102390004F83588769877A878B87DE01119686E09D
-:1023A000FD0111928A95E9F785E0FE0137960190CB
-:1023B0000D928A95E1F749815A816B817C818D81EB
-:1023C0009E810E94C1182B960FB6F894DEBF0FBEF7
-:1023D000CDBFDF91CF910895CF93C82F882309F403
-:1023E000C1C0823859F40E94C41081FDBBC089E38A
-:1023F0000E945E1B0E94161C89E30CC0833879F48E
-:102400000E94C41080FDAEC083E50E945E1B0E9446
-:10241000161C83E50E949D1BCF910C94161C8438DA
-:1024200059F40E94C41082FD9DC087E40E945E1B87
-:102430000E94161C87E4EECF8CEF8C0F813A48F493
-:102440008C2F0E94BD2281118DC08C2F0E945E1B9B
-:10245000E3CF80E28C0F883048F4C77081E001C080
-:10246000880FCA95EAF70E94DF1BD6CF8BE58C0F49
-:10247000833078F4C53A29F0C63A31F083E890E029
-:1024800005C081E890E002C082E890E0CF910C9412
-:10249000E61088E58C0F833108F064C0C83A39F142
-:1024A000C93A41F1CA3A49F1CB3A51F1CC3A59F122
-:1024B000CD3A61F1C03B69F1CE3A71F1CF3A79F191
-:1024C000C13B81F1C23B89F1C33B91F1C43B99F11E
-:1024D000C53BA1F1C63BA9F1C73BB1F1C83BB9F17E
-:1024E000C93BC1F1CA3BC9F180E090E038C082EE3F
-:1024F00090E035C089EE90E032C08AEE90E02FC0C7
-:1025000085EB90E02CC086EB90E029C087EB90E053
-:1025100026C08CEC90E023C08DEC90E020C083E8D6
-:1025200091E01DC08AE891E01AC082E991E017C0ED
-:1025300084E991E014C081E292E011C083E292E06C
-:102540000EC084E292E00BC085E292E008C086E211
-:1025500092E005C087E292E002C08AE292E0CF9169
-:102560000C94FC10CF910895882309F44BC0823855
-:1025700059F40E94C41081FF45C089E30E945E1B8C
-:102580000E94161C89E30CC0833871F40E94C410A9
-:1025900080FF38C083E50E945E1B0E94161C83E505
-:1025A0000E949D1B0C94161C843859F40E94C41080
-:1025B00082FF28C087E40E945E1B0E94161C87E4ED
-:1025C000EFCF9CEF980F913A58F390E2980F983024
-:1025D00050F4877091E001C0990F8A95EAF7892F2E
-:1025E0000E94E51BDFCF9BE5980F933020F480E03D
-:1025F00090E00C94E610885A833120F480E090E05B
-:102600000C94FC100895882321F00E94DF1B0C9489
-:10261000161C0895882321F00E94E51B0C94161CBB
-:102620000895BF92CF92DF92EF92FF920F931F9384
-:10263000CF93DF9300D000D000D0CDB7DEB77C01C0
-:1026400085E0F701DE01119601900D928A95E1F780
-:10265000F70183819481892B09F4DDC29081818106
-:102660008F3F19F49F3F09F4D6C2F70102812581FB
-:1026700022952F7099838A8389819A812E830E9463
-:102680001D1B182FB92E0E941C1B0E94E319EB2D55
-:10269000E295EF704E2F50E0FA01E159FF4F2E8185
-:1026A0000C9401258B2D807F9B2D9F70F92E882304
-:1026B00019F0F29480EFF822002349F0FF2009F48A
-:1026C00057C28F2D0E94EF1B0E94161C51C2812FF2
-:1026D0000E94B412FF2009F49EC28F2D0E94F51BA8
-:1026E00026960FB6F894DEBF0FBECDBFDF91CF9117
-:1026F0001F910F91FF90EF90DF90CF90BF900C94BF
-:10270000161C3B2D307F8B2D8F70303211F082954F
-:10271000807F112319F0113021F12CC00023B9F072
-:10272000222309F490C1213009F08DC126960FB6FD
-:10273000F894DEBF0FBECDBFDF91CF911F910F91F7
-:10274000FF90EF90DF90CF90BF900C94FF1B22235F
-:1027500019F0213009F45FC28E830E94021C8E8121
-:1027600086C1002321F0223008F055C26CC121112E
-:1027700052C27DC1002321F0222309F464C1F8C1B3
-:10278000222309F474C109C28B2D86958695837026
-:1027900019F08130D1F03FC2002321F0812F9B2D11
-:1027A000937002C080E090E026960FB6F894DEBFEA
-:1027B0000FBECDBFDF91CF911F910F91FF90EF9092
-:1027C000DF90CF90BF900C94E610002321F0812F72
-:1027D0009B2D937002C080E090E026960FB6F8948F
-:1027E000DEBF0FBECDBFDF91CF911F910F91FF9044
-:1027F000EF90DF90CF90BF900C94FC10812F0023BE
-:1028000019F00E94851F02C00E94ED1F26960FB688
-:10281000F894DEBF0FBECDBFDF91CF911F910F9116
-:10282000FF90EF90DF90CF90BF900C9472208B2D93
-:10283000837009F075C00111EEC1812F82958695D4
-:102840008770880F880F912F9F70C92ED12CE12C93
-:10285000F12C082E04C0CC0CDD1CEE1CFF1C0A94CD
-:10286000D2F714FF12C00FE010E020E030E004C007
-:10287000000F111F221F331F8A95D2F7C901B8011B
-:10288000609570958095909503C060E070E0CB01F5
-:102890004B2D4695469543704230C1F060F56C294A
-:1028A0007D298E299F29413051F126960FB6F89443
-:1028B000DEBF0FBECDBFDF91CF911F910F91FF9073
-:1028C000EF90DF90CF90BF900C940A1A6C297D296D
-:1028D0008E299F2926960FB6F894DEBF0FBECDBF76
-:1028E000DF91CF911F910F91FF90EF90DF90CF90EC
-:1028F000BF900C94261A0E940A1AC701B6012696A8
-:102900000FB6F894DEBF0FBECDBFDF91CF911F9100
-:102910000F91FF90EF90DF90CF90BF900C94EE1945
-:10292000002319F08B2D817001C08695882309F44E
-:1029300072C1812F829586958770880F880F912F9D
-:102940009F70C92ED12CE12CF12C082E04C0CC0C88
-:10295000DD1CEE1CFF1C0A94D2F714FF12C00FE01E
-:1029600010E020E030E004C0000F111F221F331FD1
-:102970008A95D2F7C901B8016095709580959095B8
-:1029800003C060E070E0CB014B2D46954695437047
-:102990004230C1F060F56C297D298E299F29413094
-:1029A00051F126960FB6F894DEBF0FBECDBFDF9172
-:1029B000CF911F910F91FF90EF90DF90CF90BF903C
-:1029C0000C94E41A6C297D298E299F2926960FB62E
-:1029D000F894DEBF0FBECDBFDF91CF911F910F9155
-:1029E000FF90EF90DF90CF90BF900C94001B0E945F
-:1029F000E41AC701B60126960FB6F894DEBF0FBEE3
-:102A0000CDBFDF91CF911F910F91FF90EF90DF909D
-:102A1000CF90BF900C94C81A103FD1F118F4103E1B
-:102A200050F4A1C0123F09F463C008F44CC0133F36
-:102A300009F473C098C01F708B2D8F710023A1F013
-:102A40000E94611A812F26960FB6F894DEBF0FBE42
-:102A5000CDBFDF91CF911F910F91FF90EF90DF904D
-:102A6000CF90BF900C9403130E94821A812F269658
-:102A70000FB6F894DEBF0FBECDBFDF91CF911F918F
-:102A80000F91FF90EF90DF90CF90BF900C940A13BE
-:102A90000023A9F02111BFC08B2D8F7126960FB690
-:102AA000F894DEBF0FBECDBFDF91CF911F910F9184
-:102AB000FF90EF90DF90CF90BF900C94A71A223038
-:102AC00008F0A9C0E9CF0023A9F08B2D8F712696BD
-:102AD0000FB6F894DEBF0FBECDBFDF91CF911F912F
-:102AE0000F91FF90EF90DF90CF90BF900C94611A00
-:102AF000002359F38B2D8F7126960FB6F894DEBF05
-:102B00000FBECDBFDF91CF911F910F91FF90EF903E
-:102B1000DF90CF90BF900C94821A002399F08B2DF8
-:102B20008F7126960FB6F894DEBF0FBECDBFDF9132
-:102B3000CF911F910F91FF90EF90DF90CF90BF90BA
-:102B40000C944C1A26960FB6F894DEBF0FBECDBF7C
-:102B5000DF91CF911F910F91FF90EF90DF90CF9079
-:102B6000BF900C94421A0023A9F0222309F4ADCFA0
-:102B7000812F26960FB6F894DEBF0FBECDBFDF9132
-:102B8000CF911F910F91FF90EF90DF90CF90BF906A
-:102B90000C94EC11222309F4ADCF812F26960FB6A9
-:102BA000F894DEBF0FBECDBFDF91CF911F910F9183
-:102BB000FF90EF90DF90CF90BF900C94B4124B2D0C
-:102BC0004F70612FC7010E94390426960FB6F89402
-:102BD000DEBF0FBECDBFDF91CF911F910F91FF9050
-:102BE000EF90DF90CF90BF900C9466194B2D4F70F3
-:102BF000612FC70126960FB6F894DEBF0FBECDBF7A
-:102C0000DF91CF911F910F91FF90EF90DF90CF90C8
-:102C1000BF900C94570826960FB6F894DEBF0FBEEF
-:102C2000CDBFDF91CF911F910F91FF90EF90DF907B
-:102C3000CF90BF9008950E94FC1B0E94D11B0E9460
-:102C4000161C0E9422210E94722080E090E00E94C7
-:102C5000E61080E090E00C94FC100E94EC1B0C94B9
-:102C60001B160E941D1B292F22952F702C3030F42B
-:102C70002A3048F42250223078F405C02C3041F03C
-:102C80002F3031F009C0803E48F0803F29F406C063
-:102C900093FB882780F9089580E0089581E00895E6
-:102CA000CF93DF9300D000D01F92CDB7DEB70F9047
-:102CB0000F900F900F900F90DF91CF910895CF93C9
-:102CC000DF9300D000D000D0CDB7DEB726960FB688
-:102CD000F894DEBF0FBECDBFDF91CF9108951F9353
-:102CE000CF93DF93C0917B0116E080917C01C817E0
-:102CF00099F0D0E01C9FF0011D9FF00D1124E358C6
-:102D0000FE4F4081518162817381848195810E944F
-:102D10005F162196C770E9CFDF91CF911F9108957B
-:102D20004091AD015091AE016091AF017091B00141
-:102D30008091B1019091B2010C945F168091B20123
-:102D400082958F7009F054C08091AF01882309F4F7
-:102D50004FC080917B01A0917C014091B0015091C6
-:102D6000B1016091AD017091AE01B6E08A1709F42E
-:102D70003FC090E041155105C1F17F3F11F46F3F15
-:102D8000A1F1B89FF001B99FF00D1124E358FE4F57
-:102D9000218127132AC02081261327C022812111D7
-:102DA00024C0238134812417350710F421503109C0
-:102DB000241B350B283C3105C0F42091B2012F7043
-:102DC00020612093B20126E0289FF001299FF00D99
-:102DD0001124EE57FE4F80818F70806180838DEAD1
-:102DE00091E00E9411130C946F1601968770BECF6C
-:102DF0000895CF92DF92EF92FF920F931F93CF939C
-:102E0000DF93CDB7DEB762970FB6F894DEBF0FBE83
-:102E1000CDBF8C0185E0F801DE011D9601900D9279
-:102E20008A95E1F7D8014C9111965C911197129611
-:102E30006C918091B0019091B101009709F475C136
-:102E40003091AD017091AE017F3F19F43F3F09F41D
-:102E50006CC1F801C380D480E090AF01EE2009F48A
-:102E6000BEC02091B201C816D90628F0D601A81B11
-:102E7000B90BCD0104C0809590958C0D9D1DFF244C
-:102E8000F394883C910578F0F12C207F09F0C4C0C0
-:102E90007C2DD98AC88A89890E9450168DEA91E0D2
-:102EA0000E941113AFC0822F807F09F045C05713D5
-:102EB00013C0431311C061110FC02F702061209304
-:102EC000B2010E9490168DEA91E00E941113809148
-:102ED000B201F80185832EC0CD2819F15F3F11F4AE
-:102EE0004F3FF9F0F62E61111CC080917B012091BB
-:102EF0007C0136E0821709F45BC090E0389FF00156
-:102F0000399FF00D1124E358FE4F7181571306C00D
-:102F10007081471303C07281711103C001968770DD
-:102F2000E9CFF62E662309F41CC18091B2018160BD
-:102F30008093B201F12C15C1571309C0431307C088
-:102F4000611105C08091B201F8018583C8C04D8729
-:102F50005E878D859E856A8B0E9431166A898823DB
-:102F6000D1F16623C1F12091B201822F82958F7039
-:102F700090E0029774F08091AD019091AE01988736
-:102F80008F831986DB86CA862C87CE0107960E941E
-:102F9000111386E0F801ADEAB1E001900D928A9537
-:102FA000E1F70E949E160E949016FF24F394D9C068
-:102FB0004D875E878D859E850E941D1B292F22953A
-:102FC0002F70223008F0C1C09F7009F0BBC0805E36
-:102FD000883008F4C6C0C8010E941113E6CFC81695
-:102FE000D90608F453C0F601E81BF90BCF01883C61
-:102FF000910508F450C0F12C7C2DD98AC88A8989A2
-:103000000E945016EDEAF1E086E0DF011D928A95FC
-:10301000E9F70E949016A5C0571314C0431312C0BD
-:10302000611110C08091B201F8018583C8010E942E
-:10303000111386E0EDEAF1E0DF011D928A95E9F7D0
-:10304000FE2C8FC04D875E878D859E856A8B0E9482
-:1030500031166A89882309F4BECF662309F4BBCFF1
-:103060002091B201822F82958F7090E002970CF42C
-:1030700090CF8091AD019091AE019A8389831B829C
-:10308000DD82CC822E83CE01019681CF80959095F2
-:103090008C0D9D1DACCFF62E662309F49CCF5713E3
-:1030A00033C0431331C02091B20120FD24C0822FD0
-:1030B00082958F70482F50E041155105E1F0D801FD
-:1030C00015962C9315974F30510549F08F5F982F27
-:1030D0009295907F822F8F70892B15968C93C801C3
-:1030E0000E94111386E0F801ADEAB1E001900D9263
-:1030F0008A95E1F78ECF86E0F801ADEAB1E0019064
-:103100000D928A95E1F72DC04D875E878D859E854E
-:103110000E94311681113DCF8091B2018160809370
-:10312000B201C8010E9411131CC0662309F453CFD9
-:103130004D875E878D859E850E943116882309F410
-:103140004ACF27CF811143CF0CC0243008F043CFA2
-:103150009F7009F43CCFD80115969C91907F09F09F
-:1031600036CF8F2D62960FB6F894DEBF0FBECDBF5F
-:10317000DF91CF911F910F91FF90EF90DF90CF9053
-:1031800008951F93CF93DF93CDB7DEB72C970FB67B
-:10319000F894DEBF0FBECDBF4F83588769877A870B
-:1031A0008B879C87CE0107960E94F916882371F0C1
-:1031B0008A859B85892B09F441C088858F3F09F05A
-:1031C00065C08F818F3F09F061C038C086E0FE0185
-:1031D0003796DE01119601900D928A95E1F76A8586
-:1031E0007B856115710551F1FF81E885EF3F11F491
-:1031F000FF3F21F120917C0130E0C90101968770E9
-:10320000992740917B0150E08417950709F447C046
-:10321000F983EA837D836C8396E0929FD001939F2C
-:10322000B00D1124A358BE4FFE01319601900D92AE
-:103230009A95E1F780937C010E946F1616E08091C9
-:103240007B0190917C018917B9F1189FC00111246D
-:1032500083589E4F0E94F916882371F1E0917B01FB
-:103260001E9FF0011124E358FE4F4081518162817D
-:103270007381848195810E945F1680917B0190E02B
-:1032800001968770992780937B01D9CF4F8158850C
-:1032900069857A858B859C850E945F16CFCF0E94B9
-:1032A0002D1610927C0110927B01EDEAF1E086E090
-:1032B000DF011D928A95E9F72C960FB6F894DEBFD0
-:1032C0000FBECDBFDF91CF911F910895EF92FF9276
-:1032D0000F931F93CF93DF938C01892B09F46CC05C
-:1032E000F12CEE24E394E8012196F80184918437CF
-:1032F00040F4843008F051C0813081F0823019F1FF
-:103300005BC0853709F444C0A8F19CE7980F90375B
-:1033100008F052C08F770E94B41241C00E5F1F4F59
-:10332000FE01849190E2980F983050F48770FE2D42
-:1033300001C0FF0F8A95EAF78F2F0E94EF1B14C080
-:103340000E94EC112DC00E5F1F4FFE01849190E290
-:10335000980F983060F48770FE2D01C0FF0F8A959A
-:10336000EAF78F2F0E94F51B0E94161C19C00E94BD
-:10337000B41216C00E5F1F4FFE01C491CC2381F022
-:103380008FE99FE00197F1F700C00000C150F6CF30
-:103390000E5F1F4FFE01F49003C00E94EC118E01DE
-:1033A0008F2D882309F49FCFEFE9FFE03197F1F7E4
-:1033B00000C000008150F5CFDF91CF911F910F9198
-:1033C000FF90EF90089508956093B7017093B8014E
-:1033D0008093B9019093BA010C941B160F931F931D
-:1033E0000091B7011091B8012091B9013091BA0153
-:1033F000DC01CB01802B912BA22BB32B8093B70147
-:103400009093B801A093B901B093BA011F910F91A5
-:103410000C941B160F931F930091B7011091B801E4
-:103420002091B9013091BA01DC01CB0180239123B5
-:10343000A223B3238093B7019093B801A093B9015D
-:10344000B093BA011F910F910C941B160F931F9309
-:103450000091B7011091B8012091B9013091BA01E2
-:10346000DC01CB0180279127A227B3278093B701E6
-:103470009093B801A093B901B093BA011F910F9135
-:103480000C941B161092B3011092B4011092B50166
-:103490001092B6010C941B1641E050E060E070E021
-:1034A00004C0440F551F661F771F8A95D2F74093BB
-:1034B000B3015093B4016093B5017093B6010C94BD
-:1034C0001B1641E050E060E070E004C0440F551F5F
-:1034D000661F771F8A95D2F78091B3019091B4014E
-:1034E000A091B501B091B601482B592B6A2B7B2BCB
-:1034F0004093B3015093B4016093B5017093B6014A
-:103500000C941B1641E050E060E070E004C0440FF2
-:10351000551F661F771F8A95D2F740955095609585
-:1035200070958091B3019091B401A091B501B091D3
-:10353000B601482359236A237B234093B301509358
-:10354000B4016093B5017093B6010C941B1641E071
-:1035500050E060E070E004C0440F551F661F771F05
-:103560008A95D2F78091B3019091B401A091B501F1
-:10357000B091B601482759276A277B274093B301AA
-:103580005093B4016093B5017093B6010C941B166F
-:103590000F931F930091B3011091B4012091B501D5
-:1035A0003091B601DC01CB01802B912BA22BB32BE8
-:1035B0008093B3019093B401A093B501B093B60189
-:1035C0001F910F910C941B160F931F930091B30141
-:1035D0001091B4012091B5013091B601DC01CB010D
-:1035E00080239123A223B3238093B3019093B4014A
-:1035F000A093B501B093B6011F910F910C941B16C7
-:103600000F931F930091B3011091B4012091B50164
-:103610003091B601DC01CB0180279127A227B32787
-:103620008093B3019093B401A093B501B093B60118
-:103630001F910F910C941B160895CF92DF92EF9279
-:10364000FF920F931F93CF93DF938C01C090B30130
-:10365000D090B401E090B501F090B6018091B7012F
-:103660009091B801A091B901B091BA01C82AD92AA4
-:10367000EA2AFB2ACFE1D0E0D701C6010C2E04C014
-:10368000B695A795979587950A94D2F780FF07C0BE
-:10369000B8018C2F0E947B088130910531F421976D
-:1036A00058F7B80180E00E947B08DF91CF911F910D
-:1036B0000F91FF90EF90DF90CF90089590910C01C3
-:1036C0009923F1F090910D019923D1F0982F9695BF
-:1036D000969596959F3080F5E0910E01F0910F013F
-:1036E000E90FF11D877021E030E0A90102C0440F0D
-:1036F000551F8A95E2F7CA019181892B818308952C
-:1037000020910E0130910F01F90132969FEF40E0B8
-:103710005191851789F09F3F19F4511101C0942FE1
-:103720004F5F4E30A9F79F3F39F0F901E90FF11DC6
-:1037300097FDFA9582830895089590910C0199233D
-:10374000F9F090910D019923D9F0982F96959695BF
-:1037500096959F3028F5E0910E01F0910F01E90F49
-:10376000F11D877021E030E0A90102C0440F551F10
-:103770008A95E2F7CA018095918189238183089512
-:1037800020910E0130910F01F9013296205F3F4FD9
-:103790009081891301C010823196E217F307C1F7B7
-:1037A000089581E090E0E0910E01F0910F01E80FA3
-:1037B000F91F1082019680319105A9F70895909123
-:1037C000CD01892B8093CD01089580959091CD01F5
-:1037D00089238093CD0108951092CD010895909191
-:1037E000CC01892B8093CC01089580959091CC01D8
-:1037F00089238093CC0108951092CC010895809381
-:10380000BB0108951092BB01089580910E01909123
-:103810000F01FC0131969C01205F3F4F80E09191A8
-:1038200091118F5FE217F307D1F70895E0910E0130
-:10383000F0910F018091CD018083E0910E01F09114
-:103840000F0190818091CC01892B80838091BB01F5
-:10385000882361F0E0910E01F0910F019081892B96
-:1038600080830E94051C81111092BB0180910E0182
-:1038700090910F010C94D010CF92DF92EF92FF92B3
-:103880006C01EE24FF24C114D104E104F10421F001
-:10389000C701B60120E101C020E0C72ED82EE92ED5
-:1038A000FF24C114D104E104F10419F0285FC70119
-:1038B000B6016B017C0154E0F694E794D794C79469
-:1038C0005A95D1F7C114D104E104F10419F02C5F29
-:1038D000C701B6016B017C0142E0F694E794D794EE
-:1038E000C7944A95D1F7C114D104E104F10419F049
-:1038F0002E5FC701B601DC01CB01B695A795979560
-:103900008795892B8A2B8B2B09F02F5F822FFF90B5
-:10391000EF90DF90CF9008958091E601843011F10F
-:1039200020E488E190E00FB6F894A89580936000B9
-:103930000FBE2093600083B7817F846083BF83B70D
-:10394000816083BF7894889583B78E7F83BF0FB6DD
-:10395000F894A8958091600088618093600010922F
-:1039600060000FBE089508950C94B31CCF930E947D
-:10397000B41C0E949A060E94B31CC0E08C2F0E94C7
-:103980009007811104C0CF5FCE30C1F701C081E044
-:10399000CF9108950E942D160E94C4100C94BA096C
-:1039A00082E084BD93E095BD9AEF97BD80936E0051
-:1039B00008952FB7F8948091CF019091D001A091F4
-:1039C000D101B091D2012FBF0895CF92DF92EF9233
-:1039D000FF920F931F932FB7F8944091CF0150910E
-:1039E000D0016091D1017091D2012FBF6A017B019A
-:1039F000EE24FF248C0120E030E0C016D106E20660
-:103A0000F30610F4415051099A01281B390BC901E2
-:103A10001F910F91FF90EF90DF90CF9008951F922C
-:103A20000F920FB60F9211248F939F93AF93BF9372
-:103A30008091CF019091D001A091D101B091D2019C
-:103A40000196A11DB11D8093CF019093D001A09349
-:103A5000D101B093D201BF91AF919F918F910F90FF
-:103A60000FBE0F901F9018950E94BC0DF8942FEF79
-:103A700087EA91E6215080409040E1F700C00000C5
-:103A800087E090EBDC018093EF019093F001A0932D
-:103A9000F101B093F2019CE088E10FB6F894A8958B
-:103AA000809360000FBE90936000FFCFEF92FF9273
-:103AB0000F931F93CF93DF93D82FC0E08C2F0E94DA
-:103AC000900700E010E0E82EF12CC701002E02C0A4
-:103AD000959587950A94E2F780FD06C00F5F1F4F0A
-:103AE0000630110591F709C0602F7C2F80E00E94FD
-:103AF00058088D13F3CF81E004C0CF5FCE30F1F6CC
-:103B000080E0DF91CF911F910F91FF90EF9008958A
-:103B1000CF93C82F8CE20E94561D882321F08C2F52
-:103B2000CF910C94561D80E0CF910895CF930E94C1
-:103B3000DD1E811102C00E94C31EC5E6C15049F0BE
-:103B40000E949A068FE39CE90197F1F700C00000FC
-:103B5000F5CF89E20E94881D811113C18AE20E947B
-:103B6000881D81110E94C31E85E00E94881D81115D
-:103B70000E94341D0E94E81E8093CE0187E00E94BF
-:103B8000881D8823A9F18BE10E94881D882351F0AC
-:103B90008091CE0181FB222720F991E0922790FBB2
-:103BA00081F90EC08EE00E94881D882361F080910B
-:103BB000CE0182FB222720F991E0922790FB82F927
-:103BC0008093CE0115C080E10E94881D9091CE01A6
-:103BD000882341F093FB222720F981E0822780FB94
-:103BE00093F904C0892F809580FB90F99093CE01C2
-:103BF0008091CE010E94EC1E0E94FA1E8093E0018B
-:103C000080EE0E94881D882341F08091E001982F6A
-:103C1000909590FB80F98093E00189E30E94881DD4
-:103C2000882359F08091E00181FB222720F991E05F
-:103C3000922790FB81F98093E00182EE0E94881D1B
-:103C4000882359F08091E00182FB222720F991E03E
-:103C5000922790FB82F98093E00186EE0E94881DF6
-:103C6000882359F08091E00183FB222720F991E01D
-:103C7000922790FB83F98093E00183EE0E94881DD8
-:103C8000882359F08091E00184FB222720F991E0FC
-:103C9000922790FB84F98093E00185E30E94881DC0
-:103CA000882359F08091E00185FB222720F991E0DB
-:103CB000922790FB85F98093E00181E30E94881DA3
-:103CC000882359F08091E00186FB222720F991E0BA
-:103CD000922790FB86F98093E00181E10E94881D84
-:103CE000882359F08091E00187FB222720F991E099
-:103CF000922790FB87F98093E0018091E0010E9478
-:103D0000FE1E8091E00187FB882780F980930D01DA
-:103D100087E20E94881DC82F8EE10E94881D8111B4
-:103D2000C2608FE10E94881D8111C46080E20E9400
-:103D3000881D8111C86081E20E94881D8111C061C7
-:103D400082E20E94881D8111C06283E20E94881D68
-:103D50008111C06484E20E94881D882311F0C0682C
-:103D600002C0CC2329F08C2F0E94F51E6C2F03C0BB
-:103D70000E94F11E682F70E080E090E0CF910C94DB
-:103D8000E419CF9108956DEE7EEF80E090E00E94FF
-:103D9000372560E082E090E00E94292560E083E022
-:103DA00090E00E94292560E084E090E00E942925AF
-:103DB00060E085E090E00C94292580E090E00E948E
-:103DC000232521E08D3E9E4F09F020E0822F0895AB
-:103DD00082E090E00C941B25682F82E090E00C9428
-:103DE000292583E090E00C941B25682F83E090E068
-:103DF0000C94292584E090E00C941B25682F84E026
-:103E000090E00C9429258091D50180FF0BC0609132
-:103E1000130185E0689FB00111247595679575952C
-:103E200067952BC081FF09C06091130185E0689FF1
-:103E3000B00111247595679520C082FF07C060917D
-:103E4000130185E0689FB001112417C09091D6013D
-:103E50009923D1F060911201961788F720911301F0
-:103E600085E0289F90011124929FA001939F500DFF
-:103E7000112470E0CA010E94ED246038710540F4FD
-:103E80006115710519F406C065E070E0862F08958C
-:103E90008FE7089581E008958091D50180FF08C0E3
-:103EA0006091110170E0759567957595679521C0D2
-:103EB00081FF06C06091110170E07595679519C08A
-:103EC00082FF04C06091110170E010C09091D60192
-:103ED000992399F0609110019617A0F78091110134
-:103EE000899FC001112470E00E94ED2460387105A3
-:103EF00040F46115710519F406C061E070E0862F89
-:103F000008958FE7089581E00895803F21F40E948D
-:103F1000031F819504C0813F29F40E94031F8093F1
-:103F2000D9010895823F21F40E94031F819504C0A6
-:103F3000833F29F40E94031F8093D8010895893F8D
-:103F400019F40E944C1F05C08A3F31F40E944C1F97
-:103F500081958093DA0108958B3F21F40E944C1FD4
-:103F6000819504C08C3F29F40E944C1F8093DB0193
-:103F70000895843F21F48091D701816017C0853F67
-:103F800021F48091D701826011C0863F21F4809195
-:103F9000D70184600BC0873F21F48091D7018860EE
-:103FA00005C0883F31F48091D70180618093D701AB
-:103FB00008958D3F21F48091D50181600BC08E3F23
-:103FC00021F48091D501826005C08F3F29F4809152
-:103FD000D50184608093D5010895803F39F48091A4
-:103FE000D90187FF6CC01092D90169C0813F29F4C3
-:103FF0008091D9011816BCF362C09091D801823F1C
-:1040000029F497FF5CC01092D80159C0833F19F47E
-:104010001916CCF354C0893F41F48091DA01181687
-:104020000CF04DC01092DA014AC08A3F29F4809109
-:10403000DA0187FF44C0F6CF8B3F39F48091DB0172
-:1040400087FF3DC01092DB013AC08C3F29F480917C
-:10405000DB011816BCF333C0843F21F48091D701F3
-:104060008E7F17C0853F21F48091D7018D7F11C0CD
-:10407000863F21F48091D7018B7F0BC0873F21F4CD
-:104080008091D701877F05C0883F31F48091D701A7
-:104090008F7E8093D70113C08D3F21F48091D5018D
-:1040A0008E7F0BC08E3F21F48091D5018D7F05C09E
-:1040B0008F3F29F48091D5018B7F8093D50180912A
-:1040C000D80181110EC08091D90181110AC080915F
-:1040D000DA01811106C08091DB01811102C01092CA
-:1040E000D601089587ED91E00E94DB100E94D91C53
-:1040F0009093D4018093D30108951F93CF93DF93BE
-:104100008091D3019091D4010E94E51CAC01909163
-:10411000D601992321F02091140130E006C02091AE
-:1041200015018AE0289F900111244217530708F4D3
-:1041300085C08091D801C091D901D091DA01109148
-:10414000DB01811107C0C11175C0D11173C01111FC
-:1041500071C074C09F3F19F09F5F9093D6011816ED
-:1041600024F40E94031F8093D8018091D80187FF17
-:1041700005C00E94031F81958093D8011C1624F46A
-:104180000E94031F8093D9018091D90187FF05C048
-:104190000E94031F81958093D9016091D801662305
-:1041A00031F1C091D901CC2311F1062E000C770B0F
-:1041B000880B990B0E94F42323E333E343E35FE38B
-:1041C0000E9458240E94BC236093D8016C2FCC0F0E
-:1041D000770B880B990B0E94F42323E333E343E32B
-:1041E0005FE30E9458240E94BC236093D9011D16EE
-:1041F00024F40E944C1F8093DA018091DA0187FF3A
-:1042000005C00E944C1F81958093DA01111624F499
-:104210000E944C1F8093DB018091DB0187FF05C06A
-:104220000E944C1F81958093DB01DF91CF911F91FC
-:104230000C9472209F3F09F08FCFA0CFDF91CF91D8
-:104240001F910895E7EDF1E085E0DF011D928A9569
-:10425000E9F71092D6011092D5010895833081F1CB
-:1042600028F4813059F08230D1F00895853009F476
-:1042700049C0B8F1863009F456C0089580911501FF
-:10428000262F30E0280F311D2F3F310524F4680F11
-:104290006093150108958FEF809315010895809123
-:1042A0001401262F30E0280F311D2F3F310524F453
-:1042B000680F6093140108958FEF8093140108959F
-:1042C00080911301262F30E0280F311D2F3F31053B
-:1042D00024F4680F6093130108958FEF8093130106
-:1042E000089580911201262F30E0280F311D2F3FB5
-:1042F000310524F4680F6093120108958FEF8093C5
-:104300001201089580911101262F30E0280F311DF0
-:104310002F3F310524F4680F6093110108958FEF4A
-:1043200080931101089580911001262F30E0280F0D
-:10433000311D2F3F310524F4680F6093100108955B
-:104340008FEF809310010895833011F128F48130AC
-:1043500049F0823091F00895853081F120F1863066
-:10436000C1F1089580911501681720F4861B809390
-:104370001501089510921501089580911401681790
-:1043800020F4861B8093140108951092140108955F
-:1043900080911301681720F4861B80931301089500
-:1043A00010921301089580911201681720F4861B62
-:1043B00080931201089510921201089580911101C5
-:1043C000681720F4861B8093110108951092110143
-:1043D000089580911001681720F4861B80931001C6
-:1043E00008951092100108950F931F938D3109F4D1
-:1043F0006BC008F03FC08E3009F47DC0C0F4873038
-:1044000009F46EC068F4863009F0AFC08091CE0127
-:10441000817F8E7F8093CE0181E08093DD01A6C0F5
-:10442000883009F458C08B3009F49BC09EC0863197
-:1044300009F497C078F4803109F470C0813109F033
-:1044400094C00E942D1690910D0181E089278093E0
-:104450000D0187C0893109F484C08B3109F085C012
-:104460008091CE0181FB222720F991E0922790FBD9
-:1044700081F94AC0853309F45BC048F4873209F4F6
-:1044800057C008F45AC0893209F452C06EC0833450
-:1044900038F48A3308F067C0883309F462C065C015
-:1044A000833409F445C0883409F05FC00E942D169A
-:1044B0000FEF13ED20E3015010402040E1F700C062
-:1044C00000000E94341D4DC00E9476230E94C4103B
-:1044D0000E94BA0946C00E94E81E0E94FA1E41C00E
-:1044E0009091CE01892F817090FF12C0917F9E7FA5
-:1044F0009093CE013BC08091CE0182FB222720F910
-:1045000091E0922790FB82F98093CE01992349F1A3
-:104510008091CE0181608093CE0123C08091CE0135
-:1045200083FB222720F991E0922790FB83F9ECCFBF
-:1045300061E070E080E090E010C08D5141E050E01B
-:1045400060E070E08A019B0104C0000F111F221F70
-:10455000331F8A95D2F7C901B8010E94E4190E945D
-:104560002D1681E003C08953E9CF80E01F910F91A0
-:10457000089580E008950C94B922CF93C82F8091BC
-:10458000DD01813079F018F08230E9F187C0E091E7
-:104590000E01F0910F018081813169F0823209F0C2
-:1045A0007FC009C0E0910E01F0910F01808181313F
-:1045B00011F0823261F48C2F0E94BB22811104C061
-:1045C0008C2F0E94F4211DC081E090E01AC08C2F36
-:1045D0000E94B922811114C0C43179F048F4CB3063
-:1045E00079F0C03109F060C082E08093DD0108C03D
-:1045F000C93219F0C83321F057C01092DD0154C000
-:1046000081E0817053C0C93289F118F5C43171F16C
-:10461000A8F4C73009F046C08AE08093150194E100
-:104620009093140193E0909313018093120188E01A
-:104630008093110188E28093100134C0CE51C630BE
-:1046400088F5EC2FF0E0E65DFE4F80818093DC0181
-:1046500029C0CE34E9F020F4CB3421F56AE013C050
-:10466000C13579F0C235F1F461E00DC08091DC0113
-:10467000882319F01092DC0115C081E08093DD01E0
-:1046800015C061E006C08091DC010E942E210AC0A5
-:104690006AE08091DC010E94A42104C01092DD0137
-:1046A00080E004C081E002C080E0ABCFCF910895EC
-:1046B000E1E8F0E080818860808380818160808390
-:1046C0008FB7F89493E09093890090ED90938800D1
-:1046D0008FBF0895EFE6F0E08081826080830895C7
-:1046E000EFE6F0E080818D7F80830895EFE6F0E0D3
-:1046F000908182E08927808308951F920F920FB6E0
-:104700000F9211242F933F934F935F936F937F9357
-:104710008F939F93AF93BF93EF93FF938091DE01AD
-:104720009091DF0101969093DF018093DE0181116A
-:1047300003C082E00E94BA09E091DF01E695E695A8
-:10474000F0E0E156F84FE4918091DE018E1303C052
-:1047500080E00E94BA09FF91EF91BF91AF919F91C4
-:104760008F917F916F915F914F913F912F910F901A
-:104770000FBE0F901F9018950E94C3236894B1112B
-:104780000C94522408950E94372488F09F5798F083
-:10479000B92F9927B751B0F0E1F0660F771F881F46
-:1047A000991F1AF0BA95C9F714C0B13091F00E9460
-:1047B0005124B1E008950C945124672F782F882755
-:1047C000B85F39F0B93FCCF3869577956795B39587
-:1047D000D9F73EF490958095709561957F4F8F4FF6
-:1047E0009F4F0895E89409C097FB3EF490958095FB
-:1047F000709561957F4F8F4F9F4F9923A9F0F92FA7
-:1048000096E9BB279395F695879577956795B79524
-:10481000F111F8CFFAF4BB0F11F460FF1BC06F5F0A
-:104820007F4F8F4F9F4F16C0882311F096E911C01C
-:10483000772321F09EE8872F762F05C0662371F03D
-:1048400096E8862F70E060E02AF09A95660F771F51
-:10485000881FDAF7880F9695879597F9089557FD81
-:104860009058440F551F59F05F3F71F04795880FDE
-:1048700097FB991F61F09F3F79F087950895121675
-:1048800013061406551FF2CF4695F1DF08C0161621
-:1048900017061806991FF1CF8695710561050894D2
-:1048A0000895E894BB2766277727CB0197F90895E9
-:1048B0000E946B240C94DC240E94CE2438F00E94C9
-:1048C000D52420F0952311F00C94C5240C94CB240E
-:1048D00011240C9452240E942F2470F3959FC1F34D
-:1048E000950F50E0551F629FF001729FBB27F00D9E
-:1048F000B11D639FAA27F00DB11DAA1F649F6627F3
-:10490000B00DA11D661F829F2227B00DA11D621F41
-:10491000739FB00DA11D621F839FA00D611D221FFB
-:10492000749F3327A00D611D231F849F600D211DDF
-:10493000822F762F6A2F11249F5750409AF0F1F062
-:1049400088234AF0EE0FFF1FBB1F661F771F881FCB
-:1049500091505040A9F79E3F510580F00C94C5241A
-:104960000C9452245F3FE4F3983ED4F386957795F8
-:104970006795B795F795E7959F5FC1F7FE2B880F71
-:10498000911D9695879597F9089597F99F6780E807
-:1049900070E060E008959FEF80EC089500240A9491
-:1049A0001616170618060906089500240A9412160A
-:1049B0001306140605060895092E0394000C11F43D
-:1049C000882352F0BB0F40F4BF2B11F460FF04C0EA
-:1049D0006F5F7F4F8F4F9F4F089597FB072E16F401
-:1049E000009407D077FD09D00E94072507FC05D069
-:1049F0003EF4909581959F4F0895709561957F4FF6
-:104A00000895EE0FFF1F0590F491E02D0994AA1B65
-:104A1000BB1B51E107C0AA1FBB1FA617B70710F0A9
-:104A2000A61BB70B881F991F5A95A9F780959095DB
-:104A3000BC01CD010895F999FECF92BD81BDF89AD0
-:104A4000992780B50895A8E1B0E042E050E00C94C9
-:104A50003E25262FF999FECF1FBA92BD81BD20BDFC
-:104A60000FB6F894FA9AF99A0FBE019608950E942B
-:104A70002925272F0C942A25DC01CB01FC01F9996B
-:104A8000FECF06C0F2BDE1BDF89A319600B40D929A
-:0C4A900041505040B8F70895F894FFCF53
-:104A9C002002BB094B0A260AF209BE090101BC011E
-:104AAC0028080A03140A3F4D363960071307DD0640
-:104ABC00A4063706500669068206010203040506A1
-:044ACC0007080900CE
-:00000001FF
+:100000000C94FC030C9440040C9440040C944004A5 +:100010000C9440040C9440040C9440040C94400450 +:100020000C9440040C9440040C940E0F0C94E00FBC +:100030000C9440040C9440040C9440040C94400430 +:100040000C9440040C94AA240C9440040C94400496 +:100050000C9440040C94391E0C9440040C944004FD +:100060000C9440040C9440040C9440040C94400400 +:100070000C9440040C9440040C9440040C944004F0 +:100080000C9440040C9440040C9440040C944004E0 +:100090000C9440040C9440040C9440040C944004D0 +:1000A0000C9440040C9440040C944004FF046A0433 +:1000B0001605B804C904E7048204AC04B204A6041B +:1000C000E104BD04C3049A04A00450044D106F1051 +:1000D0005D116F105D11B410D7105D112C113F111F +:1000E0002B142B1468146814AB14E91402170217AC +:1000F0000215021703160316D61602170217ED167D +:1001000002E002E2012E022E02E10002E002E10220 +:10011000E20001E001E101E20002E001E301190275 +:100120001902E30002E00001E00002E002E30164E2 +:1001300002640002E002E30001E001E30001E101EA +:1001400037023702E10138023801E10125022502B8 +:10015000E10002E002E1013102310002E002E100CF +:1001600001E001E10001E10137023702E10138025B +:100170003801E10107020702E100013502350120E3 +:1001800002200002E302E10001E301E10001E101DC +:1001900036023602E10138023801E1012602260268 +:1001A000E10001E10137023702E10138023801E1E3 +:1001B0000126022602E10001E10136023602E101D8 +:1001C00038023801E10125022502E10001E1013791 +:1001D000023702E10138023801E20125022502E27C +:1001E0000001E10137023702E10138023801E10183 +:1001F00030023002E10002E002E20130023000028F +:10020000E002E20001E001E20002E001E301060297 +:100210000602E30002E00001E00029002B00E200FA +:10022000E100358100001E00140004001D7105303E +:100230004D831F001A0016001B0006304C002000E2 +:1002400008000700060052002A00210015000900DE +:10025000190051004A00220017000A0005000000A2 +:1002600002300430E3000000E200000002540430D9 +:10027000E7000000E6000000045423001C000B000F +:10028000110000002E7F240018000D001000500007 +:100290004B0025000C000E0036004F002C002600FD +:1002A00012000F003700E108280027001300330078 +:1002B0003871E1044E002D002F003474E5003081C8 +:1002C00000000100010001000100010000003A00EF +:1002D000350031000100010001003B003502210220 +:1002E000350001004C003C001E02240622020100E1 +:1002F00001003D002D0224022404010001003E0003 +:10030000010037001104000001000100010000009D +:100310000100000001000F3001000000010000009A +:1003200068003F0024062402240400004500400029 +:10033000220425021104310269004100230426022F +:1003400064005000010042003500250452005100B5 +:10035000010043003502260438004F006A004400C3 +:100360001E02310021020100000001000100010015 +:100370000100010000000100010001000100010076 +:1003800001000100F400F200FB0001000100010087 +:10039000F000F100FA00010001000100F500F30097 +:1003A000FC00010001000100F900FA00F600000065 +:1003B0000100010001000000010000000100A80090 +:1003C0000100000001000000010001000100A9007F +:1003D000AA0000000100010001000100010001006D +:1003E0000100010001000100AC000100B6000100A5 +:1003F00001000100AB0050000100010001000100FC +:10040000520051000100AE000100010001004F0048 +:1004100000000100010001000100010000000100D6 +:1004200001000100010001000100010001000100C4 +:1004300001000100010001000100010001000100B4 +:1004400001000100010001000100010001000100A4 +:100450000100010001000000010001000100000096 +:100460000100000001000730010000000100000051 +:10047000010008300E300B300100000001000C308C +:100480000A300D30010001000100010009300100B7 +:100490000100010001000100010001000100010054 +:1004A0000100010001000100010001000100010044 +:1004B0000100010001000100000001000100010035 +:1004C0000100010000000100010001000100010025 +:1004D00001000100010050000100010001000100C5 +:1004E00052005100010001000100010001004F0015 +:1004F00001000100010001000100010001000000F5 +:1005000001000100010000000100000001000100E5 +:10051000010000000100000001003F0052005100F6 +:100520002302000001004000240021001E002700DB +:1005300001004100250022001F0037000100420099 +:100540002600230020003600010043003002300066 +:100550002402270201004400450038000100010088 +:10056000000001000100E1000100E00000000100C6 +:1005700001000100010001003D0001000100010037 +:1005800001000100E0000100010001000100010084 +:100590002C00010001000100010001003C000100ED +:1005A00001000100010000003A000100010000000C +:1005B000010000003B000F300100000001000000BE +:1005C0000100010001000100010000000100010024 +:1005D0000100010001000100010001000100010013 +:1005E0000100010001000100010001000100010003 +:1005F00001000100010001000100010001000100F3 +:100600000100010001000100000016034500720016 +:1006100067006F0044006F007800200045005A001A +:10062000000016034500720067006F0044006F0071 +:100630007800200045005A00000004030904090264 +:100640006D00040100A0FA0904000001030101008B +:10065000092111010001223F000705810308000A5A +:100660000904010001030102000921110100012216 +:100670004D000705820308000A0904020001030077 +:10068000000009211101000122360007058303083B +:10069000000A090403000103000000092111010000 +:1006A0000122390007058403100001120110010026 +:1006B000000008EDFE071301000102000105010919 +:1006C00006A101050719E029E71500250195087520 +:1006D0000181020508190129059505750191029509 +:1006E000017503910105071900297715002501956A +:1006F0007875018102C005010980A10185021601FA +:100700000026B7001A01002AB70075109501810074 +:10071000C0050C0901A1018503160100269C021ADF +:1007200001002A9C02751095018100C00501090293 +:10073000A1010901A10005091901290515002501DB +:100740009505750181029501750381010501093047 +:1007500009311581257F95027508810609381581B3 +:10076000257F950175088106050C0A38021581253B +:100770007F950175088106C0C005010906A1010524 +:100780000719E029E71500250195087501810295F3 +:100790000175088101050819012905950575019163 +:1007A000029501750391010507190029FF15002520 +:1007B000FF950675088100C00000000000000000E1 +:1007C000000000010204060A0F17202C3A4A5D714E +:1007D000879DB3C7DAE9F5FCFFFCF5E9DAC7B39DFD +:1007E00087715D4A3A2C20170F0A060402010000A7 +:1007F000000000000000000011241FBECFEFDAE06F +:10080000DEBFCDBF04B603FE24C08091F0019091FD +:10081000F101A091F201B091F3018730904BA74014 +:10082000B04BB9F41092F0011092F1011092F20164 +:100830001092F30114BE84B7877F84BF88E10FB69E +:10084000F89480936000109260000FBEE0E0FFE338 +:10085000099511E0A0E0B1E0E8EDFCE402C00590EC +:100860000D92A433B107D9F711E0A4E3B1E001C0C0 +:100870001D92A03FB107E1F70E94520C0C946A262A +:100880000C940000462F50E04031510508F0F1C0B3 +:10089000DC01FA01EA5AFF4F12968C910C941F2644 +:1008A000882309F4E6C08091B3019091B401A0912E +:1008B000B501B091B60120E2822780729927AA275C +:1008C000BB278093B3019093B401A093B501B0937B +:1008D000B601CFC0882349F00E94031E90933501D2 +:1008E0008093340187E192E00895809134019091E2 +:1008F00035010E940F1E873991050CF0AEC089E0CA +:1009000092E00895882349F00E94031E90933501D8 +:100910008093340184E092E00895809134019091B5 +:1009200035010E940F1E873991050CF099C086EFA2 +:1009300091E00895882309F49CC081EE91E0089528 +:10094000882309F496C08CEC91E00895882309F47B +:1009500090C087EB91E00895882309F48AC082EA69 +:1009600091E00895882309F484C08DE891E008950A +:10097000811179C083E891E00895882309F479C052 +:100980008AE791E00895882309F473C085E691E031 +:100990000895882349F00E94031E909335018093A7 +:1009A000340180E691E00895809134019091350101 +:1009B0000E940F1E873991050CF058C082E591E026 +:1009C0000895882309F455C08DE391E008958823A4 +:1009D00049F00E94031E909335018093340188E30F +:1009E00091E0089580913401909135010E940F1E8D +:1009F000873991050CF040C08AE291E00895882380 +:100A000049F00E94031E909335018093340187E2E0 +:100A100091E0089580913401909135010E940F1E5C +:100A20008739910564F589E191E00895882349F0BB +:100A30000E94031E909335018093340182E191E07E +:100A4000089580913401909135010E940F1E8739DD +:100A50009105C4F480E091E0089584E192E0089566 +:100A60008FEF91E0089588E891E008958BE591E09B +:100A7000089580E090E0089583E391E0089584E292 +:100A800091E008958BE091E0089508956091B3019D +:100A90007091B4018091B5019091B6010E94651DDD +:100AA00056985E9825982D9826982E9827982F98D6 +:100AB0008330C1F028F4813041F0823049F008954C +:100AC000843049F0853051F00895259A2D9A089583 +:100AD000269A2E9A0895259A2D9A04C0259A2D9A21 +:100AE000269A2E9A279A2F9A08950C94460556987E +:100AF0005E9825982D9826982E9827982F988FEFF6 +:100B000090E0909389008093880090938B0080936D +:100B10008A0090938D0080938C00259A2D9A2FEF58 +:100B200080E792E0215080409040E1F700C0000053 +:100B3000269A2E9A2FEF80E792E021508040904035 +:100B4000E1F700C00000279A2F9A2FEF80E792E08C +:100B5000215080409040E1F700C0000025982D987A +:100B60002FEF80E792E0215080409040E1F700C0F5 +:100B7000000026982E982FEF80E792E021508040C9 +:100B80009040E1F700C0000027982F9856985E9893 +:100B900025982D9826982E9827982F98089589EAB9 +:100BA0008093800089E08093810024982C983F985E +:100BB0008AB18F748AB96E98479A8BB1806B8BB962 +:100BC000769A0E9477050C94450580E28093000197 +:100BD0008091360181110EC00E94340681E080931D +:100BE00036012FEF83ED90E3215080409040E1F7F4 +:100BF00000C0000080E40E943A0680930001811149 +:100C00002EC00E94640680930001811128C00E94BA +:100C1000640680930001811122C08FE30E94640664 +:100C20008093000181111BC00E945C0680E40E9439 +:100C30003A0680930001811112C08CE00E94640684 +:100C40008093000181110BC00E9464068093000113 +:100C5000811105C08FE30E946406809300010E9409 +:100C60005C068091000108951092B9008AE080939B +:100C7000B800089594EA9093BC009091BC0097FF4F +:100C8000FCCF9091B900987F983021F0903111F00D +:100C900081E008958093BB0084E88093BC0080913C +:100CA000BC0087FFFCCF8091B900887F883111F0AC +:100CB000803471F780E0089584E98093BC008091CE +:100CC000BC0084FDFCCF08958093BB0084E8809332 +:100CD000BC008091BC0087FFFCCF9091B900987F49 +:100CE00081E0983209F480E0089584E88093BC00A4 +:100CF0008091BC0087FFFCCF8091BB00089580915C +:100D00000001811115C080E40E943A068093000121 +:100D100081110CC082E10E94640680930001811160 +:100D200005C08FEF0E946406809300010E945C065C +:100D300084B1807F84B985B1807F85B98AB1837F92 +:100D40008AB98BB1837F8BB93E98469808950E94EB +:100D5000E505809300010E947F0680B38C7080BB04 +:100D600081B3836F81BBA8E3B1E0E6E4F1E08EE0FC +:100D70008E0F11921D928E13FCCF0C94CF05BF9253 +:100D8000CF92DF92EF92FF920F931F93CF93DF9357 +:100D900080910001882379F0809137018F5F8093E3 +:100DA0003701811108C00E94E5058093000181117F +:100DB00002C00E94770508E311E0C0E0D0E0DD2426 +:100DC000D39482E0C82EEE24E394F12CC730D105F1 +:100DD00000F580910001811164C080E40E943A0610 +:100DE00080930001811112C082E10E946406809309 +:100DF000000181110BC0C7010C2E01C0880F0A949D +:100E0000EAF780950E946406809300010E945C06C8 +:100E100048C0CA30A1F028F4C83059F0C93061F098 +:100E200005C0CC3089F070F0CD3089F0209A289838 +:100E300010C0219A29980DC0229A2A980AC0239A94 +:100E40002B9807C0529A01C0539A5B9802C03E9AF1 +:100E5000469890EA9A95F1F79FB1799902C082E09D +:100E600001C080E091709D25982B7C9902C084E0A0 +:100E700001C080E0892B7D9902C038E001C030E0DC +:100E8000832B7E9902C020E101C020E0822B9FB11C +:100E90009095991F9927991F9295990F907E892B6C +:100EA0000FC080910001811149C080E40E943A0680 +:100EB00080930001882379F1B12C0E945C068B2D70 +:100EC000F8019081981719F08083C09201010E9467 +:100ED0007F0621960F5F1F4FCE30D10509F076CFE8 +:100EE00080910101882361F1815080930101882361 +:100EF00039F08FE99FE00197F1F700C0000020C0B2 +:100F0000A6E4B1E0E8E3F1E0CF01825F91919D9327 +:100F10008E13FCCF15C083E10E946406809300010C +:100F20008111CACF81E40E943A06809300018111A9 +:100F3000C3CF0E947506B82EB094BFCF80E0C0CF5B +:100F40000E94750581E0DF91CF911F910F91FF9075 +:100F5000EF90DF90CF90BF900895E82FF0E0EA5B2C +:100F6000FE4F808108950895089596E0799FF001DD +:100F7000112494E5899FE00DF11D1124E60FF11D68 +:100F8000EE0FFF1FE65EFD4F859194910895880F47 +:100F9000991FFC01E656FF4F859194910895880FA3 +:100FA000991FFC01E65EFD4F8591949108950F9382 +:100FB0001F93CF93DF93EC018115904350F5C1153A +:100FC00080E2D80708F0B3C0CB3BD10590F4C83A13 +:100FD000D10508F05AC0C53AD10508F04BC0C4305D +:100FE000D10508F0BBC1219709F0B5C101E010E0BF +:100FF000F5C1CF3FD10511F008F0B0C1C03FD10518 +:1010000008F092C0CE01805E9109089708F4A6C14D +:10101000A2C1C11591E5D907A8F4C23020E5D207D5 +:1010200008F09EC0C11580E5D80709F485C008F016 +:1010300091C0C11520E4D20708F08DC1DD278E01D3 +:10104000106CCCC1C11580E8D80758F4C11590E7E1 +:10105000D90708F07CC1C11520E6D20708F422C1E7 +:101060007AC1C11580E9D80708F075C1DF708E011B +:10107000106AB4C1C53AD10509F472C1C63AD105A6 +:1010800009F071C102E810E4A9C1C83AD10509F418 +:101090006DC1C93AD10509F46CC1CA3AD10509F448 +:1010A0006BC1CB3AD10509F46AC1CC3AD10509F438 +:1010B00069C1CD3AD10509F468C1C03BD10509F435 +:1010C00067C1CE3AD10509F466C1CF3AD10509F41A +:1010D00065C1C13BD10509F464C1C23BD10509F426 +:1010E00063C1C33BD10509F462C1C43BD10509F416 +:1010F00061C1C53BD10509F460C1C63BD10509F406 +:101100005FC1C73BD10509F45EC1C83BD10509F4F5 +:101110005DC1C93BD10509F45CC1CA3BD10509F4E5 +:101120005BC100E014E45AC18E01106557C1CE01C5 +:101130009F700E94CF0753C10E9426179FEF24E3A0 +:101140008CE0915020408040E1F700C000000E94F8 +:101150005E1E44C18091CF0181608093CF013EC16A +:101160000E940720811102C00E94ED1F0E942420CE +:1011700090E09093F0018093EF01C23090E5D907A1 +:1011800021F48091EF01816086C0C43020E5D20750 +:1011900021F48091EF0182607EC0C63080E5D807DF +:1011A00021F48091EF01846076C0C83090E5D907C2 +:1011B00019F48091EF0127C0CA3020E5D20721F44D +:1011C0008091EF01806167C0CC3080E5D80721F4C1 +:1011D0008091EF0180625FC0CE3090E5D90721F4A5 +:1011E0008091EF01806457C0C03120E5D20721F41F +:1011F0008091EF0180684FC0C23180E5D80729F4A3 +:101200008091EF018460886046C0C33090E5D907C3 +:1012100021F48091EF018E7F3EC0C53020E5D207DA +:1012200021F48091EF018D7F36C0C73080E5D8076B +:1012300021F48091EF018B7F2EC0C93090E5D90752 +:1012400019F48091EF0126C0CB3020E5D20721F4BC +:101250008091EF018F7E1FC0CD3080E5D80721F44B +:101260008091EF018F7D17C0CF3090E5D90721F431 +:101270008091EF018F7B0FC0C13120E5D20721F4AF +:101280008091EF018F7707C0C331D04531F4809151 +:10129000EF018B7F877F8093EF018091EF010E94A8 +:1012A00028209CC08D2F99278F7099278130910518 +:1012B000D9F49E012370332702C0880F991F2A9505 +:1012C000E2F79C688E0144E0000F111F4A95E1F798 +:1012D00000271370802B912B53E0CC0FDD1F5A9504 +:1012E000E1F7C076DD272FC08230910531F4DC2F85 +:1012F000CC278E01016F106A71C08330910569F4AB +:10130000CE018370992701E010E002C0000F111F89 +:101310008A95E2F7C8019C680FC0049709F05EC087 +:10132000CE018370992701E010E002C0000F111F69 +:101330008A95E2F7C8019A6823E0CC0FDD1F2A9551 +:10134000E1F7C07ED7708C010C2B1D2B47C0DF70DE +:101350008E01106243C000E010E040C08E013EC02C +:1013600001E810E43BC003E810E438C002EE14E4E6 +:1013700035C009EE14E432C00AEE14E42FC005EBC8 +:1013800014E42CC006EB14E429C007EB14E426C0D7 +:101390000CEC14E423C00DEC14E420C003E815E4C5 +:1013A0001DC00AE815E41AC002E915E417C004E9F3 +:1013B00015E414C001E216E411C003E216E40EC005 +:1013C00004E216E40BC005E216E408C006E216E4E7 +:1013D00005C007E216E402C00AE216E4C801DF9184 +:1013E000CF911F910F91089596E0799FF0011124FC +:1013F00094E5899FE00DF11D1124E60FF11DEE0F1C +:10140000FF1FE65EFD4F85919491803E9105E0F4CB +:10141000803C910558F58133910509F46FC048F47B +:101420008932910509F463C08A32910509F46DC0CF +:1014300072C089339105E9F082389105D1F0853386 +:10144000910509F44DC067C0833E910581F138F4E0 +:10145000803E9105B9F0823E9105D9F05CC0863E90 +:10146000910561F1873E9105A1F155C00E94C70722 +:1014700008952091EF0120FD02C021FF4CC080EEB5 +:1014800090E049C08091EF0180FFF9CF89E390E0BF +:1014900042C08091EF0182FF0EC08091EF0184FF76 +:1014A00003C080E090E037C083EE90E034C08091CC +:1014B000EF0182FFF2CF82EE90E02DC08091EF012C +:1014C00083FF0BC08091EF0184FDEBCF87EE90E0AE +:1014D00022C08091EF0183FFF5CF86EE90E01BC024 +:1014E0008091EF0185FF07C089E290E014C08091F0 +:1014F000EF0185FFF9CF85E390E00DC08091EF010A +:1015000086FF07C08AE290E006C08091EF0186FF67 +:10151000F9CF81E390E00E94D707089508950C94D5 +:101520008E0A809164010895CF93DF9300D01F92BB +:10153000CDB7DEB79C018091E601843019F593E0C8 +:1015400099833B832A839093E9008FEF9091E80081 +:10155000815095FD06C095ED9A95F1F70000811137 +:10156000F5CF8091E80085FF0DC040E050E063E0DA +:1015700070E0CE0101960E94FE0C8091E8008E770B +:101580008093E8000F900F900F90DF91CF91089516 +:10159000CF93DF9300D01F92CDB7DEB72091E60145 +:1015A000243021F522E029839B838A8383E0809382 +:1015B000E9008FEF9091E800815095FD06C095ED10 +:1015C0009A95F1F700008111F5CF8091E80085FF31 +:1015D0000DC040E050E063E070E0CE0101960E9453 +:1015E000FE0C8091E8008E778093E8000F900F90BA +:1015F0000F90DF91CF9108952091E6012430F1F40E +:1016000022E02093E9002FEF3091E800215035FDD2 +:1016100006C035ED3A95F1F700002111F5CF209184 +:10162000E80025FF0BC040E050E065E070E00E945C +:10163000FE0C8091E8008E778093E8000895CF93A8 +:10164000DF93EC019091E601943009F046C080915F +:101650000C018823D9F080910D018823B9F0909373 +:10166000E9008FEF9091E800815095FD06C095E16B +:101670009A95F1F700008111F5CF8091E80085FF80 +:101680002CC040E050E060E170E017C081E0809342 +:10169000E9008FEF9091E800815095FD06C095ED2F +:1016A0009A95F1F700008111F5CF8091E80085FF50 +:1016B00014C040E050E068E070E0CE010E94FE0CF3 +:1016C0008091E8008E778093E80080E1FE01A4E538 +:1016D000B1E001900D928A95E1F7DF91CF910895E5 +:1016E0008091E501811109C00E94930E0E94F00EC5 +:1016F0008091E20084608093E20008951092E501F9 +:10170000089508950C9497240E94F41D0E949D242E +:101710000E9496110C948F0A42E061EC81E00E94D5 +:101720000D0E42E061EC82E00E940D0E42E061ECA1 +:1017300083E00E940D0E42E161EC84E00C940D0EFA +:101740008091E801833009F455C030F4813071F0A4 +:10175000823009F48EC008958A3009F47AC08B3043 +:1017600009F460C0893009F09CC020C08091E70175 +:10177000813A09F096C08091E800877F8093E80065 +:101780008091EB019091EC01892B21F460E184E5DB +:1017900091E003C060E080E090E070E00E94490DBD +:1017A0008091E8008B778093E80008958091E701AD +:1017B000813209F076C08091EB019091EC010097A5 +:1017C00019F0039709F06DC08091E800877F80933E +:1017D000E8008091E80082FD05C08091E60181115A +:1017E000F8CF5FC08091F100809364018091E800A0 +:1017F0008B7753C08091E701813A09F052C0809104 +:10180000EB019091EC01892B09F04BC08091E8002D +:10181000877F8093E8008091E80080FFFCCF809173 +:101820000C0136C08091E7018132D9F58091EB013E +:101830009091EC01892BA9F58091E800877F809336 +:10184000E8000E94420E8091E90180930C010C9403 +:1018500026178091E701813221F58091E800877F8A +:101860008093E8000E94420E8091EA018093650116 +:1018700008958091E701813AA1F48091E800877F83 +:101880008093E8008091E80080FFFCCF80916501A3 +:101890008093F1008091E8008E778093E8000C94AB +:1018A000420E089584B7877F84BF88E10FB6F8940D +:1018B00080936000109260000FBE90E080E80FB649 +:1018C000F89480936100909361000FBE0E94E5112F +:1018D0000E94930E0E94F00E8091E200846080933B +:1018E000E20078940E9476110E94E71182E091E074 +:1018F0000E9491110E9485248091E601853069F44F +:101900000E94B51D8091E4018823B1F30E94E01D7F +:10191000882391F30E94E80CEFCF0E94ED11ECCFE9 +:10192000292F332723303105C9F064F421303105E4 +:1019300081F02230310509F043C08DE690E02EE3BE +:1019400036E042C021323105F1F02232310541F159 +:1019500037C082E190E02BEA36E036C0992781302B +:10196000910541F08230910541F0892B49F5EAE378 +:10197000F6E005C0E2E2F6E002C0EAE0F6E08491BB +:1019800090E09F0121C06430D8F4E62FF0E0EE0F24 +:10199000FF1FEE5DFE4F2081318189E090E014C091 +:1019A000643070F470E0FB01EE0FFF1FE65EFE4F47 +:1019B00020813181FB01EA5EFE4F808190E004C00E +:1019C00080E090E020E030E0FA0131832083089548 +:1019D00080E189BD82E189BD09B400FEFDCF80911F +:1019E000D8008F7D8093D8008091E0008260809342 +:1019F000E0008091E00081FDFCCF0895CF92DF925E +:101A0000EF92FF920F931F93CF93DF93EC018B0123 +:101A10006A010E94610E811133C0C114D10439F0F2 +:101A2000F60180819181081B190BC80FD91FE12C89 +:101A3000F12C0115110519F18091E80085FD16C002 +:101A40008091E8008E778093E800C114D10449F0BA +:101A5000F60180819181E80EF91EF182E08285E035 +:101A60000FC00E94610E882321F30AC089918093E0 +:101A7000F10001501109FFEFEF1AFF0ADACF80E001 +:101A8000DF91CF911F910F91FF90EF90DF90CF905A +:101A900008952091ED013091EE012617370748F0A7 +:101AA0006115710539F42091E8002E772093E80044 +:101AB00001C0B90140E061157105A9F12091E6016D +:101AC000222309F443C0253009F442C02091E800E4 +:101AD00023FD40C02091E80022FD32C02091E800A3 +:101AE00020FFE9CF4091F3002091F20030E0342B49 +:101AF000FC01CF016115710559F02830310540F422 +:101B000081918093F100615071092F5F3F4FF1CFB8 +:101B100041E02830310509F040E02091E8002E77BF +:101B20002093E800C8CF4111C9CF0AC08091E601D7 +:101B3000882361F0853061F08091E80083FD0AC060 +:101B40008091E80082FFF2CF80E0089582E008955E +:101B500083E0089581E008952091ED013091EE0138 +:101B60002617370748F06115710539F42091E80010 +:101B70002E772093E80001C0B901FC0120E0611537 +:101B8000710591F18091E601882309F440C0853008 +:101B900009F43FC08091E80083FD3DC08091E800DA +:101BA00082FD2FC08091E80080FFE9CF2091F300F3 +:101BB0008091F20090E0922B6115710559F0883008 +:101BC000910540F424912093F10031966150710900 +:101BD0000196F2CF21E0089709F020E08091E8001B +:101BE0008E778093E800CBCF2111CCCF0AC08091B3 +:101BF000E601882361F0853061F08091E80083FD83 +:101C00000AC08091E80082FFF2CF80E0089582E070 +:101C1000089583E0089581E00895982F973058F54E +:101C20009093E900981739F07091EC002091ED0045 +:101C30005091F00003C0242F762F50E021FF19C0EF +:101C40003091EB003E7F3093EB003091ED003D7F13 +:101C50003093ED003091EB0031603093EB007093E6 +:101C6000EC002093ED005093F0002091EE0027FF50 +:101C700007C09F5FD3CF8F708093E90081E0089504 +:101C800080E008958091E70187FF11C08091E8000E +:101C900082FD05C08091E6018111F8CF11C08091CD +:101CA000E8008B770BC08091E601882349F0809192 +:101CB000E80080FFF8CF8091E8008E778093E800FD +:101CC00008952091E4003091E50095E64091EC0004 +:101CD000842F817040FF22C08091E80080FD1CC0ED +:101CE0008091E601882391F0853091F08091EB009E +:101CF00085FD10C04091E4005091E5004217530764 +:101D000029F39A01915011F784E0089582E0089533 +:101D100083E0089581E0089580E008954091E8000F +:101D200042FFDECF08950E94010F0E94090FE0EEEE +:101D3000F0E0808181608083E8EDF0E080818F7742 +:101D4000808319BCA7EDB0E08C918E7F8C9380814D +:101D50008F7E80831092E50108950F931F93CF9398 +:101D6000DF930E94010F0E94090FC8EDD0E0888127 +:101D70008F77888388818068888388818F7D888336 +:101D800019BC1092E6011092E2011092E401109247 +:101D9000E30100EE10E0F80180818B7F8083888171 +:101DA0008160888342E060E080E00E940D0EE1EEF9 +:101DB000F0E080818E7F8083E2EEF0E080818160C0 +:101DC0008083808188608083F80180818E7F80831A +:101DD000888180618883DF91CF911F910F91089551 +:101DE000E8EDF0E080818F7E8083E7EDF0E0808198 +:101DF0008160808384E082BF81E08093E5010C9460 +:101E0000AD0EE8EDF0E080818E7F80831092E200DD +:101E100008951092DA001092E10008951F920F9237 +:101E20000FB60F9211242F933F934F935F936F93AD +:101E30007F938F939F93AF93BF93EF93FF93809183 +:101E4000E10082FF0BC08091E20082FF07C0809119 +:101E5000E1008B7F8093E1000E9475118091DA0090 +:101E600080FF1FC08091D80080FF1BC08091DA00E6 +:101E70008E7F8093DA008091D90080FF0DC080E1D1 +:101E800089BD82E189BD09B400FEFDCF81E0809368 +:101E9000E6010E94700B05C019BC1092E6010E9479 +:101EA0007E0B8091E10080FF19C08091E20080FFED +:101EB00015C08091E2008E7F8093E2008091E20065 +:101EC00080618093E2008091D80080628093D80086 +:101ED00019BC85E08093E6010E94820B8091E100AD +:101EE00084FF30C08091E20084FF2CC080E189BD76 +:101EF00082E189BD09B400FEFDCF8091D8008F7DBD +:101F00008093D8008091E1008F7E8093E1008091E2 +:101F1000E2008F7E8093E2008091E20081608093F6 +:101F2000E2008091E201882311F084E007C08091F3 +:101F3000E30087FD02C081E001C083E08093E601F9 +:101F40000E94840B8091E10083FF29C08091E20010 +:101F500083FF25C08091E100877F8093E10082E0CC +:101F60008093E6011092E2018091E1008E7F8093E0 +:101F7000E1008091E2008E7F8093E2008091E20098 +:101F800080618093E20042E060E080E00E940D0EFC +:101F90008091F00088608093F0000E94810BFF9197 +:101FA000EF91BF91AF919F918F917F916F915F91D1 +:101FB0004F913F912F910F900FBE0F901F9018954A +:101FC0001F920F920FB60F9211242F933F934F93AE +:101FD0005F936F937F938F939F93AF93BF93CF93B1 +:101FE000DF93EF93FF93C091E900CF708091EC00F5 +:101FF000D82FD17080FDD0E81092E9008091F000D8 +:10200000877F8093F00078940E9424101092E9005A +:102010008091F00088608093F000CD2BCF70C0934A +:10202000E900FF91EF91DF91CF91BF91AF919F9127 +:102030008F917F916F915F914F913F912F910F9071 +:102040000FBE0F901F9018951F93CF93DF93CDB7BE +:10205000DEB7AA970FB6F894DEBF0FBECDBFE7EE8E +:10206000F1E088E08E0F9091F10091938E13FBCFF9 +:102070000E94A00B8091E80083FF1FC18091E701BF +:102080009091E801492F50E04A30510508F015C100 +:10209000FA01EA59FF4F0C941F26803881F08238EC +:1020A00009F00BC18091EB018F708093E900809162 +:1020B000EB0085FB882780F91092E90006C080912B +:1020C000E3019091E401911182609091E800977F83 +:1020D0009093E8008093F1001092F100C8C0282F7F +:1020E0002D7F09F0EAC0882319F0823061F0E5C045 +:1020F0008091E901813009F0E0C0933009F080E07F +:102100008093E4012BC08091E901811127C0809167 +:10211000EB018F7009F4D1C08093E9002091EB00AE +:1021200020FF1CC0933021F48091EB00806214C02A +:102130009091EB0090619093EB0021E030E0A901D9 +:1021400002C0440F551F8A95E2F74093EA001092AF +:10215000EA008091EB0088608093EB001092E90028 +:102160008091E800877F86C08111A7C01091E901A6 +:102170001F778091E3008078812B8093E30080912A +:10218000E800877F8093E8000E94420E8091E8007B +:1021900080FFFCCF8091E30080688093E300111101 +:1021A00002C082E001C083E08093E60186C08058CF +:1021B000823008F082C08091E9019091EA018C3D63 +:1021C00053E0950779F583E08A838AE289834FB7E4 +:1021D000F894DE01139620E03EE051E2E32FF0E0B8 +:1021E00050935700E49120FF03C0E295EF703F5FEA +:1021F000EF708E2F90E0EA3010F0C79601C0C096C5 +:102200008D939D932F5F243149F74FBF8091E80054 +:10221000877F8093E8006AE270E0CE0101960E9419 +:10222000490D14C0AE014F5F5F4F6091EB010E94FA +:10223000900CBC01892B09F440C09091E800977F75 +:102240009093E80089819A810E94AC0D8091E8000A +:102250008B778093E80031C0803879F58091E80071 +:10226000877F8093E8008091E2018093F100809164 +:10227000E8008E778093E8000E94420E1EC0811114 +:102280001CC09091E9019230C0F48091E800877FF2 +:102290008093E8009093E2010E94420E8091E20157 +:1022A000811106C08091E30087FD02C081E001C07A +:1022B00084E08093E6010E948C0B8091E80083FF0C +:1022C0000AC08091E800877F8093E8008091EB004E +:1022D00080628093EB00AA960FB6F894DEBF0FBE23 +:1022E000CDBFDF91CF911F9108950895CF93809135 +:1022F000E6018823A1F0C091E900CF709091EC0035 +:10230000892F817090FD80E8C82B1092E9008091A0 +:10231000E80083FD0E942410CF70C093E900CF91A4 +:10232000089590936B0180936A010895E0916A018A +:10233000F0916B01309721F00190F081E02D09942C +:1023400080E00895E0916A01F0916B01309721F0EF +:102350000280F381E02D09940895E0916A01F091E3 +:102360006B01309721F00480F581E02D09940895E8 +:1023700020916801309169018217930771F0909361 +:10238000690180936801E0916A01F0916B013097D7 +:1023900021F00680F781E02D0994089520916601CF +:1023A000309167018217930771F0909367018093D2 +:1023B0006601E0916A01F0916B01309721F0008491 +:1023C000F185E02D0994089508950C94E4110E947C +:1023D000FA1D0E94A7060C94C01ECF92DF92EF92C6 +:1023E000FF920F931F93CF93DF93CDB7DEB72B9759 +:1023F0000FB6F894DEBF0FBECDBF0E94BF068DE6BC +:10240000C82E81E0D82E00E010E0E02E802F0E9440 +:10241000AD07F60141916F01F42EF826B1F40F5F7C +:102420001F4F0E30110589F78FEF89838A831B8236 +:102430000E94031E8160782F9D838C8349815A817D +:102440006B818D810E94901240C09091CF0191FFCD +:1024500004C08B870E94B3078B8520E030E04F2DAE +:1024600050E0922FBA01022E02C0759567950A942A +:10247000E2F760FF24C02E83EF8221E030E06901A3 +:1024800002C0CC0CDD1C9A95E2F790E08C219D21D6 +:10249000892B09F420E028870E94031E8160782F91 +:1024A0009A8789874E815F8168858A850E9490120C +:1024B000F801E359FE4F8081C826C08206C02F5F15 +:1024C0003F4F2630310569F6AACF0E94A72110910F +:1024D0006C010E9496111817A1F00E94961180932A +:1024E0006C012B960FB6F894DEBF0FBECDBFDF9107 +:1024F000CF911F910F91FF90EF90DF90CF900C94B0 +:102500008F0A2B960FB6F894DEBF0FBECDBFDF91BA +:10251000CF911F910F91FF90EF90DF90CF90089592 +:10252000CF93DF93CDB7DEB72B970FB6F894DEBF0E +:102530000FBECDBF4F83588769877A878B87DE01AF +:10254000119686E0FD0111928A95E9F785E0FE017A +:10255000379601900D928A95E1F749815A816B81F6 +:102560007C818D819E810E94C0192B960FB6F894B4 +:10257000DEBF0FBECDBFDF91CF9108950895CF93F9 +:10258000882309F4C2C0C82F823859F40E949611DA +:1025900081FDBBC089E30E94691C0E94361D89E34E +:1025A0000CC0833879F40E94961180FDAEC083E59B +:1025B0000E94691C0E94361D83E50E94AB1CCF91CE +:1025C0000C94361D843859F40E94961182FD9DC0EA +:1025D00087E40E94691C0E94361D87E4EECF8CEFD1 +:1025E0008C0F813A48F48C2F0E94EA2381118DC010 +:1025F0008C2F0E94691CE3CF80E28C0F883048F456 +:10260000C77081E001C0880FCA95EAF70E94EF1CED +:10261000D6CF8BE58C0F833078F4C53A29F0C63AD3 +:1026200031F083E890E005C081E890E002C082E8E4 +:1026300090E0CF910C94B81188E58C0F833108F0AD +:1026400064C0C83A39F1C93A41F1CA3A49F1CB3AC2 +:1026500051F1CC3A59F1CD3A61F1C03B69F1CE3A32 +:1026600071F1CF3A79F1C13B81F1C23B89F1C33BB2 +:1026700091F1C43B99F1C53BA1F1C63BA9F1C73B20 +:10268000B1F1C83BB9F1C93BC1F1CA3BC9F180E026 +:1026900090E038C082EE90E035C089EE90E032C024 +:1026A0008AEE90E02FC085EB90E02CC086EB90E0A6 +:1026B00029C087EB90E026C08CEC90E023C08DEC25 +:1026C00090E020C083E891E01DC08AE891E01AC044 +:1026D00082E991E017C084E991E014C081E292E0C0 +:1026E00011C083E292E00EC084E292E00BC085E26A +:1026F00092E008C086E292E005C087E292E002C064 +:102700008AE292E0CF910C94CE11CF910895882364 +:1027100009F44BC0823859F40E94961181FF45C0DC +:1027200089E30E94691C0E94361D89E30CC083382E +:1027300071F40E94961180FF38C083E50E94691CE5 +:102740000E94361D83E50E94AB1C0C94361D843814 +:1027500059F40E94961182FF28C087E40E94691CE8 +:102760000E94361D87E4EFCF9CEF980F913A58F303 +:1027700090E2980F983050F4877091E001C0990F63 +:102780008A95EAF7892F0E94F51CDFCF9BE5980F09 +:10279000933020F480E090E00C94B811885A833193 +:1027A00020F480E090E00C94CE110895882321F06D +:1027B0000E94EF1C0C94361D0895882321F00E947E +:1027C000F51C0C94361D0895BF92CF92DF92EF92C4 +:1027D000FF920F931F93CF93DF9300D000D000D0D0 +:1027E000CDB7DEB725E0FC01DE01119601900D9218 +:1027F0002A95E1F7FC01D080118102812581229583 +:102800002F7043815481452B09F4FCC21F3F21F4F2 +:10281000FFEFDF1609F4F6C27C012E830E94BE1280 +:10282000D9821A8369817A81802F0E94651C182FB2 +:10283000B92E0E941A1C0E94E11A2E81002319F061 +:102840000E940C1D2E81EB2DE295EF70F0E0E05917 +:10285000FF4F0C941F268B2D807F9B2D9F70F92E90 +:10286000882319F0F29480EFF822002389F0FF20EA +:1028700009F475C280E2810F883020F48F2D0E9408 +:10288000EF1C03C08F2D0E94FF1C0E94361D67C2E3 +:10289000812F0E948713FF2009F4B4C2105E8F2D90 +:1028A000183018F40E94F51C02C00E94051D2696DF +:1028B0000FB6F894DEBF0FBECDBFDF91CF911F9151 +:1028C0000F91FF90EF90DF90CF90BF900C94361D4A +:1028D0003B2D307F8B2D8F70303211F08295807FB1 +:1028E000112319F0113021F12CC00023B9F022235B +:1028F00009F4A0C1213009F09DC126960FB6F894C5 +:10290000DEBF0FBECDBFDF91CF911F910F91FF9022 +:10291000EF90DF90CF90BF900C941F1D222319F0F1 +:10292000213009F46FC28E830E94221D8E8196C1D0 +:10293000002321F0223008F065C27CC1211162C25F +:102940008DC1002321F0222309F474C108C222237F +:1029500009F484C119C22B2D26952695237030E0E9 +:102960002115310521F021303105D1F04BC2002372 +:1029700021F0812F9B2D937002C080E090E026967D +:102980000FB6F894DEBF0FBECDBFDF91CF911F9180 +:102990000F91FF90EF90DF90CF90BF900C94B81103 +:1029A000002321F0812F9B2D937002C080E090E0E6 +:1029B00026960FB6F894DEBF0FBECDBFDF91CF9144 +:1029C0001F910F91FF90EF90DF90CF90BF900C94EC +:1029D000CE11812F002319F00E94AF2002C00E9467 +:1029E000172126960FB6F894DEBF0FBECDBFDF913C +:1029F000CF911F910F91FF90EF90DF90CF90BF90FC +:102A00000C949C218B2D837009F07BC00111FAC1BD +:102A1000812F829586958770880F880F912F9F70E0 +:102A2000C92ED12CE12CF12C082E04C0CC0CDD1CBD +:102A3000EE1CFF1C0A94D2F714FF12C04FE050E0C6 +:102A400060E070E004C0440F551F661F771F8A9531 +:102A5000D2F7CB01BA01609570958095909503C02F +:102A600060E070E0CB012B2D269526952370422F38 +:102A700050E042305105D9F04330510569F16C29DD +:102A80007D298E299F294130510551F126960FB697 +:102A9000F894DEBF0FBECDBFDF91CF911F910F9194 +:102AA000FF90EF90DF90CF90BF900C94081B6C29A3 +:102AB0007D298E299F2926960FB6F894DEBF0FBE7A +:102AC000CDBFDF91CF911F910F91FF90EF90DF90DD +:102AD000CF90BF900C94241B0E94081BC701B60125 +:102AE00026960FB6F894DEBF0FBECDBFDF91CF9113 +:102AF0001F910F91FF90EF90DF90CF90BF900C94BB +:102B0000EC1A002319F08B2D817001C08695882363 +:102B100009F478C1812F829586958770880F880F78 +:102B2000912F9F70C92ED12CE12CF12C082E04C0BE +:102B3000CC0CDD1CEE1CFF1C0A94D2F714FF12C053 +:102B40004FE050E060E070E004C0440F551F661F86 +:102B5000771F8A95D2F7CB01BA0160957095809561 +:102B6000909503C060E070E0CB012B2D2695269553 +:102B70002370422F50E042305105D9F043305105C7 +:102B800069F16C297D298E299F294130510551F128 +:102B900026960FB6F894DEBF0FBECDBFDF91CF9162 +:102BA0001F910F91FF90EF90DF90CF90BF900C940A +:102BB000E21B6C297D298E299F2926960FB6F89451 +:102BC000DEBF0FBECDBFDF91CF911F910F91FF9060 +:102BD000EF90DF90CF90BF900C94FE1B0E94E21B01 +:102BE000C701B60126960FB6F894DEBF0FBECDBF63 +:102BF000DF91CF911F910F91FF90EF90DF90CF90D9 +:102C0000BF900C94C61B103FD1F118F4103E50F445 +:102C1000A1C0123F09F463C008F44CC0133F09F48B +:102C200073C098C01F708B2D8F710023A1F00E947C +:102C30005F1B812F26960FB6F894DEBF0FBECDBF67 +:102C4000DF91CF911F910F91FF90EF90DF90CF9088 +:102C5000BF900C94D6130E94801B812F26960FB62E +:102C6000F894DEBF0FBECDBFDF91CF911F910F91C2 +:102C7000FF90EF90DF90CF90BF900C94DD13002376 +:102C8000A9F02111BFC08B2D8F7126960FB6F89435 +:102C9000DEBF0FBECDBFDF91CF911F910F91FF908F +:102CA000EF90DF90CF90BF900C94A51B223008F0DE +:102CB000A9C0E9CF0023A9F08B2D8F7126960FB6FE +:102CC000F894DEBF0FBECDBFDF91CF911F910F9162 +:102CD000FF90EF90DF90CF90BF900C945F1B00238C +:102CE00059F38B2D8F7126960FB6F894DEBF0FBE69 +:102CF000CDBFDF91CF911F910F91FF90EF90DF90AB +:102D0000CF90BF900C94801B002399F08B2D8F7176 +:102D100026960FB6F894DEBF0FBECDBFDF91CF91E0 +:102D20001F910F91FF90EF90DF90CF90BF900C9488 +:102D30004A1B26960FB6F894DEBF0FBECDBFDF91BB +:102D4000CF911F910F91FF90EF90DF90CF90BF90A8 +:102D50000C94401B0023A9F0222309F4ADCF812F4E +:102D600026960FB6F894DEBF0FBECDBFDF91CF9190 +:102D70001F910F91FF90EF90DF90CF90BF900C9438 +:102D8000BF12222309F4ADCF812F26960FB6F894F7 +:102D9000DEBF0FBECDBFDF91CF911F910F91FF908E +:102DA000EF90DF90CF90BF900C9487134B2D4F7016 +:102DB000612FC7010E94420426960FB6F894DEBF29 +:102DC0000FBECDBFDF91CF911F910F91FF90EF907C +:102DD000DF90CF90BF900C94641A4B2D4F70612FF1 +:102DE000C70126960FB6F894DEBF0FBECDBFDF91A8 +:102DF000CF911F910F91FF90EF90DF90CF90BF90F8 +:102E00000C94B40726960FB6F894DEBF0FBECDBF64 +:102E1000DF91CF911F910F91FF90EF90DF90CF90B6 +:102E2000BF9008950E940C1D0E941C1D0E94E11C71 +:102E30000E94361D0E944D220E949C2180E090E05D +:102E40000E94B81180E090E00C94CE110E94FC1C0E +:102E50000C9412170E945A1C292F22952F7030E0D3 +:102E60002C3031054CF42A3031056CF422503109F4 +:102E70002230310588F407C02C30310549F02F305D +:102E8000310531F009C0803E48F0803F29F406C08A +:102E900093FB882780F9089580E0089581E00895E4 +:102EA000CF93DF9300D000D01F92CDB7DEB70F9045 +:102EB0000F900F900F900F90DF91CF910895CF93C7 +:102EC000DF9300D000D000D0CDB7DEB726960FB686 +:102ED000F894DEBF0FBECDBFDF91CF9108951F9351 +:102EE000CF93DF93C0917B0116E080917C01C817DE +:102EF00099F0D0E01C9FF0011D9FF00D1124E358C4 +:102F0000FE4F4081518162817381848195810E944D +:102F10005F172196C770E9CFDF91CF911F91089578 +:102F20004091AD015091AE016091AF017091B0013F +:102F30008091B1019091B2010C945F178091B20120 +:102F400082958F7009F054C08091AF01882309F4F5 +:102F50004FC080917B01A0917C016091AD01709187 +:102F6000AE014091B0015091B101B6E08A1709F469 +:102F70003FC090E041155105C1F17F3F11F46F3F13 +:102F8000A1F1B89FF001B99FF00D1124E358FE4F55 +:102F9000218172132AC02081621327C0228121114E +:102FA00024C0238134812417350710F421503109BE +:102FB000241B350B283C3105C0F42091B2012F7041 +:102FC00020612093B20126E0289FF001299FF00D97 +:102FD0001124EE57FE4F80818F70806180838DEACF +:102FE00091E00E94E4130C946F1701968770BECF96 +:102FF0000895CF92DF92EF92FF920F931F93CF939A +:10300000DF93CDB7DEB762970FB6F894DEBF0FBE81 +:10301000CDBF8C0185E0F801DE011D9601900D9277 +:103020008A95E1F7D8014C9111965C91119712960F +:103030006C9112971396CD90DC9014973091AD015E +:103040007091AE018091B0019091B101009709F4A7 +:103050006BC17F3F19F43F3F09F466C1E090AF01B7 +:10306000EE2009F4C0C02091B201C816D90628F09C +:10307000F601E81BF90BCF0104C0809590958C0DEB +:103080009D1DFF24F394883C910578F0F12C207F5E +:1030900009F0C6C07C2DD98AC88A89890E94501738 +:1030A0008DEA91E00E94E413B1C0822F807F09F085 +:1030B00046C0751314C0341312C0611110C02F70B4 +:1030C00020612093B2010E9490178DEA91E00E9446 +:1030D000E4138091B201D80115968C932EC0CD28AF +:1030E00019F15F3F11F44F3FF9F0F62E61111CC04A +:1030F00080917B0120917C0136E0821709F45AC04F +:1031000090E0389FF001399FF00D1124E358FE4FF5 +:103110007181571306C07081471303C0728171110A +:1031200003C001968770E9CFF62E662309F418C113 +:103130008091B20181608093B201F12C11C17513AD +:1031400008C0341306C0611104C08091B201D801D7 +:10315000C3C04D875E878D859E856A8B0E942A1726 +:103160006A898823E1F16623D1F12091B201822F8F +:1031700082958F7090E0029774F08091AD019091EC +:10318000AE0198878F831986DB86CA862C87CE018D +:1031900007960E94E41386E0F801ADEAB1E00190E1 +:1031A0000D928A95E1F70E949E170E949017FF24C6 +:1031B000F394D6C04D875E878D859E850E945A1CEC +:1031C000292F22952F7030E0223031050CF0BCC041 +:1031D0009F7009F0B6C0805E883008F4C1C0C80195 +:1031E0000E94E413E4CFC816D90608F453C0F601D0 +:1031F000E81BF90BCF01883C910508F450C0F12C75 +:103200007C2DD98AC88A89890E945017EDEAF1E09D +:1032100086E0DF011D928A95E9F70E949017A0C011 +:10322000751314C0341312C0611110C08091B20123 +:10323000F8018583C8010E94E41386E0EDEAF1E01D +:10324000DF011D928A95E9F7FE2C8AC04D875E87C3 +:103250008D859E856A8B0E942A176A89882309F4C6 +:10326000BECF662309F4BBCF2091B201822F829595 +:103270008F7090E002970CF48ECF8091AD01909109 +:10328000AE019A8389831B82DD82CC822E83CE019C +:1032900001967FCF809590958C0D9D1DACCFF62E1D +:1032A000662309F49CCF75132EC034132CC02091D3 +:1032B000B20120FD1FC0822F82958F70D9F0D801F6 +:1032C00015962C9315978F3049F08F5F982F929514 +:1032D000907F822F8F70892B15968C93C8010E9446 +:1032E000E41386E0F801ADEAB1E001900D928A9511 +:1032F000E1F793CF86E0F801ADEAB1E001900D92DD +:103300008A95E1F72DC04D875E878D859E850E9449 +:103310002A17811140CF8091B20181608093B20160 +:10332000C8010E94E4131CC0662309F458CF4D87DE +:103330005E878D859E850E942A17882309F44FCFCA +:103340002ACF811148CF0CC0243031050CF047CF73 +:103350009F7009F440CFF8019581907F09F03BCF31 +:103360008F2D62960FB6F894DEBF0FBECDBFDF91F2 +:10337000CF911F910F91FF90EF90DF90CF90089524 +:103380001F93CF93DF93CDB7DEB72C970FB6F8948A +:10339000DEBF0FBECDBF4F83588769877A878B8783 +:1033A0009C87CE0107960E94F917882369F08F81C8 +:1033B00098852A853B85232BF1F19F3F09F063C057 +:1033C0008F3F09F060C037C086E0FE013796DE010E +:1033D000119601900D928A95E1F76F817885EA85C3 +:1033E000FB85309741F17F3F11F46F3F21F1209130 +:1033F0007C0130E0C90101968770992740917B01DB +:1034000050E08417950709F447C069837A83FD83E8 +:10341000EC8396E0929FD001939FB00D1124A358A6 +:10342000BE4FFE01319601900D929A95E1F780937F +:103430007C010E946F1716E080917B0190917C01C6 +:103440008917C1F1189FC001112483589E4F0E9413 +:10345000F917882379F1E0917B011E9FF001112477 +:10346000E358FE4F4081518162817381848195814F +:103470000E945F1780917B0190E0019687709927E9 +:1034800080937B01D9CF4F81588569857A858B855B +:103490009C850E945F17CFCF0E94261710927C0157 +:1034A00010927B01EDEAF1E086E0DF011D928A9542 +:1034B000E9F7C1CF2C960FB6F894DEBF0FBECDBF93 +:1034C000DF91CF911F910895EF92FF920F931F9379 +:1034D000CF93DF938C01892B09F46CC0F12CEE247F +:1034E000E394E8012196F8018491843740F4843014 +:1034F00008F051C0813081F0823019F15BC085370E +:1035000009F444C0A8F19CE7980F903708F052C026 +:103510008F770E94871341C00E5F1F4FFE01C49139 +:1035200080E28C0F883048F4C7708E2D01C0880F60 +:10353000CA95EAF70E940F1D14C08C2F0E94BF127B +:103540002DC00E5F1F4FFE01C49180E28C0F8830AA +:1035500058F4C7708E2D01C0880FCA95EAF70E94F3 +:10356000151D0E94361D1AC08C2F0E94871316C08D +:103570000E5F1F4FFE01C491CC2381F08FE99FE0C5 +:103580000197F1F700C00000C150F6CF0E5F1F4F4A +:10359000FE01F49003C00E94BF128E018F2D88237C +:1035A00009F49FCFEFE9FFE03197F1F700C0000089 +:1035B0008150F5CFDF91CF911F910F91FF90EF9048 +:1035C000089508956093B7017093B8018093B9018D +:1035D0009093BA010C9412170F931F930091B701A7 +:1035E0001091B8012091B9013091BA01DC01CB01F1 +:1035F000802B912BA22BB32B8093B7019093B80112 +:10360000A093B901B093BA011F910F910C941217B6 +:103610000F931F930091B7011091B8012091B90148 +:103620003091BA01DC01CB0180239123A223B32383 +:103630008093B7019093B801A093B901B093BA01F8 +:103640001F910F910C9412170F931F930091B701C4 +:103650001091B8012091B9013091BA01DC01CB0180 +:1036600080279127A227B3278093B7019093B801B1 +:10367000A093B901B093BA011F910F910C94121746 +:103680001092B3011092B4011092B5011092B601DC +:103690000C94121741E050E060E070E004C0440F69 +:1036A000551F661F771F8A95D2F74093B301509339 +:1036B000B4016093B5017093B6010C94121741E008 +:1036C00050E060E070E004C0440F551F661F771F94 +:1036D0008A95D2F78091B3019091B401A091B50180 +:1036E000B091B601482B592B6A2B7B2B4093B30129 +:1036F0005093B4016093B5017093B6010C94121706 +:1037000041E050E060E070E004C0440F551F661FC8 +:10371000771F8A95D2F74095509560957095809166 +:10372000B3019091B401A091B501B091B6014823C5 +:1037300059236A237B234093B3015093B4016093D0 +:10374000B5017093B6010C94121741E050E060E0AF +:1037500070E004C0440F551F661F771F8A95D2F78B +:103760008091B3019091B401A091B501B091B601DF +:10377000482759276A277B274093B3015093B40108 +:103780006093B5017093B6010C9412170F931F93B9 +:103790000091B3011091B4012091B5013091B601AF +:1037A000DC01CB01802B912BA22BB32B8093B30197 +:1037B0009093B401A093B501B093B6011F910F91FE +:1037C0000C9412170F931F930091B3011091B40141 +:1037D0002091B5013091B601DC01CB01802391230A +:1037E000A223B3238093B3019093B401A093B501B6 +:1037F000B093B6011F910F910C9412170F931F9362 +:103800000091B3011091B4012091B5013091B6013E +:10381000DC01CB0180279127A227B3278093B30136 +:103820009093B401A093B501B093B6011F910F918D +:103830000C9412170895CF92DF92EF92FF920F939C +:103840001F93CF93DF938C01C090B701D090B80144 +:10385000E090B901F090BA018091B3019091B40168 +:10386000A091B501B091B601C82AD92AEA2AFB2A4B +:10387000CFE1D0E0D701C6010C2E04C0B695A795C4 +:10388000979587950A94D2F780FF06C0B8018C2FD0 +:103890000E94F409019721F4219760F780E001C0AC +:1038A0008C2FDF91CF911F910F91FF90EF90DF90C0 +:1038B000CF900895CF93DF93EC010E941B1CBE01B3 +:1038C0000E94F409DF91CF910895CB010E945A1C08 +:1038D000089590910C01992321F090910D0191117F +:1038E00009C020910E0130910F01F90132969FEF2E +:1038F00040E01FC0982F9695969596959F3050F56D +:10390000E0910E01F0910F01E90FF11D877021E0A8 +:1039100030E0A90102C0440F551F8A95E2F7CA01A1 +:103920009181892B818308959F3F39F04F5F4E30FD +:1039300041F051915813F8CF0DC05111F7CF942F8A +:10394000F5CF9F3F39F0F901E90FF11D97FDFA9589 +:1039500082830895089590910C01992321F090910C +:103960000D01911109C020910E0130910F01F90153 +:103970003296205F3F4F1FC0982F9695969596954B +:103980009F30F0F4E0910E01F0910F01E90FF11D6D +:10399000877021E030E0A90102C0440F551F8A95CD +:1039A000E2F7CA0180959181892381830895319638 +:1039B000E217F30729F090819813F9CF1082F7CF1F +:1039C000089581E090E0E0910E01F0910F01E80F81 +:1039D000F91F1082019680319105A9F70895909101 +:1039E000CE01892B8093CE01089580959091CE01D0 +:1039F00089238093CE0108951092CE01089590916D +:103A0000CD01892B8093CD01089580959091CD01B2 +:103A100089238093CD0108951092CD01089590914E +:103A2000CC01892B8093CC01089580959091CC0195 +:103A300089238093CC0108951092CC01089580933E +:103A4000BB0108951092BB01089580910E019091E1 +:103A50000F01FC0131969C01205F3F4F80E0919166 +:103A600091118F5FE217F307D1F70895E0910E01EE +:103A7000F0910F018091CE018083E0910E01F091D1 +:103A80000F0190818091CD01892B8083E0910E01FF +:103A9000F0910F0190818091CC01892B80838091DE +:103AA000BB01882361F0E0910E01F0910F0190813C +:103AB000892B80830E94251D81111092BB0180916A +:103AC0000E0190910F010C94A211CF92DF92EF9210 +:103AD000FF926C01EE24FF24C114D104E104F1042F +:103AE00021F0C701B60120E101C020E0C72ED82E89 +:103AF000E92EFF24C114D104E104F10419F0285F78 +:103B0000C701B6016B017C0154E0F694E794D794A9 +:103B1000C7945A95D1F7C114D104E104F10419F006 +:103B20002C5FC701B6016B017C0142E0F694E7947B +:103B3000D794C7944A95D1F7C114D104E104F10494 +:103B400019F02E5FC701B601DC01CB01B695A79530 +:103B500097958795892B8A2B8B2B09F02F5F822FC6 +:103B6000FF90EF90DF90CF9008958091E601843030 +:103B700021F11092D00120E488E190E00FB6F89492 +:103B8000A895809360000FBE2093600080E00E94A3 +:103B90008F0A83B7817F846083BF83B7816083BFCF +:103BA0007894889583B78E7F83BF88E10FB6F894A9 +:103BB00080936000109260000FBE089508950895EC +:103BC000CF930E94DE1D0E94BF060E94DF1DC0E051 +:103BD0008C2F0E94AD07811104C0CF5FCE30C1F79A +:103BE00001C081E0CF9108950E9426170E9496118E +:103BF0000C948F0A82E084BD93E095BD9AEF97BD47 +:103C000080936E0008952FB7F8948091D101909120 +:103C1000D201A091D301B091D4012FBF0895CF92CA +:103C2000DF92EF92FF920F931F932FB7F89440917A +:103C3000D1015091D2016091D3017091D4012FBF75 +:103C40006A017B01EE24FF248C0120E030E0C016E5 +:103C5000D106E206F30610F4415051099A01281BDF +:103C6000390BC9011F910F91FF90EF90DF90CF901A +:103C700008951F920F920FB60F9211248F939F9366 +:103C8000AF93BF938091D1019091D201A091D301C4 +:103C9000B091D4010196A11DB11D8093D1019093E3 +:103CA000D201A093D301B093D401BF91AF919F9162 +:103CB0008F910F900FBE0F901F9018950E94930E3A +:103CC000F8942FEF87EA91E6215080409040E1F789 +:103CD00000C0000087E090EBDC018093F00190933E +:103CE000F101A093F201B093F3019CE088E10FB6DB +:103CF000F894A895809360000FBE90936000FFCF6A +:103D0000EF92FF920F931F93CF93DF93D82FC0E0D2 +:103D10008C2F0E94AD0700E010E0E82EF12CC701C7 +:103D2000002E02C0959587950A94E2F780FD06C0A3 +:103D30000F5F1F4F0630110591F709C0602F7C2FD0 +:103D400080E00E94B507D813F3CF81E004C0CF5FB5 +:103D5000CE30F1F680E0DF91CF911F910F91FF906F +:103D6000EF900895CF93C82F8CE20E94801E882385 +:103D700021F08C2FCF910C94801E80E0CF9108957C +:103D8000CF930E940720811102C00E94ED1FC5E65B +:103D9000C15049F00E94BF068FE39CE90197F1F7FB +:103DA00000C00000F5CF89E20E94B21E811113C14C +:103DB0008AE20E94B21E81110E94ED1F85E00E94DE +:103DC000B21E81110E945E1E0E9412208093CF01BC +:103DD00087E00E94B21E8823A9F18BE10E94B21EE7 +:103DE000882351F08091CF0181FB222720F991E0B7 +:103DF000922790FB81F90EC08EE00E94B21E8823AC +:103E000061F08091CF0182FB222720F991E0922777 +:103E100090FB82F98093CF0115C080E10E94B21E11 +:103E20009091CF01882341F093FB222720F981E074 +:103E3000822780FB93F904C0892F809580FB90F93D +:103E40009093CF018091CF010E9416200E942420E0 +:103E50008093EF0180EE0E94B21E882341F0809192 +:103E6000EF01982F909590FB80F98093EF0189E303 +:103E70000E94B21E882359F08091EF0181FB222716 +:103E800020F991E0922790FB81F98093EF0182EE77 +:103E90000E94B21E882359F08091EF0182FB2227F5 +:103EA00020F991E0922790FB82F98093EF0186EE52 +:103EB0000E94B21E882359F08091EF0183FB2227D4 +:103EC00020F991E0922790FB83F98093EF0183EE34 +:103ED0000E94B21E882359F08091EF0184FB2227B3 +:103EE00020F991E0922790FB84F98093EF0185E31C +:103EF0000E94B21E882359F08091EF0185FB222792 +:103F000020F991E0922790FB85F98093EF0181E3FE +:103F10000E94B21E882359F08091EF0186FB222770 +:103F200020F991E0922790FB86F98093EF0181E1DF +:103F30000E94B21E882359F08091EF0187FB22274F +:103F400020F991E0922790FB87F98093EF0180910F +:103F5000EF010E9428208091EF0187FB882780F9DC +:103F600080930D0187E20E94B21EC82F8EE10E944D +:103F7000B21E8111C2608FE10E94B21E8111C46025 +:103F800080E20E94B21E8111C86081E20E94B21ECE +:103F90008111C06182E20E94B21E8111C06283E27F +:103FA0000E94B21E8111C06484E20E94B21E882366 +:103FB00011F0C06802C0CC2329F08C2F0E941F2072 +:103FC0006C2F03C00E941B20682F70E080E090E0FF +:103FD000CF910C94E21ACF9108956DEE7EEF80E0C0 +:103FE00090E00E94552660E082E090E00E94472623 +:103FF00060E083E090E00E94472660E084E090E08B +:104000000E94472660E085E090E00C94472680E01F +:1040100090E00E94412621E08D3E9E4F09F020E075 +:10402000822F089582E090E00C943926682F82E078 +:1040300090E00C94472683E090E00C943926682F9A +:1040400083E090E00C94472684E090E00C943926BD +:10405000682F84E090E00C9447268091D70180FF80 +:104060000BC06091130185E0689FB0011124759524 +:104070006795759567952BC081FF09C06091130105 +:1040800085E0689FB00111247595679520C082FF77 +:1040900007C06091130185E0689FB001112417C02B +:1040A0009091D8019923D1F060911201961788F769 +:1040B0002091130185E0289F90011124929FA00177 +:1040C000939F500D112470E0CA010E940B266038A6 +:1040D000710540F46115710539F002C065E070E0CA +:1040E000862F08958FE7089581E008958091D70184 +:1040F00080FF08C06091110170E075956795759516 +:10410000679521C081FF06C06091110170E075952F +:10411000679519C082FF04C06091110170E010C062 +:104120009091D8019923C1F0609110019617A0F7E2 +:1041300080911101899FC001112470E00E940B261B +:104140006038710528F46115710521F0862F0895F6 +:104150008FE7089581E0089561E070E0F4CF803F3B +:1041600021F40E942D20819504C0813F29F40E94F2 +:104170002D208093DB010895823F21F40E942D20A1 +:10418000819504C0833F29F40E942D208093DA0199 +:104190000895893F19F40E94762005C08A3F31F4C2 +:1041A0000E94762081958093DC0108958B3F21F455 +:1041B0000E947620819504C08C3F29F40E947620CD +:1041C0008093DD010895843F21F48091D9018160BD +:1041D00017C0853F21F48091D901826011C0863FCC +:1041E00021F48091D90184600BC0873F21F4809134 +:1041F000D901886005C0883F31F48091D901806180 +:104200008093D90108958D3F21F48091D701816079 +:104210000BC08E3F21F48091D701826005C08F3F93 +:1042200029F48091D70184608093D7010895803F5D +:1042300039F48091DB0187FF6CC01092DB0169C00B +:10424000813F29F48091DB011816BCF362C0909184 +:10425000DA01823F29F497FF5CC01092DA0159C05D +:10426000833F19F41916CCF354C0893F41F480916F +:10427000DC0118160CF04DC01092DC014AC08A3FD8 +:1042800029F48091DC0187FF44C0F6CF8B3F39F4DD +:104290008091DD0187FF3DC01092DD013AC08C3F67 +:1042A00029F48091DD011816BCF333C0843F21F45A +:1042B0008091D9018E7F17C0853F21F48091D9016B +:1042C0008D7F11C0863F21F48091D9018B7F0BC077 +:1042D000873F21F48091D901877F05C0883F31F461 +:1042E0008091D9018F7E8093D90113C08D3F21F435 +:1042F0008091D7018E7F0BC08E3F21F48091D70132 +:104300008D7F05C08F3F29F48091D7018B7F8093EB +:10431000D7018091DA0181110EC08091DB018111FA +:104320000AC08091DC01811106C08091DD018111FC +:1043300002C01092D801089589ED91E00E94AD115C +:104340000E94031E9093D6018093D50108951F9378 +:10435000CF93DF938091D5019091D6010E940F1EDB +:10436000AC019091D801992321F02091140130E003 +:1043700006C0209115018AE0289F90011124421760 +:10438000530708F486C08091DA01C091DB01D09117 +:10439000DC011091DD01811107C0C11176C0D1117E +:1043A00074C0111172C075C09F3F19F09F5F909348 +:1043B000D801181624F40E942D208093DA018091F0 +:1043C000DA0187FF05C00E942D2081958093DA01D4 +:1043D0001C1624F40E942D208093DB018091DB01C8 +:1043E00087FF05C00E942D2081958093DB0160919D +:1043F000DA01662339F1C091DB01CC2319F177276B +:1044000067FD7095872F972F0E941C2523E333E3C8 +:1044100043E35FE30E9480250E94E9246093DA0170 +:104420006C2F772767FD7095872F972F0E941C258B +:1044300023E333E343E35FE30E9480250E94E92402 +:104440006093DB011D1624F40E9476208093DC012A +:104450008091DC0187FF05C00E94762081958093C2 +:10446000DC01111624F40E9476208093DD018091F6 +:10447000DD0187FF05C00E94762081958093DD01D4 +:10448000DF91CF911F910C949C219F3F09F08ECF1B +:1044900096CFDF91CF911F910895E9EDF1E085E08E +:1044A000DF011D928A95E9F71092D8011092D70189 +:1044B0000895833081F128F4813059F08230D1F0B1 +:1044C0000895853009F449C0B8F1863009F456C022 +:1044D000089580911501262F30E0280F311D2F3FC0 +:1044E000310524F4680F6093150108958FEF8093D0 +:1044F0001501089580911401262F30E0280F311DF9 +:104500002F3F310524F4680F6093140108958FEF55 +:1045100080931401089580911301262F30E0280F15 +:10452000311D2F3F310524F4680F60931301089566 +:104530008FEF80931301089580911201262F30E0B0 +:10454000280F311D2F3F310524F4680F60931201AD +:1045500008958FEF80931201089580911101262F05 +:1045600030E0280F311D2F3F310524F4680F609390 +:10457000110108958FEF809311010895809110012A +:10458000262F30E0280F311D2F3F310524F4680F0E +:104590006093100108958FEF809310010895833088 +:1045A00011F128F4813049F0823091F0089585307E +:1045B00081F120F18630C1F10895809115016817CD +:1045C00020F4861B8093150108951092150108951B +:1045D00080911401681720F4861B809314010895BC +:1045E00010921401089580911301681720F4861B1E +:1045F0008093130108951092130108958091120180 +:10460000681720F4861B80931201089510921201FE +:10461000089580911101681720F4861B8093110181 +:10462000089510921101089580911001681720F4E7 +:10463000861B8093100108951092100108950F9326 +:104640001F938D3109F46BC008F03FC08E3009F420 +:104650007FC0C0F4873009F469C068F4863009F07F +:10466000B1C08091CF01817F8E7F8093CF0181E0A7 +:104670008093DF01A8C0883009F4A2C08B3009F410 +:104680009FC0A0C0863109F49BC078F4803109F442 +:1046900072C0813109F096C00E94261790910D01D9 +:1046A00081E0892780930D018BC0893109F488C08E +:1046B0008B3109F087C08091CF0181FB222720F93F +:1046C00091E0922790FB81F94CC0853309F470C0CA +:1046D00048F4873209F46CC008F459C0893209F4EF +:1046E00067C070C0833438F48A3308F04EC0883312 +:1046F00009F466C067C0833409F45AC0883409F0ED +:1047000061C00E9426170FEF13ED20E30150104007 +:104710002040E1F700C000000E945E1E51C00E94D0 +:10472000A3240E9496110E948F0A4AC09091CF0143 +:10473000892F8095817080FB90F929F096609860B0 +:104740009093CF0140C0997F977F9093CF0138C05D +:104750008091CF0182FB222720F991E0922790FBE4 +:1047600082F98093CF01992359F18091CF01816023 +:104770008093CF0125C08091CF0183FB222720F9B0 +:1047800091E0922790FB83F9ECCF895301C08D51C2 +:1047900041E050E060E070E08A019B0104C0000F3E +:1047A000111F221F331F8A95D2F7C901B80104C017 +:1047B00061E070E080E090E00E94E21A0E9426171B +:1047C00081E001C080E01F910F91089580E008957D +:1047D00080E00895CF93C82F8091DF01813079F078 +:1047E00018F08230E9F187C0E0910E01F0910F01DD +:1047F0008081813169F0823209F07FC009C0E09187 +:104800000E01F0910F018081813111F0823261F44B +:104810008C2F0E94E623811104C08C2F0E941F233D +:104820001DC081E090E01AC08C2F0E94E823811106 +:1048300014C0C43179F048F4CB3079F0C03109F0BC +:1048400060C082E08093DF0108C0C93219F0C8332C +:1048500021F057C01092DF0154C081E0817053C035 +:10486000C93289F118F5C43171F1A8F4C73009F0E3 +:1048700046C08AE08093150194E19093140193E07F +:10488000909313018093120188E08093110188E2D4 +:104890008093100134C0CE51C63088F5EC2FF0E083 +:1048A000E65DFE4F80818093DE0129C0CE34E9F0C1 +:1048B00020F4CB3421F56AE013C0C13579F0C2355C +:1048C000F1F461E00DC08091DE01882319F01092AF +:1048D000DE0115C081E08093DF0115C061E006C0F4 +:1048E0008091DE010E9459220AC06AE08091DE01B7 +:1048F0000E94CF2204C01092DF0180E004C081E05A +:1049000002C080E0ABCFCF910895E1E8F0E0808174 +:10491000886080838081816080838FB7F89493E082 +:104920009093890090ED909388008FBF0895EFE6F3 +:10493000F0E08081826080830895EFE6F0E080817E +:104940008D7F80830895EFE6F0E0908182E08927F3 +:10495000808308951F920F920FB60F9211242F9308 +:104960003F934F935F936F937F938F939F93AF93F7 +:10497000BF93EF93FF938091E0019091E101019645 +:104980009093E1018093E001811103C082E00E94D5 +:104990008F0AE091E101E695E695F0E0E854F84FE2 +:1049A000E4918091E0018E1303C080E00E948F0AA1 +:1049B000FF91EF91BF91AF919F918F917F916F91F7 +:1049C0005F914F913F912F910F900FBE0F901F90CD +:1049D000189504D06894B1118DC0089570D088F0F6 +:1049E0009F5790F0B92F9927B751A0F0D1F0660FDB +:1049F000771F881F991F1AF0BA95C9F712C0B130F6 +:104A000081F077D0B1E0089574C0672F782F8827A0 +:104A1000B85F39F0B93FCCF3869577956795B39534 +:104A2000D9F73EF490958095709561957F4F8F4FA3 +:104A30009F4F0895E89409C097FB3EF490958095A8 +:104A4000709561957F4F8F4F9F4F9923A9F0F92F54 +:104A500096E9BB279395F695879577956795B795D2 +:104A6000F111F8CFFAF4BB0F11F460FF1BC06F5FB8 +:104A70007F4F8F4F9F4F16C0882311F096E911C0CA +:104A8000772321F09EE8872F762F05C0662371F0EB +:104A900096E8862F70E060E02AF09A95660F771FFF +:104AA000881FDAF7880F9695879597F9089557FD2F +:104AB0009058440F551F59F05F3F71F04795880F8C +:104AC00097FB991F61F09F3F79F087950895121623 +:104AD00013061406551FF2CF4695F1DF08C01616CF +:104AE00017061806991FF1CF869571056105089480 +:104AF0000895E894BB2766277727CB0197F9089597 +:104B00000BD078C069D028F06ED018F0952309F04A +:104B10005AC05FC01124EECFCADFA0F3959FD1F336 +:104B2000950F50E0551F629FF001729FBB27F00D5B +:104B3000B11D639FAA27F00DB11DAA1F649F6627B0 +:104B4000B00DA11D661F829F2227B00DA11D621FFF +:104B5000739FB00DA11D621F839FA00D611D221FB9 +:104B6000749F3327A00D611D231F849F600D211D9D +:104B7000822F762F6A2F11249F5750408AF0E1F040 +:104B800088234AF0EE0FFF1FBB1F661F771F881F89 +:104B900091505040A9F79E3F510570F014C0AACF24 +:104BA0005F3FECF3983EDCF3869577956795B79574 +:104BB000F795E7959F5FC1F7FE2B880F911D96959E +:104BC000879597F9089597F99F6780E870E060E00E +:104BD00008959FEF80EC089500240A941616170696 +:104BE00018060906089500240A94121613061406DE +:104BF00005060895092E0394000C11F4882352F041 +:104C0000BB0F40F4BF2B11F460FF04C06F5F7F4FF8 +:104C10008F4F9F4F089597FB072E16F4009407D0EF +:104C200077FD09D00E94252607FC05D03EF490951B +:104C300081959F4F0895709561957F4F0895EE0F70 +:104C4000FF1F0590F491E02D0994AA1BBB1B51E1B5 +:104C500007C0AA1FBB1FA617B70710F0A61BB70BEC +:104C6000881F991F5A95A9F780959095BC01CD0191 +:104C70000895F999FECF92BD81BDF89A992780B524 +:104C80000895A8E1B0E042E050E00C945C26262FA5 +:104C9000F999FECF1FBA92BD81BD20BD0FB6F89421 +:104CA000FA9AF99A0FBE019608950E944726272F77 +:104CB0000C944826DC01CB01FC01F999FECF06C01B +:104CC000F2BDE1BDF89A319600B40D9241505040CA +:084CD000B8F70895F894FFCF36 +:104CD8002002910A1F0BFC0AC80A940A0101BC01B0 +:104CE80028080A03140A3F4D363979072C07F606B7 +:104CF800BD065006690682069B06010203040506E6 +:044D0800070809008F +:00000001FF diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png b/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png Binary files differindex 1d5226974f..d442a992c8 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png diff --git a/keyboard/ergodox_ez/keymaps/osx_de/readme.md b/keyboard/ergodox_ez/keymaps/osx_de/readme.md index 44d7a334e9..5011a9dd62 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/readme.md +++ b/keyboard/ergodox_ez/keymaps/osx_de/readme.md @@ -11,6 +11,12 @@ Dies ist nur ein kleiner Tweak der bestehenden firmware für das ErgoDox-EZ-Keyb - der Zehnerblock wurde in eine eigene Layer umgezogen - die Meh und Hyper-Tasten wurden in die Daumenblöcke umgezogen +# Erstellt Mit Dem ErgodoxLayoutGenerator + +Der ErgodoxLayoutGenerator ist ein kleines Werkzeug, welches die Erstellung und Pflege der eigenen Keymaps erleichtern soll. Es ist in java geschrieben und kann [hier](https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases) heruntergeladen werden. Damit das Tool funktioniert sollte das offizielle Oracle JDK in aktueller Version installiert sein. +Die Dokumentation für den ELG kann man [hier](https://boesebeck.name/2016/04/16/ergodoxlayoutgenerator-documentation/) nachlesen (momentan leider nur in Englisch verfügbar). + + ------------------------------ @@ -26,3 +32,10 @@ This is only a little tweak of the existing default layout for the ErgoDox keyb - the symbollayer now has only symbols - the number block was moved to a special layer - meh and hyper went down to the thumb block + +# Created Using the ErgodoxLayoutGenerator + +The ErgodoxLayoutGenerator (ELG) is a little tool, which makes the creation and maintenance of keycaps a lot easier. It was written in Java and can be downloaded [here](https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases). To use the tool, you need to have a current version of Oracles JDK installed. + +The documentation of the ELG can be viewed [here](https://boesebeck.name/2016/04/16/ergodoxlayoutgenerator-documentation/). + diff --git a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c index 70ac8f01f2..72ed195eb7 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c @@ -1,229 +1,153 @@ -// Netable differences vs. the default firmware for the ErgoDox EZ: -// 1. The Cmd key is now on the right side, making Cmd+Space easier. -// 2. The media keys work on OSX (But not on Windows). #include "ergodox_ez.h" #include "debug.h" #include "action_layer.h" +#include "keymap_extras/keymap_french.h" +#include "keymap_extras/keymap_neo2.h" +#include "keymap_extras/keymap_uk.h" +#include "keymap_extras/keymap_colemak.h" +#include "keymap_extras/keymap_french_osx.h" +#include "keymap_extras/keymap_nordic.h" +#include "keymap_extras/keymap_dvorak.h" #include "keymap_extras/keymap_german.h" +#include "keymap_extras/keymap_norwegian.c" +#include "keymap_extras/keymap_fr_ch.h" +#include "keymap_extras/keymap_german_osx.h" +#include "keymap_extras/keymap_spanish.h" +#include "keymap_extras/keymap_bepo.h" -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define MDIA 2 // media keys -#define ADNW 3 // media keys -#define NUMB 4 // number keys - +#define BASE 0 +#define SYMB 1 +#define MDIA 2 +#define QWERTZ 3 +#define NUMB 4 +#define UNUSED 0 +//Layout keymap.c generated with ErgodoxLayoutGenerator V1.0BETA1 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* - -/* Keymap 0: ADNW-Koy layer - * ADNW-Koy is a special layout designed to be ergonomic. Was created using software to determine the most ergonomic way to type German and English texts. - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | TAB | K | . | O | , | Y | CMD | | CMD | V | G | C | L | ß | Z | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | ADNW | H | A | E | I | U |------| |------| D | T | R | N | S | F/L2 | - * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| - * | LShift |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M |J/Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |</L1| ^ |AltShf| Left | Right| | Up | Down | CMD-SHIFT | ´ | //L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | L1 | LGui | | Alt |Ctrl/Esc| - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Enter | Space| - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_TRNS, - KC_TRNS, KC_H, KC_A, KC_E, KC_I, KC_U, - KC_TRNS, CTL_T(KC_X),KC_Q, DE_AE, DE_UE, DE_OE, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, - KC_TRNS, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y, - KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F), - KC_TRNS, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -/* Keymap 1: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | ! | ? | | | | | \ | [ | ] | | | # | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | ? | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | . | ! | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = KEYMAP( - // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_GRV,LSFT(KC_GRV),DE_EXLM,DE_QST,KC_TRNS,KC_TRNS, - KC_TRNS,DE_HASH,DE_DLR, LALT(LSFT(KC_7)),DE_SLSH,KC_DOT, - KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,LALT(KC_7),LALT(KC_N),KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_DEL,KC_TRNS, - // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, - DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, - KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, - KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -/* Keymap 2: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | Play | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MUTE, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, - KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), -/* Keymap 3: qwertz layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | ADNW | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/L2 | - * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| - * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,---------------. - * | MDIA | Meh | | Hyper| NUM | - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Back-| Del |------| |------| Enter | Space| - * | Space| | End | | PgDn | | | - * `--------------------' `----------------------' - */ - -[BASE] = KEYMAP( // layer 3 : default qwertz layout - // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V), - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI, - TG(3), KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, - LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - TG(2), MEH_T(LSFT(DE_ACUT)), - KC_HOME, - KC_BSPC,KC_DEL,KC_END, - // right hand - LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE, - KC_H, KC_J, KC_K, KC_L, KC_SCLN,LT(MDIA,DE_AE), - KC_RALT,KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN,LGUI(KC_LSFT),KC_RBRC, LT(SYMB,KC_BSLS), - ALL_T(DE_ACUT), TG(4), - KC_PGUP, - KC_PGDN,KC_ENT, KC_SPC - ), -//numblock -KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS, - KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, - KC_0,KC_DOT, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), +[BASE]=KEYMAP( +//left half + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL, + KC_TAB, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_LGUI, + TG(QWERTZ), KC_H, KC_A, KC_E, KC_I, KC_U, + KC_LSFT, CTL_T(KC_X), KC_Q, DE_AE, DE_UE, DE_OE, KC_LALT, + LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT, KC_RGHT, + TG(MDIA), MEH_T(LSFT(DE_ACUT)), + KC_HOME, + KC_BSPC, KC_DEL, KC_END, + //right half + KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, DE_OSX_MINS, + KC_RGUI, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y, + KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F), + KC_RALT, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_RSFT, + KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), + ALL_T(DE_ACUT), TG(NUMB), + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC), +[SYMB]=KEYMAP( +//left half + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS, KC_GRV, LSFT(KC_GRV), DE_EXLM, DE_QST, KC_TRNS, KC_TRNS, + KC_TRNS, DE_HASH, DE_DLR, LALT(LSFT(KC_7)), DE_SLSH, KC_DOT, + KC_TRNS, KC_TRNS, DE_LESS, DE_PERC, LALT(KC_7), LALT(KC_N), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_DEL, KC_TRNS, + //right half + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, + DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, + KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, + KC_TRNS, KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), +[MDIA]=KEYMAP( +//left half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + //right half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MUTE, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, + KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK), +[QWERTZ]=KEYMAP( +//left half + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V), + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI, + KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, + LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT, KC_RGHT, + KC_TRNS, MEH_T(LSFT(DE_ACUT)), + KC_HOME, + KC_BSPC, KC_DEL, KC_END, + //right half + LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(MDIA,DE_AE), + KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), + ALL_T(DE_ACUT), KC_TRNS, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC), +[NUMB]=KEYMAP( +//left half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + //right half + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS, + KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, + KC_0, KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols) - [2] = ACTION_LAYER_TAP_TOGGLE(ADNW) // FN2 - Momentary Layer 2 (ADNW) + }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - // MACRODOWN only works in this function - switch(id) { - case 0: +static uint16_t start; +switch(id) { +case UNUSED: +//Macro: UNUSED//----------------------- + + + + + if (record->event.pressed) { register_code(KC_RSFT); } else { unregister_code(KC_RSFT); } - break; - } - return MACRO_NONE; + + + +break; +} +return MACRO_NONE; }; // Runs just one time when the keyboard initializes. @@ -234,31 +158,18 @@ 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) { - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - case 3: - ergodox_right_led_3_on(); - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - //ergodox_board_led_on(); - break; - default: - // none - break; - } +default: +// none +break; +} }; + diff --git a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy.hex b/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy.hex index 56448283d2..f574150e34 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy.hex +++ b/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy.hex @@ -1,1122 +1,1171 @@ -:100000000C9466020C94AD020C94AD020C94AD02FB
-:100010000C94AD020C94AD020C94AD020C94AD02A4
-:100020000C94AD020C94AD020C94CF0B0C94A10C6B
-:100030000C94AD020C94AD020C94AD020C94AD0284
-:100040000C94AD020C9415210C94AD020C94AD02ED
-:100050000C94AD020C94A71A0C94AD020C94AD0252
-:100060000C94AD020C94AD020C94AD020C94AD0254
-:100070000C94AD020C94AD020C94AD020C94AD0244
-:100080000C94AD020C94AD020C94AD020C94AD0234
-:100090000C94AD020C94AD020C94AD020C94AD0224
-:1000A0000C94AD020C94AD020C94AD020E0D300D0B
-:1000B000230E300D230E750D980D230EED0D000E41
-:1000C000EA10EA10191119115C119611A313A31368
-:1000D000AF11A313A412A4127713A313A3138E13A7
-:1000E0000000F0A1F0A329002B000354E1003581AA
-:1000F00000001E00140004001D7164004D001F006C
-:100100001A0016001B00E1044C0020000800070044
-:10011000060050002A0021001500090019004F00B8
-:100120004A00220017000A000500000002541908C6
-:10013000E3000000E20000002E770608E700000060
-:10014000E60000002E7F23001C000B0011000000C1
-:100150000454240018000D00100052004B0025002C
-:100160000C000E00360051002C00260012000F007B
-:100170003700E108280027001300330038713000F1
-:100180004E002D002F003482E50031810000010077
-:100190000100010001000100000001000100010058
-:1001A00001000100010001000100500001000100F8
-:1001B0000100010052005100010001000100010096
-:1001C00001004F00010001000100010001000100D9
-:1001D000010000000100010001000000010000001A
-:1001E00001000100010000000100000001003F00CB
-:1001F00052005100230200000100400024002100B1
-:100200001E00270001004100250022001F003700CA
-:1002100001004200260023002000270001004300C7
-:100220003002300024022E0001004400450001008D
-:1002300001000100000001000100010001000100B7
-:100240000000010001000100FB00010001000100AD
-:100250000100F200F900010001000100F000F100CE
-:10026000FA00F400010001000100F300FC00F500B9
-:100270000100010001000100F60000000100010082
-:100280000100000001000000010001000100000069
-:100290000100000001000100010001000100000058
-:1002A0000100010001000100A800A90001000100F7
-:1002B00001000100AC00AA00B6000100010001002D
-:1002C000AB0050000100010001000100520051008C
-:1002D0000100AE000100010001004F000000160304
-:1002E0004500720067006F0044006F007800200036
-:1002F00045005A00000016034500720067006F00B9
-:1003000044006F007800200045005A0000000403FC
-:10031000090409026D00040100A0FA0904000001AB
-:1003200003010100092111010001223F000705819D
-:100330000308000A09040100010301020009211158
-:10034000010001224D000705820308000A0904028A
-:1003500000010300000009211101000122360007FD
-:1003600005830308000A09040300010300000009D3
-:100370002111010001223900070584031000011238
-:1003800001100100000008EDFE071301000102004A
-:100390000105010906A101050719E029E715002556
-:1003A0000195087501810205081901290595057552
-:1003B000019102950175039101050719002977152F
-:1003C000002501957875018102C005010980A10110
-:1003D000850216010026B7001A01002AB700751021
-:1003E00095018100C0050C0901A1018503160100DA
-:1003F000269C021A01002A9C02751095018100C0FA
-:1004000005010902A1010901A10005091901290538
-:10041000150025019505750181029501750381017E
-:100420000501093009311581257F9502750881067E
-:1004300009381581257F950175088106050C0A3854
-:10044000021581257F950175088106C0C005010947
-:1004500006A101050719E029E71500250195087592
-:100460000181029501750881010508190129059589
-:100470000575019102950175039101050719002980
-:10048000FF150025FF950675088100C000000000DB
-:1004900000000000000000010204060A0F17202CD3
-:1004A0003A4A5D71879DB3C7DAE9F5FCFFFCF5E9CF
-:1004B000DAC7B39D87715D4A3A2C20170F0A0604EC
-:1004C00002010000000000000000000011241FBE17
-:1004D000CFEFDAE0DEBFCDBF04B603FE27C08091C8
-:1004E000ED019091EE01A091EF01B091F001873004
-:1004F000904BA740B04BD1F41092ED011092EE0159
-:100500001092EF011092F00114BE84B7877F84BF70
-:100510000FB6F894A8958091600088618093600080
-:10052000109260000FBEE0E0FFE3099511E0A0E04B
-:10053000B1E0ECECF5E402C005900D92A433B107F4
-:10054000D9F721E0A4E3B1E001C01D92AD3EB207AE
-:10055000E1F70E9416090C94E4220C94000061114A
-:100560000BC0FC018281882321F085EE0E94840F5C
-:1005700003C085EE0E944C1080E090E0089508953D
-:100580006091B1017091B2018091B3019091B40179
-:100590000E94D41956985E9825982D9826982E98E2
-:1005A00027982F98823061F018F4813031F0089547
-:1005B000833059F0843039F00895259A2D9A0895A2
-:1005C000269A2E9A0895259A2D9A279A2F9A089559
-:1005D0000C94C00256985E9825982D9826982E98CF
-:1005E00027982F988FEF90E0909389008093880050
-:1005F00090938B0080938A0090938D0080938C0061
-:10060000259A2D9A2FEF80E792E02150804090406C
-:10061000E1F700C00000269A2E9A2FEF80E792E0C3
-:10062000215080409040E1F700C00000279A2F9AA7
-:100630002FEF80E792E0215080409040E1F700C02A
-:10064000000025982D982FEF80E792E02150804000
-:100650009040E1F700C0000026982E982FEF80E729
-:1006600092E0215080409040E1F700C000002798C0
-:100670002F9856985E9825982D9826982E9827980A
-:100680002F98089589EA8093800089E08093810003
-:1006900024982C983F988AB18F748AB96E98479A9B
-:1006A0008BB1806B8BB9769A0E94EA020C94BF02E0
-:1006B00080E2809300018091340181110EC00E947C
-:1006C000A70381E0809334012FEF83ED90E3215065
-:1006D00080409040E1F700C0000080E40E94AD033C
-:1006E0008093000181112EC00E94D70380930001E6
-:1006F000811128C00E94D70380930001811122C07C
-:100700008FE30E94D7038093000181111BC00E94D8
-:10071000CF0380E40E94AD0380930001811112C0D9
-:100720008CE00E94D7038093000181110BC00E94CE
-:10073000D70380930001811105C08FE30E94D70386
-:10074000809300010E94CF038091000108951092D0
-:10075000B9008AE08093B800089594EA9093BC00B1
-:100760009091BC0097FFFCCF9091B900987F983092
-:1007700021F0903111F081E008958093BB0084E86E
-:100780008093BC008091BC0087FFFCCF8091B900B2
-:10079000887F883111F0803471F780E0089584E912
-:1007A0008093BC008091BC0084FDFCCF08958093B1
-:1007B000BB0084E88093BC008091BC0087FFFCCF25
-:1007C0009091B900987F81E0983209F480E0089513
-:1007D00084E88093BC008091BC0087FFFCCF8091AF
-:1007E000BB00089580910001811115C080E40E9432
-:1007F000AD038093000181110CC082E10E94D703F8
-:1008000080930001811105C08FEF0E94D703809370
-:1008100000010E94CF0384B1807F84B985B1807FBD
-:1008200085B98AB1837F8AB98BB1837F8BB93E98B2
-:10083000469808950E945803809300010E94F20395
-:1008400080B38C7080BB81B3836F81BBE4E4F1E043
-:10085000A6E3B1E011921D9281E0E235F807D1F7ED
-:100860000C9442039F92AF92BF92CF92DF92EF928D
-:10087000FF920F931F93CF93DF9380910001882302
-:1008800079F0809135018F5F80933501811108C027
-:100890000E94580380930001811102C00E94EA0265
-:1008A00086E3E82E81E0F82E8701C0E0D0E0BB248B
-:1008B000B39492E0A92ECC24C394D12CC730D10597
-:1008C00000F580910001811164C080E40E94AD03B5
-:1008D00080930001811112C082E10E94D7038093AE
-:1008E000000181110BC0C6010C2E01C0880F0A94B3
-:1008F000EAF780950E94D703809300010E94CF03FE
-:1009000048C0CA30A1F028F4C83059F0C93061F0AD
-:1009100005C0CC3089F070F0CD3089F0209A28984D
-:1009200010C0219A29980DC0229A2A980AC0239AA9
-:100930002B9807C0529A01C0539A5B9802C03E9A06
-:100940004698E0EAEA95F1F78FB181708B257999A5
-:1009500002C032E001C030E0832B7C9902C034E059
-:1009600001C030E0832B7D9902C028E001C020E067
-:10097000822B7E9902C090E101C090E0892B9FB14B
-:100980009095991F9927991F9295990F907E892B81
-:100990000FC08091000181114AC080E40E94AD0324
-:1009A00080930001882381F1912C0E94CF03892D2F
-:1009B000D8019C91981719F08C93A09201010E9484
-:1009C000F20321960F5F1F4FCE30D10509F076CF8D
-:1009D00080910101882369F181508093010188236E
-:1009E00039F0EFE9FFE03197F1F700C0000021C0D6
-:1009F000E4E4F1E0D7018D917D018193B4E4EB163D
-:100A0000B1E0FB06B9F715C083E10E94D7038093DC
-:100A100000018111C9CF81E40E94AD0380930001E0
-:100A20008111C2CF0E94E803982E9094BECF80E03F
-:100A3000BFCF0E94E80281E0DF91CF911F910F911B
-:100A4000FF90EF90DF90CF90BF90AF909F90089570
-:100A5000E82FF0E0EC5BFE4F8081089508958B3B1A
-:100A6000910580F4883A910548F5853A9105D8F4C6
-:100A70008430910508F0B2C0019709F06EC081E0A2
-:100A800090E00895803E910508F467C0883E910586
-:100A900008F4A4C09C01205F31092031310508F021
-:100AA0005CC090650895853A910509F459C0863A6D
-:100AB000910509F058C082E890E40895883A9105BC
-:100AC00009F454C0893A910509F453C08A3A910552
-:100AD00009F452C08B3A910509F451C08C3A910542
-:100AE00009F450C08D3A910509F44FC0803B91053F
-:100AF00009F44EC08E3A910509F44DC08F3A910524
-:100B000009F44CC0813B910509F44BC0823B91052F
-:100B100009F44AC0833B910509F449C0843B91051F
-:100B200009F448C0853B910509F447C0863B91050F
-:100B300009F446C0873B910509F445C0883B9105FF
-:100B400009F444C0893B910509F443C08A3B9105EF
-:100B500009F442C080E094E4089580E090E00895B4
-:100B600081E890E4089583E890E4089582EE94E4A7
-:100B7000089589EE94E408958AEE94E4089585EB4F
-:100B800094E4089586EB94E4089587EB94E4089543
-:100B90008CEC94E408958DEC94E4089583E895E456
-:100BA00008958AE895E4089582E995E4089584E932
-:100BB00095E4089581E296E4089583E296E4089529
-:100BC00084E296E4089585E296E4089586E296E448
-:100BD000089587E296E408958AE296E408950895D8
-:100BE00024E5829FC0011124FC0126E0729FE00DE4
-:100BF000F11D1124E60FF11DEE0FFF1FEA51FF4F0B
-:100C0000859194910895880F991FFC01E05AF04056
-:100C1000859194910895880F991FFC01E052FF4F30
-:100C200085919491089524E5829FC0011124FC01CF
-:100C300046E0749FE00DF11D1124E60FF11DEE0F4B
-:100C4000FF1FEA51FF4F859194919C013A95211520
-:100C50004FE1340708F425C13F512115304120F4FC
-:100C60009F700E940B0608959C013053211530415E
-:100C700018F49927906C0895811520E5920769F47E
-:100C80000E94C5134FEF84E39CE0415080409040A8
-:100C9000E1F700C000000C94CC1A813020E59207E7
-:100CA00031F48091CC0181608093CC0108959C0146
-:100CB00030552115304108F05CC0292F33272F70A3
-:100CC000332721303105E9F4AC0164E0440F551FAE
-:100CD0006A95E1F744275370BC016370772702C01F
-:100CE000220F331F6A95E2F73C68242B352B73E003
-:100CF000880F991F7A95E1F780769927822B932B9D
-:100D000008952230310529F4982F8827816F906A41
-:100D1000089523303105A1F4AC0133E0440F551F91
-:100D20003A95E1F7407E57708370992721E030E0D3
-:100D300002C0220F331F8A95E2F7C9019C6816C0D2
-:100D40002430310531F5AC0123E0440F551F2A95BD
-:100D5000E1F7407E57708370992721E030E002C0B0
-:100D6000220F331F8A95E2F7C9019A68842B952BCD
-:100D700008959C0130572115304118F49F709062FE
-:100D800008959C0130582115304118F49F70906AE5
-:100D90000895803E9105E0F4803C910558F581333B
-:100DA000910509F46FC048F48932910509F463C0D4
-:100DB0008A32910509F46DC072C089339105E9F05A
-:100DC00082389105D1F08533910509F44DC067C093
-:100DD000833E910581F138F4803E9105B9F0823E61
-:100DE0009105D9F05CC0863E910561F1873E910581
-:100DF000A1F155C00E94030608952091DE0120FD57
-:100E000002C021FF4CC080EE90E049C08091DE011D
-:100E100080FFF9CF89E390E042C08091DE0182FF3C
-:100E20000EC08091DE0184FF03C080E090E037C0F7
-:100E300083EE90E034C08091DE0182FFF2CF82EE3B
-:100E400090E02DC08091DE0183FF0BC08091DE0118
-:100E500084FDEBCF87EE90E022C08091DE0183FF1E
-:100E6000F5CF86EE90E01BC08091DE0185FF07C0C4
-:100E700089E290E014C08091DE0185FFF9CF85E31F
-:100E800090E00DC08091DE0186FF07C08AE290E00D
-:100E900006C08091DE0186FFF9CF81E390E00E94D9
-:100EA0002F0508950895809162010895CF93DF93EF
-:100EB00000D01F92CDB7DEB79C018091E401843051
-:100EC00019F593E099833B832A839093E9008FEF90
-:100ED0009091E800815095FD06C095ED9A95F1F747
-:100EE00000008111F5CF8091E80085FF0DC040E042
-:100EF00050E063E070E0CE0101960E94C30980914A
-:100F0000E8008E778093E8000F900F900F90DF91AC
-:100F1000CF910895CF93DF9300D01F92CDB7DEB766
-:100F20002091E401243021F522E029839B838A83E8
-:100F300083E08093E9008FEF9091E800815095FD68
-:100F400006C095ED9A95F1F700008111F5CF8091DB
-:100F5000E80085FF0DC040E050E063E070E0CE01A6
-:100F600001960E94C3098091E8008E778093E80083
-:100F70000F900F900F90DF91CF9108959C01809179
-:100F8000E4018430F9F482E08093E9009FEF8091DE
-:100F9000E800915085FD06C085ED8A95F1F70000C7
-:100FA0009111F5CF8091E80085FF0CC040E050E042
-:100FB00065E070E0C9010E94C3098091E8008E7766
-:100FC0008093E8000895CF93DF93EC018091E401D2
-:100FD000843009F046C090910C019923D9F090918A
-:100FE0000D019923B9F08093E9008FEF9091E8000B
-:100FF000815095FD06C095E19A95F1F700008111A9
-:10100000F5CF8091E80085FF2CC040E050E060E122
-:1010100070E017C081E08093E9008FEF9091E800C5
-:10102000815095FD06C095ED9A95F1F7000081116C
-:10103000F5CF8091E80085FF14C040E050E068E003
-:1010400070E0CE010E94C3098091E8008E77809302
-:10105000E80080E1FE01A2E5B1E001900D928A95E1
-:10106000E1F7DF91CF9108958091E301811109C0EB
-:101070000E94540B0E94B10B8091E2008460809327
-:10108000E20008951092E301089508950C9402215E
-:101090000E94621A0E9408210E945C0E0C94520762
-:1010A00042E061EC81E00E94CD0A42E061EC82E026
-:1010B0000E94CD0A42E061EC83E00E94CD0A42E149
-:1010C00061EC84E00C94CD0A8091E601833009F450
-:1010D00055C030F4813071F0823009F48EC008952B
-:1010E0008A3009F47AC08B3009F460C0893009F085
-:1010F0009CC020C08091E501813A09F096C08091A2
-:10110000E800877F8093E8008091E9019091EA01EF
-:10111000892B21F460E182E591E003C060E080E08A
-:1011200090E070E00E940E0A8091E8008B77809337
-:10113000E80008958091E501813209F076C0809140
-:10114000E9019091EA01009719F0039709F06DC049
-:101150008091E800877F8093E8008091E80082FD1D
-:1011600005C08091E4018111F8CF5FC08091F1004A
-:10117000809362018091E8008B7753C08091E501F4
-:10118000813A09F052C08091E9019091EA01892BDE
-:1011900009F04BC08091E800877F8093E800809140
-:1011A000E80080FFFCCF80910C0136C08091E50102
-:1011B0008132D9F58091E9019091EA01892BA9F555
-:1011C0008091E800877F8093E8000E94020B809165
-:1011D000E70180930C010C94C5138091E5018132E5
-:1011E00021F58091E800877F8093E8000E94020B40
-:1011F0008091E8018093630108958091E501813A2F
-:10120000A1F48091E800877F8093E8008091E80056
-:1012100080FFFCCF809163018093F1008091E80012
-:101220008E778093E8000C94020B089584B7877F33
-:1012300084BF0FB6F894A895809160008861809370
-:101240006000109260000FBE90E080E80FB6F89446
-:1012500080936100909361000FBE0E94AB0E0E94CC
-:10126000540B0E94B10B8091E20084608093E200F5
-:1012700078940E943C0E0E94AD0E82E091E00E94A4
-:10128000570E0E94F0208091E401853069F40E949D
-:10129000241A8091E2018823B1F30E944E1A882318
-:1012A00091F30E94AD09EFCF0E94B30EECCF292F2E
-:1012B000332723303105C9F060F42130310581F046
-:1012C0002230310509F041C08DE690E022E133E0A3
-:1012D00040C021323105E1F02232310531F135C013
-:1012E00082E190E02FE733E034C099278130910507
-:1012F00049F028F0029749F5EEEDF2E005C0EEE086
-:10130000F3E002C0E6EFF2E0849190E09F0121C09B
-:101310006430D8F4E62FF0E0EE0FFF1FEE5DFE4FD5
-:101320002081318189E090E014C0643070F470E075
-:10133000FB01EE0FFF1FE65EFE4F20813181FB01B6
-:10134000EA5EFE4F808190E004C080E090E020E003
-:1013500030E0FA0131832083089580E189BD82E184
-:1013600089BD09B400FEFDCF8091D8008F7D8093A8
-:10137000D8008091E00082608093E0008091E000DE
-:1013800081FDFCCF0895CF92DF92EF92FF920F93F1
-:101390001F93CF93DF93EC018B016A010E94210B15
-:1013A000811133C0C114D10439F0F60180819181DB
-:1013B000081B190BC80FD91FE12CF12C01151105C1
-:1013C00019F18091E80085FD16C08091E8008E77C4
-:1013D0008093E800C114D10449F0F6018081918125
-:1013E000E80EF91EF182E08285E00FC00E94210B19
-:1013F000882321F30AC089918093F10001501109DB
-:10140000FFEFEF1AFF0ADACF80E0DF91CF911F9153
-:101410000F91FF90EF90DF90CF9008952091EB0116
-:101420003091EC012617370748F06115710539F442
-:101430002091E8002E772093E80001C0B901FC015B
-:1014400020E06115710579F18091E4018823F1F1C3
-:101450008530F1F18091E80083FD3CC08091E80087
-:1014600082FD2EC08091E80080FFEBCF2091F30039
-:101470008091F20090E0922B6115710551F0883057
-:10148000910538F421912093F10061507109019682
-:10149000F3CF21E0089709F020E08091E8008E77F3
-:1014A0008093E800CECF2111CFCF0AC08091E40114
-:1014B000882361F0853061F08091E80083FD0AC0E7
-:1014C0008091E80082FFF2CF80E0089582E00895E5
-:1014D00083E0089581E008952091EB013091EC01C3
-:1014E0002617370748F06115710539F42091E80097
-:1014F0002E772093E80001C0B901FC0120E06115BE
-:10150000710591F18091E401882309F440C0853090
-:1015100009F43FC08091E80083FD3DC08091E80060
-:1015200082FD2FC08091E80080FFE9CF2091F30079
-:101530008091F20090E0922B6115710559F088308E
-:10154000910540F424912093F10031966150710986
-:101550000196F2CF21E0089709F020E08091E800A1
-:101560008E778093E800CBCF2111CCCF0AC0809139
-:10157000E401882361F0853061F08091E80083FD0B
-:101580000AC08091E80082FFF2CF80E0089582E0F7
-:10159000089583E0089581E00895982F973068F5C5
-:1015A0009093E900981739F07091EC002091ED00CC
-:1015B0005091F00003C0242F762F50E021FD02C08F
-:1015C0009F5FECCF3091EB003E7F3093EB0030918A
-:1015D000ED003D7F3093ED003091EB0031603093B2
-:1015E000EB007093EC002093ED005093F0002091FD
-:1015F000EE0027FDE5CF80E008958F708093E9002D
-:1016000081E008958091E50187FF11C08091E80095
-:1016100082FD05C08091E4018111F8CF11C0809155
-:10162000E8008B770BC08091E401882349F080911A
-:10163000E80080FFF8CF8091E8008E778093E80083
-:1016400008952091E4003091E50095E64091EC008A
-:10165000842F817040FF23C08091E80080FD1DC071
-:101660008091E401882399F0853099F08091EB0016
-:1016700085FD11C04091E4005091E5002417350725
-:1016800029F3915011F09A01E1CF84E0089582E0AE
-:10169000089583E0089581E0089580E008954091E1
-:1016A000E80042FFDDCF08950E94C20B0E94CA0BE2
-:1016B000E0EEF0E0808181608083E8EDF0E0808101
-:1016C0008F77808319BCA7EDB0E08C918E7F8C93CF
-:1016D00080818F7E80831092E30108950F931F9382
-:1016E000CF93DF930E94C20B0E94CA0BC8EDD0E0DB
-:1016F00088818F77888388818068888388818F7DBF
-:10170000888319BC1092E4011092E0011092E2016A
-:101710001092E10100EE10E0F80180818B7F808360
-:1017200088818160888342E060E080E00E94CD0A89
-:10173000E1EEF0E080818E7F8083E2EEF0E0808158
-:1017400081608083808188608083F80180818E7FC2
-:101750008083888180618883DF91CF911F910F9171
-:101760000895E8EDF0E080818F7E8083E7EDF0E082
-:1017700080818160808384E082BF81E08093E30187
-:101780000C946E0BE8EDF0E080818E7F80831092E8
-:10179000E20008951092DA001092E10008951F927D
-:1017A0000F920FB60F9211242F933F934F935F9395
-:1017B0006F937F938F939F93AF93BF93EF93FF9319
-:1017C0008091E10082FF0BC08091E20082FF07C0A0
-:1017D0008091E1008B7F8093E1000E943B0E80911D
-:1017E000DA0080FF1FC08091D80080FF1BC080916D
-:1017F000DA008E7F8093DA008091D90080FF0DC0DF
-:1018000080E189BD82E189BD09B400FEFDCF81E0A0
-:101810008093E4010E94340805C019BC1092E401D1
-:101820000E9442088091E10080FF19C08091E2008F
-:1018300080FF15C08091E2008E7F8093E20080914E
-:10184000E20080618093E2008091D8008062809302
-:10185000D80019BC85E08093E4010E94460880917D
-:10186000E10084FF30C08091E20084FF2CC080E161
-:1018700089BD82E189BD09B400FEFDCF8091D80009
-:101880008F7D8093D8008091E1008F7E8093E1006E
-:101890008091E2008F7E8093E2008091E20081607F
-:1018A0008093E2008091E001882311F084E007C07A
-:1018B0008091E30087FD02C081E001C083E0809356
-:1018C000E4010E9448088091E10083FF29C08091D3
-:1018D000E20083FF25C08091E100877F8093E100D3
-:1018E00082E08093E4011092E0018091E1008E7F1C
-:1018F0008093E1008091E2008E7F8093E2008091EE
-:10190000E20080618093E20042E060E080E00E94BB
-:10191000CD0A8091F00088608093F0000E94450815
-:10192000FF91EF91BF91AF919F918F917F916F91B7
-:101930005F914F913F912F910F900FBE0F901F908D
-:1019400018951F920F920FB60F9211242F933F9369
-:101950004F935F936F937F938F939F93AF93BF93B7
-:10196000CF93DF93EF93FF93C091E900CF70809105
-:10197000EC00D82FD17080FDD0E81092E900809162
-:10198000F000877F8093F00078940E94E50C10921D
-:10199000E9008091F00088608093F000CD2BCF703B
-:1019A000C093E900FF91EF91DF91CF91BF91AF918B
-:1019B0009F918F917F916F915F914F913F912F9167
-:1019C0000F900FBE0F901F9018951F93CF93DF932A
-:1019D000CDB7DEB7AA970FB6F894DEBF0FBECDBF66
-:1019E000E5EEF1E08091F100819321E0ED3EF20718
-:1019F000C9F70E9464088091E80083FF24C18091A8
-:101A0000E5019091E601492F50E04A30510508F078
-:101A10001AC1FA01EA5AFF4F0C949922803881F0DA
-:101A2000823809F010C18091E9018F708093E9003C
-:101A30008091EB0085FB882780F91092E90006C0B1
-:101A40008091E1019091E201911182609091E80012
-:101A5000977F9093E8008093F1001092F100C8C046
-:101A6000282F2D7F09F0EFC0882319F0823061F014
-:101A7000EAC08091E701813009F0E5C0933009F0B8
-:101A800080E08093E2012BC08091E701811127C0A3
-:101A90008091E9018F7009F4D6C08093E90020910C
-:101AA000EB0020FF1CC0933021F48091EB0080629A
-:101AB00014C09091EB0090619093EB0021E030E036
-:101AC000A90102C0440F551F8A95E2F74093EA002E
-:101AD0001092EA008091EB0088608093EB001092F6
-:101AE000E9008091E800877F86C08111ACC0109129
-:101AF000E7011F778091E3008078812B8093E300DA
-:101B00008091E800877F8093E8000E94020B80911B
-:101B1000E80080FFFCCF8091E30080688093E300C1
-:101B2000111102C082E001C083E08093E4018BC008
-:101B30008058823008F087C08091E7019091E801D9
-:101B40008C3D53E0950779F583E08A838AE28983A7
-:101B50004FB7F894DE01139620E03EE051E2E32F08
-:101B6000F0E050935700E49120FF03C0E295EF703E
-:101B70003F5FEF708E2F90E0EA3010F0C79601C003
-:101B8000C0968D939D932F5F243149F74FBF80916D
-:101B9000E800877F8093E8006AE270E0CE0101965A
-:101BA0000E940E0A14C0AE014F5F5F4F6091E901C1
-:101BB0000E945709BC01892B09F445C09091E800A7
-:101BC000977F9093E80089819A810E946C0A8091A6
-:101BD000E8008B778093E80036C08038A1F58091CB
-:101BE000E800877F8093E8008091E0018093F10016
-:101BF0008091E8008E778093E8000E94020B23C05A
-:101C0000811121C08091E7019091E8019927029705
-:101C1000D4F48091E800877F8093E8008091E70109
-:101C20008093E0010E94020B8091E001811106C0C7
-:101C30008091E30087FD02C081E001C084E08093D1
-:101C4000E4010E9450088091E80083FF0AC080915F
-:101C5000E800877F8093E8008091EB0080628093AA
-:101C6000EB00AA960FB6F894DEBF0FBECDBFDF9192
-:101C7000CF911F9108950895CF938091E401882317
-:101C8000A1F0C091E900CF709091EC00892F817094
-:101C900090FD80E8C82B1092E9008091E80083FD58
-:101CA0000E94E50CCF70C093E900CF910895909306
-:101CB0006901809368010895E0916801F0916901DC
-:101CC000309721F00190F081E02D099480E0089593
-:101CD000E0916801F0916901309721F00280F38171
-:101CE000E02D09940895E0916801F0916901309721
-:101CF00021F00480F581E02D09940895209166017A
-:101D0000309167012817390771F09093670180932C
-:101D10006601E0916801F0916901309721F0068039
-:101D2000F781E02D099408952091640130916501B7
-:101D30002817390771F09093650180936401E09151
-:101D40006801F0916901309721F00084F185E02D60
-:101D50000994089508950C94AA0E0E94681A0E948E
-:101D60001A040C942E1BCF92DF92EF92FF920F93E6
-:101D70001F93CF93DF93CDB7DEB72B970FB6F894B1
-:101D8000DEBF0FBECDBF0E9432048BE6C82E81E0BD
-:101D9000D82E00E010E0E02E802F0E942805F601EA
-:101DA00041916F01F82EF426B1F40F5F1F4F0E30F2
-:101DB000110589F78FEF89838A831B820E94711A2C
-:101DC0008160782F9D838C8349815A816B818D81BD
-:101DD0000E94560F40C09091CC0191FF04C08B87A8
-:101DE0000E942E058B8520E030E04F2D50E0922F91
-:101DF000BA01022E02C0759567950A94E2F760FF5A
-:101E000024C02E83EF8221E030E0690102C0CC0CB7
-:101E1000DD1C9A95E2F790E08C219D21892B09F435
-:101E200020E028870E94711A8160782F9A8789871D
-:101E30004E815F8168858A850E94560FF801E559B9
-:101E4000FE4F8081C826C08206C02F5F3F4F2630DC
-:101E5000310569F6AACF0E94151E0E945C0E909172
-:101E60006A018917A1F00E945C0E80936A012B968B
-:101E70000FB6F894DEBF0FBECDBFDF91CF911F919B
-:101E80000F91FF90EF90DF90CF900C9452072B961C
-:101E90000FB6F894DEBF0FBECDBFDF91CF911F917B
-:101EA0000F91FF90EF90DF90CF900895CF93DF9345
-:101EB000CDB7DEB72B970FB6F894DEBF0FBECDBF00
-:101EC0004F83588769877A878B87DE01119686E072
-:101ED000FD0111928A95E9F785E0FE0137960190A0
-:101EE0000D928A95E1F749815A816B817C818D81C0
-:101EF0009E810E9459162B960FB6F894DEBF0FBE36
-:101F0000CDBFDF91CF910895CF93C82F882309F4D7
-:101F1000C1C0823859F40E945C0E81FDBBC089E3C8
-:101F20000E94F6180E94AE1989E30CC0833879F438
-:101F30000E945C0E80FDAEC083E50E94F6180E94F0
-:101F4000AE1983E50E943519CF910C94AE198438EF
-:101F500059F40E945C0E82FD9DC087E40E94F61831
-:101F60000E94AE1987E4EECF8CEF8C0F813A48F4D3
-:101F70008C2F0E94552081118DC08C2F0E94F61845
-:101F8000E3CF80E28C0F883048F4C77081E001C055
-:101F9000880FCA95EAF70E947719D6CF8BE58C0F88
-:101FA000833078F4C53A29F0C63A31F083E890E0FE
-:101FB00005C081E890E002C082E890E0CF910C94E7
-:101FC0007E0E88E58C0F833108F064C0C83A39F181
-:101FD000C93A41F1CA3A49F1CB3A51F1CC3A59F1F7
-:101FE000CD3A61F1C03B69F1CE3A71F1CF3A79F166
-:101FF000C13B81F1C23B89F1C33B91F1C43B99F1F3
-:10200000C53BA1F1C63BA9F1C73BB1F1C83BB9F152
-:10201000C93BC1F1CA3BC9F180E090E038C082EE13
-:1020200090E035C089EE90E032C08AEE90E02FC09B
-:1020300085EB90E02CC086EB90E029C087EB90E028
-:1020400026C08CEC90E023C08DEC90E020C083E8AB
-:1020500091E01DC08AE891E01AC082E991E017C0C2
-:1020600084E991E014C081E292E011C083E292E041
-:102070000EC084E292E00BC085E292E008C086E2E6
-:1020800092E005C087E292E002C08AE292E0CF913E
-:102090000C94940ECF910895882309F44BC0823894
-:1020A00059F40E945C0E81FF45C089E30E94F61836
-:1020B0000E94AE1989E30CC0833871F40E945C0E53
-:1020C00080FF38C083E50E94F6180E94AE1983E5B0
-:1020D0000E9435190C94AE19843859F40E945C0E94
-:1020E00082FF28C087E40E94F6180E94AE1987E498
-:1020F000EFCF9CEF980F913A58F390E2980F9830F9
-:1021000050F4877091E001C0990F8A95EAF7892F02
-:102110000E947D19DFCF9BE5980F933020F480E07B
-:1021200090E00C947E0E885A833120F480E090E099
-:102130000C94940E0895882321F00E9477190C9432
-:10214000AE190895882321F00E947D190C94AE19D0
-:102150000895BF92CF92DF92EF92FF920F931F9359
-:10216000CF93DF9300D000D000D0CDB7DEB77C0195
-:1021700085E0F701DE01119601900D928A95E1F755
-:10218000F70183819481892B09F4DDC290818181DB
-:102190008F3F19F49F3F09F4D6C2F70102812581D0
-:1021A00022952F7099838A8389819A812E830E9438
-:1021B000B518182FB92E0E94B4180E947B17EB2D6A
-:1021C000E295EF704E2F50E0FA01E05AFF4F2E815A
-:1021D0000C9499228B2D807F9B2D9F70F92E882344
-:1021E00019F0F29480EFF822002349F0FF2009F45F
-:1021F00057C28F2D0E9487190E94AE1951C2812F9C
-:102200000E944C10FF2009F49EC28F2D0E948D1950
-:1022100026960FB6F894DEBF0FBECDBFDF91CF91EB
-:102220001F910F91FF90EF90DF90CF90BF900C9493
-:10223000AE193B2D307F8B2D8F70303211F082958F
-:10224000807F112319F0113021F12CC00023B9F047
-:10225000222309F490C1213009F08DC126960FB6D2
-:10226000F894DEBF0FBECDBFDF91CF911F910F91CC
-:10227000FF90EF90DF90CF90BF900C94971922239E
-:1022800019F0213009F45FC28E830E949A198E8161
-:1022900086C1002321F0223008F055C26CC1211103
-:1022A00052C27DC1002321F0222309F464C1F8C188
-:1022B000222309F474C109C28B2D869586958370FB
-:1022C00019F08130D1F03FC2002321F0812F9B2DE6
-:1022D000937002C080E090E026960FB6F894DEBFBF
-:1022E0000FBECDBFDF91CF911F910F91FF90EF9067
-:1022F000DF90CF90BF900C947E0E002321F0812FB1
-:102300009B2D937002C080E090E026960FB6F89463
-:10231000DEBF0FBECDBFDF91CF911F910F91FF9018
-:10232000EF90DF90CF90BF900C94940E812F0023FC
-:1023300019F00E941D1D02C00E94851D26960FB631
-:10234000F894DEBF0FBECDBFDF91CF911F910F91EB
-:10235000FF90EF90DF90CF90BF900C940A1E8B2DD2
-:10236000837009F075C00111EEC1812F82958695A9
-:102370008770880F880F912F9F70C92ED12CE12C68
-:10238000F12C082E04C0CC0CDD1CEE1CFF1C0A94A2
-:10239000D2F714FF12C00FE010E020E030E004C0DC
-:1023A000000F111F221F331F8A95D2F7C901B801F0
-:1023B000609570958095909503C060E070E0CB01CA
-:1023C0004B2D4695469543704230C1F060F56C291F
-:1023D0007D298E299F29413051F126960FB6F89418
-:1023E000DEBF0FBECDBFDF91CF911F910F91FF9048
-:1023F000EF90DF90CF90BF900C94A2176C297D29AD
-:102400008E299F2926960FB6F894DEBF0FBECDBF4A
-:10241000DF91CF911F910F91FF90EF90DF90CF90C0
-:10242000BF900C94BE170E94A217C701B601269652
-:102430000FB6F894DEBF0FBECDBFDF91CF911F91D5
-:102440000F91FF90EF90DF90CF90BF900C94861784
-:10245000002319F08B2D817001C08695882309F423
-:1024600072C1812F829586958770880F880F912F72
-:102470009F70C92ED12CE12CF12C082E04C0CC0C5D
-:10248000DD1CEE1CFF1C0A94D2F714FF12C00FE0F3
-:1024900010E020E030E004C0000F111F221F331FA6
-:1024A0008A95D2F7C901B80160957095809590958D
-:1024B00003C060E070E0CB014B2D4695469543701C
-:1024C0004230C1F060F56C297D298E299F29413069
-:1024D00051F126960FB6F894DEBF0FBECDBFDF9147
-:1024E000CF911F910F91FF90EF90DF90CF90BF9011
-:1024F0000C947C186C297D298E299F2926960FB66D
-:10250000F894DEBF0FBECDBFDF91CF911F910F9129
-:10251000FF90EF90DF90CF90BF900C9498180E949E
-:102520007C18C701B60126960FB6F894DEBF0FBE21
-:10253000CDBFDF91CF911F910F91FF90EF90DF9072
-:10254000CF90BF900C946018103FD1F118F4103E5A
-:1025500050F4A1C0123F09F463C008F44CC0133F0B
-:1025600009F473C098C01F708B2D8F710023A1F0E8
-:102570000E94F917812F26960FB6F894DEBF0FBE82
-:10258000CDBFDF91CF911F910F91FF90EF90DF9022
-:10259000CF90BF900C949B100E941A18812F269602
-:1025A0000FB6F894DEBF0FBECDBFDF91CF911F9164
-:1025B0000F91FF90EF90DF90CF90BF900C94A210FE
-:1025C0000023A9F02111BFC08B2D8F7126960FB665
-:1025D000F894DEBF0FBECDBFDF91CF911F910F9159
-:1025E000FF90EF90DF90CF90BF900C943F18223077
-:1025F00008F0A9C0E9CF0023A9F08B2D8F71269692
-:102600000FB6F894DEBF0FBECDBFDF91CF911F9103
-:102610000F91FF90EF90DF90CF90BF900C94F9173F
-:10262000002359F38B2D8F7126960FB6F894DEBFD9
-:102630000FBECDBFDF91CF911F910F91FF90EF9013
-:10264000DF90CF90BF900C941A18002399F08B2D37
-:102650008F7126960FB6F894DEBF0FBECDBFDF9107
-:10266000CF911F910F91FF90EF90DF90CF90BF908F
-:102670000C94E41726960FB6F894DEBF0FBECDBFBC
-:10268000DF91CF911F910F91FF90EF90DF90CF904E
-:10269000BF900C94DA170023A9F0222309F4ADCFE0
-:1026A000812F26960FB6F894DEBF0FBECDBFDF9107
-:1026B000CF911F910F91FF90EF90DF90CF90BF903F
-:1026C0000C94840F222309F4ADCF812F26960FB6E8
-:1026D000F894DEBF0FBECDBFDF91CF911F910F9158
-:1026E000FF90EF90DF90CF90BF900C944C104B2D4B
-:1026F0004F70612FC7010E94AF0226960FB6F89463
-:10270000DEBF0FBECDBFDF91CF911F910F91FF9024
-:10271000EF90DF90CF90BF900C94FE164B2D4F7032
-:10272000612FC70126960FB6F894DEBF0FBECDBF4E
-:10273000DF91CF911F910F91FF90EF90DF90CF909D
-:10274000BF900C94EF0526960FB6F894DEBF0FBE2F
-:10275000CDBFDF91CF911F910F91FF90EF90DF9050
-:10276000CF90BF9008950E9494190E9469190E9409
-:10277000AE190E94BA1E0E940A1E80E090E00E94DC
-:102780007E0E80E090E00C94940E0E9484190C94CC
-:10279000B3130E94B518292F22952F702C3030F4D6
-:1027A0002A3048F42250223078F405C02C3041F011
-:1027B0002F3031F009C0803E48F0803F29F406C038
-:1027C00093FB882780F9089580E0089581E00895BB
-:1027D000CF93DF9300D000D01F92CDB7DEB70F901C
-:1027E0000F900F900F900F90DF91CF910895CF939E
-:1027F000DF9300D000D000D0CDB7DEB726960FB65D
-:10280000F894DEBF0FBECDBFDF91CF9108951F9327
-:10281000CF93DF93C091790116E080917A01C817B8
-:1028200099F0D0E01C9FF0011D9FF00D1124E55898
-:10283000FE4F4081518162817381848195810E9424
-:10284000F7132196C770E9CFDF91CF911F910895BB
-:102850004091AB015091AC016091AD017091AE011E
-:102860008091AF019091B0010C94F7138091B00169
-:1028700082958F7009F054C08091AD01882309F4CE
-:102880004FC080917901A0917A014091AE015091A1
-:10289000AF016091AB017091AC01B6E08A1709F409
-:1028A0003FC090E041155105C1F17F3F11F46F3FEA
-:1028B000A1F1B89FF001B99FF00D1124E558FE4F2A
-:1028C000218127132AC02081261327C022812111AC
-:1028D00024C0238134812417350710F42150310995
-:1028E000241B350B283C3105C0F42091B0012F701A
-:1028F00020612093B00126E0289FF001299FF00D70
-:102900001124E058FE4F80818F70806180838BEAB4
-:1029100091E00E94A9100C94071401968770BECF15
-:102920000895CF92DF92EF92FF920F931F93CF9370
-:10293000DF93CDB7DEB762970FB6F894DEBF0FBE58
-:10294000CDBF8C0185E0F801DE011D9601900D924E
-:102950008A95E1F7D8014C9111965C9111971296E6
-:102960006C918091AE019091AF01009709F475C10F
-:102970003091AB017091AC017F3F19F43F3F09F4F6
-:102980006CC1F801C380D480E090AD01EE2009F461
-:10299000BEC02091B001C816D90628F0D601A81BE8
-:1029A000B90BCD0104C0809590958C0D9D1DFF2421
-:1029B000F394883C910578F0F12C207F09F0C4C095
-:1029C0007C2DD98AC88A89890E94E8138BEA91E014
-:1029D0000E94A910AFC0822F807F09F045C0571315
-:1029E00013C0431311C061110FC02F7020612093D9
-:1029F000B0010E9428148BEA91E00E94A9108091F6
-:102A0000B001F80185832EC0CD2819F15F3F11F484
-:102A10004F3FF9F0F62E61111CC080917901209191
-:102A20007A0136E0821709F45BC090E0389FF0012C
-:102A3000399FF00D1124E558FE4F7181571306C0E0
-:102A40007081471303C07281711103C001968770B2
-:102A5000E9CFF62E662309F41CC18091B001816094
-:102A60008093B001F12C15C1571309C0431307C05F
-:102A7000611105C08091B001F8018583C8C04D8700
-:102A80005E878D859E856A8B0E94C9136A8988231B
-:102A9000D1F16623C1F12091B001822F82958F7010
-:102AA00090E0029774F08091AB019091AC0198870F
-:102AB0008F831986DB86CA862C87CE0107960E94F3
-:102AC000A91086E0F801ABEAB1E001900D928A9579
-:102AD000E1F70E9436140E942814FF24F394D9C011
-:102AE0004D875E878D859E850E94B518292F22957A
-:102AF0002F70223008F0C1C09F7009F0BBC0805E0B
-:102B0000883008F4C6C0C8010E94A910E6CFC816D4
-:102B1000D90608F453C0F601E81BF90BCF01883C35
-:102B2000910508F450C0F12C7C2DD98AC88A898976
-:102B30000E94E813EBEAF1E086E0DF011D928A953E
-:102B4000E9F70E942814A5C0571314C0431312C0FC
-:102B5000611110C08091B001F8018583C8010E9405
-:102B6000A91086E0EBEAF1E0DF011D928A95E9F712
-:102B7000FE2C8FC04D875E878D859E856A8B0E9457
-:102B8000C9136A89882309F4BECF662309F4BBCF31
-:102B90002091B001822F82958F7090E002970CF403
-:102BA00090CF8091AB019091AC019A8389831B8275
-:102BB000DD82CC822E83CE01019681CF80959095C7
-:102BC0008C0D9D1DACCFF62E662309F49CCF5713B8
-:102BD00033C0431331C02091B00120FD24C0822FA7
-:102BE00082958F70482F50E041155105E1F0D801D2
-:102BF00015962C9315974F30510549F08F5F982FFC
-:102C00009295907F822F8F70892B15968C93C80197
-:102C10000E94A91086E0F801ABEAB1E001900D92A4
-:102C20008A95E1F78ECF86E0F801ABEAB1E001903A
-:102C30000D928A95E1F72DC04D875E878D859E8523
-:102C40000E94C91381113DCF8091B00181608093B2
-:102C5000B001C8010E94A9101CC0662309F453CF1B
-:102C60004D875E878D859E850E94C913882309F450
-:102C70004ACF27CF811143CF0CC0243008F043CF77
-:102C80009F7009F43CCFD80115969C91907F09F074
-:102C900036CF8F2D62960FB6F894DEBF0FBECDBF34
-:102CA000DF91CF911F910F91FF90EF90DF90CF9028
-:102CB00008951F93CF93DF93CDB7DEB72C970FB650
-:102CC000F894DEBF0FBECDBF4F83588769877A87E0
-:102CD0008B879C87CE0107960E949114882371F000
-:102CE0008A859B85892B09F441C088858F3F09F02F
-:102CF00065C08F818F3F09F061C038C086E0FE015A
-:102D00003796DE01119601900D928A95E1F76A855A
-:102D10007B856115710551F1FF81E885EF3F11F465
-:102D2000FF3F21F120917A0130E0C90101968770BF
-:102D300099274091790150E08417950709F447C01D
-:102D4000F983EA837D836C8396E0929FD001939F01
-:102D5000B00D1124A558BE4FFE01319601900D9281
-:102D60009A95E1F780937A010E94071416E080910A
-:102D7000790190917A018917B9F1189FC001112446
-:102D800085589E4F0E949114882371F1E09179013A
-:102D90001E9FF0011124E558FE4F40815181628150
-:102DA0007381848195810E94F7138091790190E06D
-:102DB00001968770992780937901D9CF4F815885E3
-:102DC00069857A858B859C850E94F713CFCF0E94F9
-:102DD000C51310927A0110927901EBEAF1E086E0D6
-:102DE000DF011D928A95E9F72C960FB6F894DEBFA5
-:102DF0000FBECDBFDF91CF911F910895EF92FF924B
-:102E00000F931F93CF93DF938C01892B09F46CC030
-:102E1000F12CEE24E394E8012196F80184918437A3
-:102E200040F4843008F051C0813081F0823019F1D3
-:102E30005BC0853709F444C0A8F19CE7980F903730
-:102E400008F052C08F770E944C1041C00E5F1F4F98
-:102E5000FE01849190E2980F983050F48770FE2D17
-:102E600001C0FF0F8A95EAF78F2F0E94871914C0BF
-:102E70000E94840F2DC00E5F1F4FFE01849190E2CF
-:102E8000980F983060F48770FE2D01C0FF0F8A956F
-:102E9000EAF78F2F0E948D190E94AE1919C00E9467
-:102EA0004C1016C00E5F1F4FFE01C491CC2381F061
-:102EB0008FE99FE00197F1F700C00000C150F6CF05
-:102EC0000E5F1F4FFE01F49003C00E94840F8E011D
-:102ED0008F2D882309F49FCFEFE9FFE03197F1F7B9
-:102EE00000C000008150F5CFDF91CF911F910F916D
-:102EF000FF90EF90089508956093B5017093B60127
-:102F00008093B7019093B8010C94B3130F931F9360
-:102F10000091B5011091B6012091B7013091B8012F
-:102F2000DC01CB01802B912BA22BB32B8093B5011D
-:102F30009093B601A093B701B093B8011F910F9180
-:102F40000C94B3130F931F930091B5011091B60128
-:102F50002091B7013091B801DC01CB01802391238E
-:102F6000A223B3238093B5019093B601A093B70138
-:102F7000B093B8011F910F910C94B3130F931F934B
-:102F80000091B5011091B6012091B7013091B801BF
-:102F9000DC01CB0180279127A227B3278093B501BD
-:102FA0009093B601A093B701B093B8011F910F9110
-:102FB0000C94B3131092B1011092B2011092B301AC
-:102FC0001092B4010C94B31341E050E060E070E063
-:102FD00004C0440F551F661F771F8A95D2F7409390
-:102FE000B1015093B2016093B3017093B4010C949A
-:102FF000B31341E050E060E070E004C0440F551F9F
-:10300000661F771F8A95D2F78091B1019091B20126
-:10301000A091B301B091B401482B592B6A2B7B2BA3
-:103020004093B1015093B2016093B3017093B40126
-:103030000C94B31341E050E060E070E004C0440F32
-:10304000551F661F771F8A95D2F74095509560955A
-:1030500070958091B1019091B201A091B301B091AE
-:10306000B401482359236A237B234093B101509331
-:10307000B2016093B3017093B4010C94B31341E0B7
-:1030800050E060E070E004C0440F551F661F771FDA
-:103090008A95D2F78091B1019091B201A091B301CC
-:1030A000B091B401482759276A277B274093B10183
-:1030B0005093B2016093B3017093B4010C94B313B5
-:1030C0000F931F930091B1011091B2012091B301B0
-:1030D0003091B401DC01CB01802B912BA22BB32BBF
-:1030E0008093B1019093B201A093B301B093B40166
-:1030F0001F910F910C94B3130F931F930091B10183
-:103100001091B2012091B3013091B401DC01CB01E7
-:1031100080239123A223B3238093B1019093B20122
-:10312000A093B301B093B4011F910F910C94B3130A
-:103130000F931F930091B1011091B2012091B3013F
-:103140003091B401DC01CB0180279127A227B3275E
-:103150008093B1019093B201A093B301B093B401F5
-:103160001F910F910C94B3130895CF92DF92EF92B9
-:10317000FF920F931F93CF93DF938C01C090B10107
-:10318000D090B201E090B301F090B4018091B5010C
-:103190009091B601A091B701B091B801C82AD92A7F
-:1031A000EA2AFB2ACFE1D0E0D701C6010C2E04C0E9
-:1031B000B695A795979587950A94D2F780FF07C093
-:1031C000B8018C2F0E9413068130910531F42197AC
-:1031D00058F7B80180E00E941306DF91CF911F914C
-:1031E0000F91FF90EF90DF90CF90089590910C0198
-:1031F0009923F1F090910D019923D1F0982F969594
-:10320000969596959F3080F5E0910E01F0910F0113
-:10321000E90FF11D877021E030E0A90102C0440FE1
-:10322000551F8A95E2F7CA019181892B8183089500
-:1032300020910E0130910F01F90132969FEF40E08D
-:103240005191851789F09F3F19F4511101C0942FB6
-:103250004F5F4E30A9F79F3F39F0F901E90FF11D9B
-:1032600097FDFA9582830895089590910C01992312
-:10327000F9F090910D019923D9F0982F9695969594
-:1032800096959F3028F5E0910E01F0910F01E90F1E
-:10329000F11D877021E030E0A90102C0440F551FE5
-:1032A0008A95E2F7CA0180959181892381830895E7
-:1032B00020910E0130910F01F9013296205F3F4FAE
-:1032C0009081891301C010823196E217F307C1F78C
-:1032D000089581E090E0E0910E01F0910F01E80F78
-:1032E000F91F1082019680319105A9F708959091F8
-:1032F000CB01892B8093CB01089580959091CB01D0
-:1033000089238093CB0108951092CB010895909169
-:10331000CA01892B8093CA01089580959091CA01B2
-:1033200089238093CA0108951092CA010895809359
-:10333000B90108951092B901089580910E019091FC
-:103340000F01FC0131969C01205F3F4F80E091917D
-:1033500091118F5FE217F307D1F70895E0910E0105
-:10336000F0910F018091CB018083E0910E01F091EB
-:103370000F0190818091CA01892B80838091B901CE
-:10338000882361F0E0910E01F0910F019081892B6B
-:1033900080830E949D1981111092B90180910E01C4
-:1033A00090910F010C94680ECF92DF92EF92FF92F2
-:1033B0006C01EE24FF24C114D104E104F10421F0D6
-:1033C000C701B60120E101C020E0C72ED82EE92EAA
-:1033D000FF24C114D104E104F10419F0285FC701EE
-:1033E000B6016B017C0154E0F694E794D794C7943E
-:1033F0005A95D1F7C114D104E104F10419F02C5FFE
-:10340000C701B6016B017C0142E0F694E794D794C2
-:10341000C7944A95D1F7C114D104E104F10419F01D
-:103420002E5FC701B601DC01CB01B695A795979534
-:103430008795892B8A2B8B2B09F02F5F822FFF908A
-:10344000EF90DF90CF9008958091E401843011F1E6
-:1034500020E488E190E00FB6F894A895809360008E
-:103460000FBE2093600083B7817F846083BF83B7E2
-:10347000816083BF7894889583B78E7F83BF0FB6B2
-:10348000F894A89580916000886180936000109204
-:1034900060000FBE089508950C944B1ACF930E94BC
-:1034A0004C1A0E9432040E944B1AC0E08C2F0E94DA
-:1034B0002805811104C0CF5FCE30C1F701C081E083
-:1034C000CF9108950E94C5130E945C0E0C94520780
-:1034D00082E084BD93E095BD9AEF97BD80936E0026
-:1034E00008952FB7F8948091CD019091CE01A091CD
-:1034F000CF01B091D0012FBF0895CF92DF92EF920C
-:10350000FF920F931F932FB7F8944091CD015091E4
-:10351000CE016091CF017091D0012FBF6A017B0174
-:10352000EE24FF248C0120E030E0C016D106E20634
-:10353000F30610F4415051099A01281B390BC901B7
-:103540001F910F91FF90EF90DF90CF9008951F9201
-:103550000F920FB60F9211248F939F93AF93BF9347
-:103560008091CD019091CE01A091CF01B091D00179
-:103570000196A11DB11D8093CD019093CE01A09322
-:10358000CF01B093D001BF91AF919F918F910F90D8
-:103590000FBE0F901F9018950E94540BF8942FEFB8
-:1035A00087EA91E6215080409040E1F700C000009A
-:1035B00087E090EBDC018093ED019093EE01A09306
-:1035C000EF01B093F0019CE088E10FB6F894A89564
-:1035D000809360000FBE90936000FFCFEF92FF9248
-:1035E0000F931F93CF93DF93D82FC0E08C2F0E94AF
-:1035F000280500E010E0E82EF12CC701002E02C0E3
-:10360000959587950A94E2F780FD06C00F5F1F4FDE
-:103610000630110591F709C0602F7C2F80E00E94D1
-:10362000F0058D13F3CF81E004C0CF5FCE30F1F60B
-:1036300080E0DF91CF911F910F91FF90EF9008955F
-:10364000CF93C82F8CE20E94EE1A882321F08C2F92
-:10365000CF910C94EE1A80E0CF910895CF930E9401
-:10366000751C811102C00E945B1CC5E6C15049F067
-:103670000E9432048FE39CE90197F1F700C000003B
-:10368000F5CF89E20E94201B811113C18AE20E94BA
-:10369000201B81110E945B1C85E00E94201B811170
-:1036A0000E94CC1A0E94801C8093CC0187E00E946B
-:1036B000201B8823A9F18BE10E94201B882351F055
-:1036C0008091CC0181FB222720F991E0922790FB89
-:1036D00081F90EC08EE00E94201B882361F080914A
-:1036E000CC0182FB222720F991E0922790FB82F9FE
-:1036F0008093CC0115C080E10E94201B9091CC01E9
-:10370000882341F093FB222720F981E0822780FB68
-:1037100093F904C0892F809580FB90F99093CC0198
-:103720008091CC010E94841C0E94921C8093DE0137
-:1037300080EE0E94201B882341F08091DE01982FAB
-:10374000909590FB80F98093DE0189E30E94201B15
-:10375000882359F08091DE0181FB222720F991E036
-:10376000922790FB81F98093DE0182EE0E94201B5C
-:10377000882359F08091DE0182FB222720F991E015
-:10378000922790FB82F98093DE0186EE0E94201B37
-:10379000882359F08091DE0183FB222720F991E0F4
-:1037A000922790FB83F98093DE0183EE0E94201B19
-:1037B000882359F08091DE0184FB222720F991E0D3
-:1037C000922790FB84F98093DE0185E30E94201B01
-:1037D000882359F08091DE0185FB222720F991E0B2
-:1037E000922790FB85F98093DE0181E30E94201BE4
-:1037F000882359F08091DE0186FB222720F991E091
-:10380000922790FB86F98093DE0181E10E94201BC4
-:10381000882359F08091DE0187FB222720F991E06F
-:10382000922790FB87F98093DE018091DE010E9450
-:10383000961C8091DE0187FB882780F980930D011B
-:1038400087E20E94201BC82F8EE10E94201B81115D
-:10385000C2608FE10E94201B8111C46080E20E943F
-:10386000201B8111C86081E20E94201B8111C06170
-:1038700082E20E94201B8111C06283E20E94201B11
-:103880008111C06484E20E94201B882311F0C0686B
-:1038900002C0CC2329F08C2F0E948D1C6C2F03C0FA
-:1038A0000E94891C682F70E080E090E0CF910C941A
-:1038B0007C17CF9108956DEE7EEF80E090E00E943E
-:1038C000CF2260E082E090E00E94C12260E083E0CD
-:1038D00090E00E94C12260E084E090E00E94C1225A
-:1038E00060E085E090E00C94C12280E090E00E94CE
-:1038F000BB2221E08D3E9E4F09F020E0822F0895EB
-:1039000082E090E00C94B322682F82E090E00C9467
-:10391000C12283E090E00C94B322682F83E090E012
-:103920000C94C12284E090E00C94B322682F84E0D0
-:1039300090E00C94C1228091D30180FF0BC0609174
-:10394000130185E0689FB001112475956795759501
-:1039500067952BC081FF09C06091130185E0689FC6
-:10396000B00111247595679520C082FF07C0609152
-:10397000130185E0689FB001112417C09091D40114
-:103980009923D1F060911201961788F720911301C5
-:1039900085E0289F90011124929FA001939F500DD4
-:1039A000112470E0CA010E9485226038710540F43C
-:1039B0006115710519F406C065E070E0862F089561
-:1039C0008FE7089581E008958091D30180FF08C0BA
-:1039D0006091110170E0759567957595679521C0A7
-:1039E00081FF06C06091110170E07595679519C05F
-:1039F00082FF04C06091110170E010C09091D40169
-:103A0000992399F0609110019617A0F78091110108
-:103A1000899FC001112470E00E94852260387105E1
-:103A200040F46115710519F406C061E070E0862F5D
-:103A300008958FE7089581E00895803F21F40E9462
-:103A40009B1C819504C0813F29F40E949B1C80939C
-:103A5000D7010895823F21F40E949B1C819504C0E8
-:103A6000833F29F40E949B1C8093D6010895893FCF
-:103A700019F40E94E41C05C08A3F31F40E94E41C42
-:103A800081958093D80108958B3F21F40E94E41C16
-:103A9000819504C08C3F29F40E94E41C8093D901D5
-:103AA0000895843F21F48091D501816017C0853F3E
-:103AB00021F48091D501826011C0863F21F480916C
-:103AC000D50184600BC0873F21F48091D5018860C7
-:103AD00005C0883F31F48091D50180618093D50184
-:103AE00008958D3F21F48091D30181600BC08E3FFA
-:103AF00021F48091D301826005C08F3F29F4809129
-:103B0000D30184608093D3010895803F39F480917C
-:103B1000D70187FF6CC01092D70169C0813F29F49B
-:103B20008091D7011816BCF362C09091D601823FF4
-:103B300029F497FF5CC01092D60159C0833F19F455
-:103B40001916CCF354C0893F41F48091D80118165E
-:103B50000CF04DC01092D8014AC08A3F29F48091E0
-:103B6000D80187FF44C0F6CF8B3F39F48091D9014B
-:103B700087FF3DC01092D9013AC08C3F29F4809153
-:103B8000D9011816BCF333C0843F21F48091D501CC
-:103B90008E7F17C0853F21F48091D5018D7F11C0A4
-:103BA000863F21F48091D5018B7F0BC0873F21F4A4
-:103BB0008091D501877F05C0883F31F48091D50180
-:103BC0008F7E8093D50113C08D3F21F48091D30166
-:103BD0008E7F0BC08E3F21F48091D3018D7F05C075
-:103BE0008F3F29F48091D3018B7F8093D301809103
-:103BF000D60181110EC08091D70181110AC0809138
-:103C0000D801811106C08091D901811102C01092A2
-:103C1000D401089585ED91E00E94730E0E94711AFF
-:103C20009093D2018093D10108951F93CF93DF9396
-:103C30008091D1019091D2010E947D1AAC019091A6
-:103C4000D401992321F02091140130E006C0209185
-:103C500015018AE0289F900111244217530708F4A8
-:103C600085C08091D601C091D701D091D801109123
-:103C7000D901811107C0C11175C0D11173C01111D3
-:103C800071C074C09F3F19F09F5F9093D4011816C4
-:103C900024F40E949B1C8093D6018091D60187FF5B
-:103CA00005C00E949B1C81958093D6011C1624F4AC
-:103CB0000E949B1C8093D7018091D70187FF05C08C
-:103CC0000E949B1C81958093D7016091D601662349
-:103CD00031F1C091D701CC2311F1062E000C770BE6
-:103CE000880B990B0E948C2123E333E343E35FE3CA
-:103CF0000E94F0210E9454216093D6016C2FCC0FBA
-:103D0000770B880B990B0E948C2123E333E343E369
-:103D10005FE30E94F0210E9454216093D7011D1699
-:103D200024F40E94E41C8093D8018091D80187FF7D
-:103D300005C00E94E41C81958093D801111624F4DB
-:103D40000E94E41C8093D9018091D90187FF05C0AE
-:103D50000E94E41C81958093D901DF91CF911F913E
-:103D60000C940A1E9F3F09F08FCFA0CFDF91CF9117
-:103D70001F910895E5EDF1E085E0DF011D928A9540
-:103D8000E9F71092D4011092D3010895833081F1A4
-:103D900028F4813059F08230D1F00895853009F44B
-:103DA00049C0B8F1863009F456C0089580911501D4
-:103DB000262F30E0280F311D2F3F310524F4680FE6
-:103DC0006093150108958FEF8093150108958091F8
-:103DD0001401262F30E0280F311D2F3F310524F428
-:103DE000680F6093140108958FEF80931401089574
-:103DF00080911301262F30E0280F311D2F3F310510
-:103E000024F4680F6093130108958FEF80931301DA
-:103E1000089580911201262F30E0280F311D2F3F89
-:103E2000310524F4680F6093120108958FEF809399
-:103E30001201089580911101262F30E0280F311DC5
-:103E40002F3F310524F4680F6093110108958FEF1F
-:103E500080931101089580911001262F30E0280FE2
-:103E6000311D2F3F310524F4680F60931001089530
-:103E70008FEF809310010895833011F128F4813081
-:103E800049F0823091F00895853081F120F186303B
-:103E9000C1F1089580911501681720F4861B809365
-:103EA0001501089510921501089580911401681765
-:103EB00020F4861B80931401089510921401089534
-:103EC00080911301681720F4861B809313010895D5
-:103ED00010921301089580911201681720F4861B37
-:103EE000809312010895109212010895809111019A
-:103EF000681720F4861B8093110108951092110118
-:103F0000089580911001681720F4861B809310019A
-:103F100008951092100108950F931F938D3109F4A5
-:103F20006BC008F03FC08E3009F47DC0C0F487300C
-:103F300009F46EC068F4863009F0AFC08091CC01FE
-:103F4000817F8E7F8093CC0181E08093DB01A6C0CE
-:103F5000883009F458C08B3009F49BC09EC086316C
-:103F600009F497C078F4803109F470C0813109F008
-:103F700094C00E94C51390910D0181E08927809320
-:103F80000D0187C0893109F484C08B3109F085C0E7
-:103F90008091CC0181FB222720F991E0922790FBB0
-:103FA00081F94AC0853309F45BC048F4873209F4CB
-:103FB00057C008F45AC0893209F452C06EC0833425
-:103FC00038F48A3308F067C0883309F462C065C0EA
-:103FD000833409F445C0883409F05FC00E94C513DA
-:103FE0000FEF13ED20E3015010402040E1F700C037
-:103FF00000000E94CC1A4DC00E940E210E945C0E4F
-:104000000E94520746C00E94801C0E94921C41C020
-:104010009091CC01892F817090FF12C0917F9E7F7B
-:104020009093CC013BC08091CC0182FB222720F9E8
-:1040300091E0922790FB82F98093CC01992349F17A
-:104040008091CC0181608093CC0123C08091CC0110
-:1040500083FB222720F991E0922790FB83F9ECCF94
-:1040600061E070E080E090E010C08D5141E050E0F0
-:1040700060E070E08A019B0104C0000F111F221F45
-:10408000331F8A95D2F7C901B8010E947C170E949C
-:10409000C51381E003C08953E9CF80E01F910F91E0
-:1040A000089580E008950C945120CF93C82F8091FB
-:1040B000DB01813079F018F08230E9F187C0E091BE
-:1040C0000E01F0910F018081813169F0823209F097
-:1040D0007FC009C0E0910E01F0910F018081813114
-:1040E00011F0823261F48C2F0E945320811104C0A0
-:1040F0008C2F0E948C1F1DC081E090E01AC08C2F75
-:104100000E945120811114C0C43179F048F4CB30A1
-:1041100079F0C03109F060C082E08093DB0108C013
-:10412000C93219F0C83321F057C01092DB0154C0D6
-:1041300081E0817053C0C93289F118F5C43171F141
-:10414000A8F4C73009F046C08AE08093150194E1D5
-:104150009093140193E0909313018093120188E0EF
-:104160008093110188E28093100134C0CE51C63093
-:1041700088F5EC2FF0E0E65DFE4F80818093DA0158
-:1041800029C0CE34E9F020F4CB3421F56AE013C025
-:10419000C13579F0C235F1F461E00DC08091DA01EA
-:1041A000882319F01092DA0115C081E08093DB01B9
-:1041B00015C061E006C08091DA010E94C61E0AC0E7
-:1041C0006AE08091DA010E943C1F04C01092DB017A
-:1041D00080E004C081E002C080E0ABCFCF910895C1
-:1041E000E1E8F0E080818860808380818160808365
-:1041F0008FB7F89493E09093890090ED90938800A6
-:104200008FBF0895EFE6F0E080818260808308959B
-:10421000EFE6F0E080818D7F80830895EFE6F0E0A7
-:10422000908182E08927808308951F920F920FB6B4
-:104230000F9211242F933F934F935F936F937F932C
-:104240008F939F93AF93BF93EF93FF938091DC0184
-:104250009091DD0101969093DD018093DC01811145
-:1042600003C082E00E945207E091DD01E695E695E9
-:10427000F0E0E457FB4FE4918091DC018E1303C022
-:1042800080E00E945207FF91EF91BF91AF919F9103
-:104290008F917F916F915F914F913F912F910F90EF
-:1042A0000FBE0F901F9018950E945B216894B1116A
-:1042B0000C94EA2108950E94CF2188F09F5798F02E
-:1042C000B92F9927B751B0F0E1F0660F771F881F1B
-:1042D000991F1AF0BA95C9F714C0B13091F00E9435
-:1042E000E921B1E008950C94E921672F782F882700
-:1042F000B85F39F0B93FCCF3869577956795B3955C
-:10430000D9F73EF490958095709561957F4F8F4FCA
-:104310009F4F0895E89409C097FB3EF490958095CF
-:10432000709561957F4F8F4F9F4F9923A9F0F92F7B
-:1043300096E9BB279395F695879577956795B795F9
-:10434000F111F8CFFAF4BB0F11F460FF1BC06F5FDF
-:104350007F4F8F4F9F4F16C0882311F096E911C0F1
-:10436000772321F09EE8872F762F05C0662371F012
-:1043700096E8862F70E060E02AF09A95660F771F26
-:10438000881FDAF7880F9695879597F9089557FD56
-:104390009058440F551F59F05F3F71F04795880FB3
-:1043A00097FB991F61F09F3F79F08795089512164A
-:1043B00013061406551FF2CF4695F1DF08C01616F6
-:1043C00017061806991FF1CF8695710561050894A7
-:1043D0000895E894BB2766277727CB0197F90895BE
-:1043E0000E9403220C9474220E94662238F00E94DC
-:1043F0006D2220F0952311F00C945D220C94632221
-:1044000011240C94EA210E94C72170F3959FC1F3F7
-:10441000950F50E0551F629FF001729FBB27F00D72
-:10442000B11D639FAA27F00DB11DAA1F649F6627C7
-:10443000B00DA11D661F829F2227B00DA11D621F16
-:10444000739FB00DA11D621F839FA00D611D221FD0
-:10445000749F3327A00D611D231F849F600D211DB4
-:10446000822F762F6A2F11249F5750409AF0F1F037
-:1044700088234AF0EE0FFF1FBB1F661F771F881FA0
-:1044800091505040A9F79E3F510580F00C945D2259
-:104490000C94EA215F3FE4F3983ED4F38695779538
-:1044A0006795B795F795E7959F5FC1F7FE2B880F46
-:1044B000911D9695879597F9089597F99F6780E8DC
-:1044C00070E060E008959FEF80EC089500240A9466
-:1044D0001616170618060906089500240A941216DF
-:1044E0001306140605060895092E0394000C11F412
-:1044F000882352F0BB0F40F4BF2B11F460FF04C0BF
-:104500006F5F7F4F8F4F9F4F089597FB072E16F4D5
-:10451000009407D077FD09D00E949F2207FC05D0A8
-:104520003EF4909581959F4F0895709561957F4FCA
-:104530000895EE0FFF1F0590F491E02D0994AA1B3A
-:10454000BB1B51E107C0AA1FBB1FA617B70710F07E
-:10455000A61BB70B881F991F5A95A9F780959095B0
-:10456000BC01CD010895F999FECF92BD81BDF89AA5
-:10457000992780B50895A8E1B0E042E050E00C949E
-:10458000D622262FF999FECF1FBA92BD81BD20BD3C
-:104590000FB6F894FA9AF99A0FBE019608950E9400
-:1045A000C122272F0C94C222DC01CB01FC01F99916
-:1045B000FECF06C0F2BDE1BDF89A319600B40D926F
-:0C45C00041505040B8F70895F894FFCF28
-:1045CC0020025307E307BE078A0756070101BA0109
-:1045DC0028080A03140A3F4D36394D040004CA0357
-:1045EC00910324033D0356036F03010203040506E4
-:0445FC0007080900A3
+:100000000C940B030C944F030C944F030C944F036C
+:100010000C944F030C944F030C944F030C944F0318
+:100020000C944F030C944F030C940E0D0C94E00DA4
+:100030000C944F030C944F030C944F030C944F03F8
+:100040000C944F030C94AA220C944F030C944F036E
+:100050000C944F030C94391C0C944F030C944F03D5
+:100060000C944F030C944F030C944F030C944F03C8
+:100070000C944F030C944F030C944F030C944F03B8
+:100080000C944F030C944F030C944F030C944F03A8
+:100090000C944F030C944F030C944F030C944F0398
+:1000A0000C944F030C944F030C944F034D0E6F0EA2
+:1000B0005D0F6F0E5D0FB40ED70E5D0F2C0F3F0F4F
+:1000C0002B122B1268126812AB12E91202150215DC
+:1000D0000213021503140314D61402150215ED14AD
+:1000E00029002B000354E100358100001E000E00A2
+:1000F0000B001B7164004D001F003700040014004A
+:10010000E1044C00200012000800340050002A00D6
+:10011000210036000C002F004F004A0022001D0075
+:100120001800330000000254E000E3000000E20089
+:1001300000002E77E400E7000000E60000002E7FBC
+:1001400023001900070005000000045424000A00E1
+:100150001700130052004B002500060015001A007E
+:1001600051002C0026000F0011001000E1082800AB
+:1001700027002D0016000D7130004E0038001C00C5
+:100180000982E50031810000010001000100010049
+:10019000010000003A0035003100010001000100BB
+:1001A0003B0035022102640001004C003C001E02AD
+:1001B00024062202010001003D002D022402240435
+:1001C000010001003E0001003700110400000100A1
+:1001D0000100010000000100000001000100010019
+:1001E00000000100000001003F0024062402230259
+:1001F000000001004000220425023500010001003A
+:100200004100230426023502370001004200240485
+:1002100025041F021E0201004300310026043102A2
+:10022000010001004400450001002D020100000012
+:1002300001000100010001000100000001000100B7
+:100240000100FB000100010001000100F200F900C3
+:10025000010001000100F000F100FA00F4000100CB
+:1002600001000100F300FC00F500010001000100A5
+:100270000100F60000000100010001000000010083
+:100280000000010001000100000001000000010069
+:100290000100010001000100000001000100010057
+:1002A0000100A800A9000100010001000100AC004C
+:1002B000AA00B600010001000100AB0050000100DF
+:1002C000010001000100520051000100AE000100D8
+:1002D000010001004F00000029002B000100E10097
+:1002E000358100001E00140004001D7164004D00E3
+:1002F0001F001A0016001B00E1044C00200008003B
+:100300000700060050002A0021001500090019000E
+:100310004F004A00220017000A00050000000100FB
+:100320001908E3000000E20000002E770608E7004D
+:100330000000E60000002E7F23001C000B001100CF
+:1003400000000100240018000D00100052004B00B6
+:1003500025000C000E00360051002C002600120073
+:100360000F003700E1082800270013003300387120
+:1003700030004E002D002F003482E5003181000056
+:100380000100010001000100010000000100010066
+:100390000100010001000100010001005000010006
+:1003A00001000100010052005100010001000100A4
+:1003B000010001004F0001000100010001000100E7
+:1003C0000100010000000100010001000000010027
+:1003D0000000010001000100000001000000010018
+:1003E0003F005200510023020000010040002400A1
+:1003F00021001E00270001004100250022001F00EF
+:1004000037000100420026002300200027000100E1
+:1004100043003002300024022E0001004400450059
+:100420000100010001000000160345007200670092
+:100430006F0044006F007800200045005A00000063
+:1004400016034500720067006F0044006F007800DB
+:10045000200045005A0000000403090409026D0051
+:10046000040100A0FA0904000001030101000921B0
+:1004700011010001223F000705810308000A090459
+:1004800001000103010200092111010001224D00B8
+:100490000705820308000A090402000103000000A6
+:1004A0000921110100012236000705830308000A13
+:1004B00009040300010300000009211101000122C9
+:1004C000390007058403100001120110010000002B
+:1004D00008EDFE071301000102000105010906A154
+:1004E00001050719E029E715002501950875018127
+:1004F00002050819012905950575019102950175F7
+:1005000003910105071900297715002501957875D4
+:10051000018102C005010980A101850216010026A2
+:10052000B7001A01002AB700751095018100C005B7
+:100530000C0901A1018503160100269C021A010085
+:100540002A9C02751095018100C005010902A101D4
+:100550000901A100050919012905150025019505C5
+:100560007501810295017503810105010930093189
+:100570001581257F95027508810609381581257F2B
+:10058000950175088106050C0A38021581257F95AD
+:100590000175088106C0C005010906A101050719FA
+:1005A000E029E7150025019508750181029501757F
+:1005B0000881010508190129059505750191029524
+:1005C00001750391010507190029FF150025FF9505
+:1005D0000675088100C00000000000000000000057
+:1005E00000010204060A0F17202C3A4A5D71879D0C
+:1005F000B3C7DAE9F5FCFFFCF5E9DAC7B39D87710B
+:100600005D4A3A2C20170F0A060402010000000080
+:1006100000000000000011241FBECFEFDAE0DEBFB3
+:10062000CDBF04B603FE24C08091EE019091EF018E
+:10063000A091F001B091F1018730904BA740B04BF1
+:10064000B9F41092EE011092EF011092F0011092A5
+:10065000F10114BE84B7877F84BF88E10FB6F89498
+:1006600080936000109260000FBEE0E0FFE3099508
+:1006700011E0A0E0B1E0E8EDF8E402C005900D92D1
+:10068000A433B107D9F711E0A4E3B1E001C01D9292
+:10069000AE3EB107E1F70E94520A0C946A240C9412
+:1006A000000061110BC0FC018281882321F085EEDE
+:1006B0000E94BF1003C085EE0E94871180E090E089
+:1006C000089508956091B1017091B2018091B301D4
+:1006D0009091B4010E94651B56985E9825982D98BC
+:1006E00026982E9827982F9808950C946203569870
+:1006F0005E9825982D9826982E9827982F988FEFFA
+:1007000090E0909389008093880090938B00809371
+:100710008A0090938D0080938C00259A2D9A2FEF5C
+:1007200080E792E0215080409040E1F700C0000057
+:10073000269A2E9A2FEF80E792E021508040904039
+:10074000E1F700C00000279A2F9A2FEF80E792E090
+:10075000215080409040E1F700C0000025982D987E
+:100760002FEF80E792E0215080409040E1F700C0F9
+:10077000000026982E982FEF80E792E021508040CD
+:100780009040E1F700C0000027982F9856985E9897
+:1007900025982D9826982E9827982F98089589EABD
+:1007A0008093800089E08093810024982C983F9862
+:1007B0008AB18F748AB96E98479A8BB1806B8BB966
+:1007C000769A0E9477030C94610380E28093000183
+:1007D0008091340181110EC00E94340481E0809325
+:1007E00034012FEF83ED90E3215080409040E1F7FA
+:1007F00000C0000080E40E943A048093000181114F
+:100800002EC00E94640480930001811128C00E94C0
+:10081000640480930001811122C08FE30E9464046C
+:100820008093000181111BC00E945C0480E40E943F
+:100830003A0480930001811112C08CE00E9464048C
+:100840008093000181110BC00E9464048093000119
+:10085000811105C08FE30E946404809300010E940F
+:100860005C048091000108951092B9008AE08093A1
+:10087000B800089594EA9093BC009091BC0097FF53
+:10088000FCCF9091B900987F983021F0903111F011
+:1008900081E008958093BB0084E88093BC00809140
+:1008A000BC0087FFFCCF8091B900887F883111F0B0
+:1008B000803471F780E0089584E98093BC008091D2
+:1008C000BC0084FDFCCF08958093BB0084E8809336
+:1008D000BC008091BC0087FFFCCF9091B900987F4D
+:1008E00081E0983209F480E0089584E88093BC00A8
+:1008F0008091BC0087FFFCCF8091BB000895809160
+:100900000001811115C080E40E943A048093000127
+:1009100081110CC082E10E94640480930001811166
+:1009200005C08FEF0E946404809300010E945C0464
+:1009300084B1807F84B985B1807F85B98AB1837F96
+:100940008AB98BB1837F8BB93E98469808950E94EF
+:10095000E503809300010E947F0480B38C7080BB0C
+:1009600081B3836F81BBA6E3B1E0E4E4F1E08EE004
+:100970008E0F11921D928E13FCCF0C94CF03BF9259
+:10098000CF92DF92EF92FF920F931F93CF93DF935B
+:1009900080910001882379F0809135018F5F8093E9
+:1009A0003501811108C00E94E50380930001811187
+:1009B00002C00E94770306E311E0C0E0D0E0DD242E
+:1009C000D39482E0C82EEE24E394F12CC730D105F5
+:1009D00000F580910001811164C080E40E943A0416
+:1009E00080930001811112C082E10E94640480930F
+:1009F000000181110BC0C7010C2E01C0880F0A94A1
+:100A0000EAF780950E946404809300010E945C04D0
+:100A100048C0CA30A1F028F4C83059F0C93061F09C
+:100A200005C0CC3089F070F0CD3089F0209A28983C
+:100A300010C0219A29980DC0229A2A980AC0239A98
+:100A40002B9807C0529A01C0539A5B9802C03E9AF5
+:100A5000469890EA9A95F1F79FB1799902C082E0A1
+:100A600001C080E091709D25982B7C9902C084E0A4
+:100A700001C080E0892B7D9902C038E001C030E0E0
+:100A8000832B7E9902C020E101C020E0822B9FB120
+:100A90009095991F9927991F9295990F907E892B70
+:100AA0000FC080910001811149C080E40E943A0486
+:100AB00080930001882379F1B12C0E945C048B2D76
+:100AC000F8019081981719F08083C09201010E946B
+:100AD0007F0421960F5F1F4FCE30D10509F076CFEE
+:100AE00080910101882361F1815080930101882365
+:100AF00039F08FE99FE00197F1F700C0000020C0B6
+:100B0000A4E4B1E0E6E3F1E0CF01825F91919D932F
+:100B10008E13FCCF15C083E10E9464048093000112
+:100B20008111CACF81E40E943A04809300018111AF
+:100B3000C3CF0E947504B82EB094BFCF80E0C0CF61
+:100B40000E94750381E0DF91CF911F910F91FF907B
+:100B5000EF90DF90CF90BF900895E82FF0E0EC5B2E
+:100B6000FE4F808108950895089596E0799FF001E1
+:100B7000112494E5899FE00DF11D1124E60FF11D6C
+:100B8000EE0FFF1FE052FF4F859194910895880F5B
+:100B9000991FFC01E05AF040859194910895880FC7
+:100BA000991FFC01E052FF4F8591949108950F9396
+:100BB0001F93CF93DF93EC018115904350F5C1153E
+:100BC00080E2D80708F0B3C0CB3BD10590F4C83A17
+:100BD000D10508F05AC0C53AD10508F04BC0C43061
+:100BE000D10508F0BBC1219709F0B5C101E010E0C3
+:100BF000F5C1CF3FD10511F008F0B0C1C03FD1051C
+:100C000008F092C0CE01805E9109089708F4A6C151
+:100C1000A2C1C11591E5D907A8F4C23020E5D207D9
+:100C200008F09EC0C11580E5D80709F485C008F01A
+:100C300091C0C11520E4D20708F08DC1DD278E01D7
+:100C4000106CCCC1C11580E8D80758F4C11590E7E5
+:100C5000D90708F07CC1C11520E6D20708F422C1EB
+:100C60007AC1C11580E9D80708F075C1DF708E011F
+:100C7000106AB4C1C53AD10509F472C1C63AD105AA
+:100C800009F071C102E810E4A9C1C83AD10509F41C
+:100C90006DC1C93AD10509F46CC1CA3AD10509F44C
+:100CA0006BC1CB3AD10509F46AC1CC3AD10509F43C
+:100CB00069C1CD3AD10509F468C1C03BD10509F439
+:100CC00067C1CE3AD10509F466C1CF3AD10509F41E
+:100CD00065C1C13BD10509F464C1C23BD10509F42A
+:100CE00063C1C33BD10509F462C1C43BD10509F41A
+:100CF00061C1C53BD10509F460C1C63BD10509F40A
+:100D00005FC1C73BD10509F45EC1C83BD10509F4F9
+:100D10005DC1C93BD10509F45CC1CA3BD10509F4E9
+:100D20005BC100E014E45AC18E01106557C1CE01C9
+:100D30009F700E94CF0553C10E9426159FEF24E3A8
+:100D40008CE0915020408040E1F700C000000E94FC
+:100D50005E1C44C18091CD0181608093CD013EC174
+:100D60000E94071E811102C00E94ED1D0E94241ED8
+:100D700090E09093EE018093ED01C23090E5D907A9
+:100D800021F48091ED01816086C0C43020E5D20756
+:100D900021F48091ED0182607EC0C63080E5D807E5
+:100DA00021F48091ED01846076C0C83090E5D907C8
+:100DB00019F48091ED0127C0CA3020E5D20721F453
+:100DC0008091ED01806167C0CC3080E5D80721F4C7
+:100DD0008091ED0180625FC0CE3090E5D90721F4AB
+:100DE0008091ED01806457C0C03120E5D20721F425
+:100DF0008091ED0180684FC0C23180E5D80729F4A9
+:100E00008091ED018460886046C0C33090E5D907C9
+:100E100021F48091ED018E7F3EC0C53020E5D207E0
+:100E200021F48091ED018D7F36C0C73080E5D80771
+:100E300021F48091ED018B7F2EC0C93090E5D90758
+:100E400019F48091ED0126C0CB3020E5D20721F4C2
+:100E50008091ED018F7E1FC0CD3080E5D80721F451
+:100E60008091ED018F7D17C0CF3090E5D90721F437
+:100E70008091ED018F7B0FC0C13120E5D20721F4B5
+:100E80008091ED018F7707C0C331D04531F4809157
+:100E9000ED018B7F877F8093ED018091ED010E94B2
+:100EA000281E9CC08D2F99278F709927813091051E
+:100EB000D9F49E012370332702C0880F991F2A9509
+:100EC000E2F79C688E0144E0000F111F4A95E1F79C
+:100ED00000271370802B912B53E0CC0FDD1F5A9508
+:100EE000E1F7C076DD272FC08230910531F4DC2F89
+:100EF000CC278E01016F106A71C08330910569F4AF
+:100F0000CE018370992701E010E002C0000F111F8D
+:100F10008A95E2F7C8019C680FC0049709F05EC08B
+:100F2000CE018370992701E010E002C0000F111F6D
+:100F30008A95E2F7C8019A6823E0CC0FDD1F2A9555
+:100F4000E1F7C07ED7708C010C2B1D2B47C0DF70E2
+:100F50008E01106243C000E010E040C08E013EC030
+:100F600001E810E43BC003E810E438C002EE14E4EA
+:100F700035C009EE14E432C00AEE14E42FC005EBCC
+:100F800014E42CC006EB14E429C007EB14E426C0DB
+:100F90000CEC14E423C00DEC14E420C003E815E4C9
+:100FA0001DC00AE815E41AC002E915E417C004E9F7
+:100FB00015E414C001E216E411C003E216E40EC009
+:100FC00004E216E40BC005E216E408C006E216E4EB
+:100FD00005C007E216E402C00AE216E4C801DF9188
+:100FE000CF911F910F91089596E0799FF001112400
+:100FF00094E5899FE00DF11D1124E60FF11DEE0F20
+:10100000FF1FE052FF4F85919491803E9105E0F4DF
+:10101000803C910558F58133910509F46FC048F47F
+:101020008932910509F463C08A32910509F46DC0D3
+:1010300072C089339105E9F082389105D1F085338A
+:10104000910509F44DC067C0833E910581F138F4E4
+:10105000803E9105B9F0823E9105D9F05CC0863E94
+:10106000910561F1873E9105A1F155C00E94C70528
+:1010700008952091ED0120FD02C021FF4CC080EEBB
+:1010800090E049C08091ED0180FFF9CF89E390E0C5
+:1010900042C08091ED0182FF0EC08091ED0184FF7E
+:1010A00003C080E090E037C083EE90E034C08091D0
+:1010B000ED0182FFF2CF82EE90E02DC08091ED0134
+:1010C00083FF0BC08091ED0184FDEBCF87EE90E0B4
+:1010D00022C08091ED0183FFF5CF86EE90E01BC02A
+:1010E0008091ED0185FF07C089E290E014C08091F6
+:1010F000ED0185FFF9CF85E390E00DC08091ED0112
+:1011000086FF07C08AE290E006C08091ED0186FF6D
+:10111000F9CF81E390E00E94D705089508950C94DB
+:101120008E08809162010895CF93DF9300D01F92C3
+:10113000CDB7DEB79C018091E401843019F593E0CE
+:1011400099833B832A839093E9008FEF9091E80085
+:10115000815095FD06C095ED9A95F1F7000081113B
+:10116000F5CF8091E80085FF0DC040E050E063E0DE
+:1011700070E0CE0101960E94FE0A8091E8008E7711
+:101180008093E8000F900F900F90DF91CF9108951A
+:10119000CF93DF9300D01F92CDB7DEB72091E4014B
+:1011A000243021F522E029839B838A8383E0809386
+:1011B000E9008FEF9091E800815095FD06C095ED14
+:1011C0009A95F1F700008111F5CF8091E80085FF35
+:1011D0000DC040E050E063E070E0CE0101960E9457
+:1011E000FE0A8091E8008E778093E8000F900F90C0
+:1011F0000F90DF91CF9108952091E4012430F1F414
+:1012000022E02093E9002FEF3091E800215035FDD6
+:1012100006C035ED3A95F1F700002111F5CF209188
+:10122000E80025FF0BC040E050E065E070E00E9460
+:10123000FE0A8091E8008E778093E8000895CF93AE
+:10124000DF93EC019091E401943009F046C0809165
+:101250000C018823D9F080910D018823B9F0909377
+:10126000E9008FEF9091E800815095FD06C095E16F
+:101270009A95F1F700008111F5CF8091E80085FF84
+:101280002CC040E050E060E170E017C081E0809346
+:10129000E9008FEF9091E800815095FD06C095ED33
+:1012A0009A95F1F700008111F5CF8091E80085FF54
+:1012B00014C040E050E068E070E0CE010E94FE0AF9
+:1012C0008091E8008E778093E80080E1FE01A2E53E
+:1012D000B1E001900D928A95E1F7DF91CF910895E9
+:1012E0008091E301811109C00E94930C0E94F00CCF
+:1012F0008091E20084608093E20008951092E301FF
+:10130000089508950C9497220E94F41B0E949D2238
+:101310000E94960F0C948F0842E061EC81E00E94DD
+:101320000D0C42E061EC82E00E940D0C42E061ECA9
+:1013300083E00E940D0C42E161EC84E00C940D0C02
+:101340008091E601833009F455C030F4813071F0AA
+:10135000823009F48EC008958A3009F47AC08B3047
+:1013600009F460C0893009F09CC020C08091E5017B
+:10137000813A09F096C08091E800877F8093E80069
+:101380008091E9019091EA01892B21F460E182E5E5
+:1013900091E003C060E080E090E070E00E94490BC3
+:1013A0008091E8008B778093E80008958091E501B3
+:1013B000813209F076C08091E9019091EA010097AD
+:1013C00019F0039709F06DC08091E800877F809342
+:1013D000E8008091E80082FD05C08091E401811160
+:1013E000F8CF5FC08091F100809362018091E800A6
+:1013F0008B7753C08091E501813A09F052C080910A
+:10140000E9019091EA01892B09F04BC08091E80035
+:10141000877F8093E8008091E80080FFFCCF809177
+:101420000C0136C08091E5018132D9F58091E90146
+:101430009091EA01892BA9F58091E800877F80933C
+:10144000E8000E94420C8091E70180930C010C940B
+:1014500026158091E501813221F58091E800877F92
+:101460008093E8000E94420C8091E8018093630120
+:1014700008958091E501813AA1F48091E800877F89
+:101480008093E8008091E80080FFFCCF80916301A9
+:101490008093F1008091E8008E778093E8000C94AF
+:1014A000420C089584B7877F84BF88E10FB6F89413
+:1014B00080936000109260000FBE90E080E80FB64D
+:1014C000F89480936100909361000FBE0E94E50F35
+:1014D0000E94930C0E94F00C8091E2008460809343
+:1014E000E20078940E94760F0E94E70F82E091E07C
+:1014F0000E94910F0E9485228091E401853069F459
+:101500000E94B51B8091E2018823B1F30E94E01B89
+:10151000882391F30E94E80AEFCF0E94ED0FECCFF1
+:10152000292F332723303105C9F064F421303105E8
+:1015300081F02230310509F043C08DE690E02CE5C2
+:1015400034E042C021323105F1F02232310541F15F
+:1015500037C082E190E029EC34E036C09927813031
+:10156000910541F08230910541F0892B49F5E8E57C
+:10157000F4E005C0E0E4F4E002C0E8E2F4E08491C5
+:1015800090E09F0121C06430D8F4E62FF0E0EE0F28
+:10159000FF1FEE5DFE4F2081318189E090E014C095
+:1015A000643070F470E0FB01EE0FFF1FE65EFE4F4B
+:1015B00020813181FB01EA5EFE4F808190E004C012
+:1015C00080E090E020E030E0FA013183208308954C
+:1015D00080E189BD82E189BD09B400FEFDCF809123
+:1015E000D8008F7D8093D8008091E0008260809346
+:1015F000E0008091E00081FDFCCF0895CF92DF9262
+:10160000EF92FF920F931F93CF93DF93EC018B0127
+:101610006A010E94610C811133C0C114D10439F0F8
+:10162000F60180819181081B190BC80FD91FE12C8D
+:10163000F12C0115110519F18091E80085FD16C006
+:101640008091E8008E778093E800C114D10449F0BE
+:10165000F60180819181E80EF91EF182E08285E039
+:101660000FC00E94610C882321F30AC089918093E6
+:10167000F10001501109FFEFEF1AFF0ADACF80E005
+:10168000DF91CF911F910F91FF90EF90DF90CF905E
+:1016900008952091EB013091EC012617370748F0AF
+:1016A0006115710539F42091E8002E772093E80048
+:1016B00001C0B90140E061157105A9F12091E40173
+:1016C000222309F443C0253009F442C02091E800E8
+:1016D00023FD40C02091E80022FD32C02091E800A7
+:1016E00020FFE9CF4091F3002091F20030E0342B4D
+:1016F000FC01CF016115710559F02830310540F426
+:1017000081918093F100615071092F5F3F4FF1CFBC
+:1017100041E02830310509F040E02091E8002E77C3
+:101720002093E800C8CF4111C9CF0AC08091E401DD
+:10173000882361F0853061F08091E80083FD0AC064
+:101740008091E80082FFF2CF80E0089582E0089562
+:1017500083E0089581E008952091EB013091EC0140
+:101760002617370748F06115710539F42091E80014
+:101770002E772093E80001C0B901FC0120E061153B
+:10178000710591F18091E401882309F440C085300E
+:1017900009F43FC08091E80083FD3DC08091E800DE
+:1017A00082FD2FC08091E80080FFE9CF2091F300F7
+:1017B0008091F20090E0922B6115710559F088300C
+:1017C000910540F424912093F10031966150710904
+:1017D0000196F2CF21E0089709F020E08091E8001F
+:1017E0008E778093E800CBCF2111CCCF0AC08091B7
+:1017F000E401882361F0853061F08091E80083FD89
+:101800000AC08091E80082FFF2CF80E0089582E074
+:10181000089583E0089581E00895982F973058F552
+:101820009093E900981739F07091EC002091ED0049
+:101830005091F00003C0242F762F50E021FF19C0F3
+:101840003091EB003E7F3093EB003091ED003D7F17
+:101850003093ED003091EB0031603093EB007093EA
+:10186000EC002093ED005093F0002091EE0027FF54
+:1018700007C09F5FD3CF8F708093E90081E0089508
+:1018800080E008958091E50187FF11C08091E80014
+:1018900082FD05C08091E4018111F8CF11C08091D3
+:1018A000E8008B770BC08091E401882349F0809198
+:1018B000E80080FFF8CF8091E8008E778093E80001
+:1018C00008952091E4003091E50095E64091EC0008
+:1018D000842F817040FF22C08091E80080FD1CC0F1
+:1018E0008091E401882391F0853091F08091EB00A4
+:1018F00085FD10C04091E4005091E5004217530768
+:1019000029F39A01915011F784E0089582E0089537
+:1019100083E0089581E0089580E008954091E80013
+:1019200042FFDECF08950E94010D0E94090DE0EEF6
+:10193000F0E0808181608083E8EDF0E080818F7746
+:10194000808319BCA7EDB0E08C918E7F8C93808151
+:101950008F7E80831092E30108950F931F93CF939E
+:10196000DF930E94010D0E94090DC8EDD0E088812F
+:101970008F77888388818068888388818F7D88833A
+:1019800019BC1092E4011092E0011092E201109251
+:10199000E10100EE10E0F80180818B7F8083888177
+:1019A0008160888342E060E080E00E940D0CE1EEFF
+:1019B000F0E080818E7F8083E2EEF0E080818160C4
+:1019C0008083808188608083F80180818E7F80831E
+:1019D000888180618883DF91CF911F910F91089555
+:1019E000E8EDF0E080818F7E8083E7EDF0E080819C
+:1019F0008160808384E082BF81E08093E3010C9466
+:101A0000AD0CE8EDF0E080818E7F80831092E200E3
+:101A100008951092DA001092E10008951F920F923B
+:101A20000FB60F9211242F933F934F935F936F93B1
+:101A30007F938F939F93AF93BF93EF93FF93809187
+:101A4000E10082FF0BC08091E20082FF07C080911D
+:101A5000E1008B7F8093E1000E94750F8091DA0096
+:101A600080FF1FC08091D80080FF1BC08091DA00EA
+:101A70008E7F8093DA008091D90080FF0DC080E1D5
+:101A800089BD82E189BD09B400FEFDCF81E080936C
+:101A9000E4010E94700905C019BC1092E4010E9483
+:101AA0007E098091E10080FF19C08091E20080FFF3
+:101AB00015C08091E2008E7F8093E2008091E20069
+:101AC00080618093E2008091D80080628093D8008A
+:101AD00019BC85E08093E4010E9482098091E100B5
+:101AE00084FF30C08091E20084FF2CC080E189BD7A
+:101AF00082E189BD09B400FEFDCF8091D8008F7DC1
+:101B00008093D8008091E1008F7E8093E1008091E6
+:101B1000E2008F7E8093E2008091E20081608093FA
+:101B2000E2008091E001882311F084E007C08091F9
+:101B3000E30087FD02C081E001C083E08093E401FF
+:101B40000E9484098091E10083FF29C08091E20016
+:101B500083FF25C08091E100877F8093E10082E0D0
+:101B60008093E4011092E0018091E1008E7F8093E8
+:101B7000E1008091E2008E7F8093E2008091E2009C
+:101B800080618093E20042E060E080E00E940D0C02
+:101B90008091F00088608093F0000E948109FF919D
+:101BA000EF91BF91AF919F918F917F916F915F91D5
+:101BB0004F913F912F910F900FBE0F901F9018954E
+:101BC0001F920F920FB60F9211242F933F934F93B2
+:101BD0005F936F937F938F939F93AF93BF93CF93B5
+:101BE000DF93EF93FF93C091E900CF708091EC00F9
+:101BF000D82FD17080FDD0E81092E9008091F000DC
+:101C0000877F8093F00078940E94240E1092E90060
+:101C10008091F00088608093F000CD2BCF70C0934E
+:101C2000E900FF91EF91DF91CF91BF91AF919F912B
+:101C30008F917F916F915F914F913F912F910F9075
+:101C40000FBE0F901F9018951F93CF93DF93CDB7C2
+:101C5000DEB7AA970FB6F894DEBF0FBECDBFE5EE94
+:101C6000F1E088E08E0F9091F10091938E13FBCFFD
+:101C70000E94A0098091E80083FF1FC18091E501C7
+:101C80009091E601492F50E04A30510508F015C106
+:101C9000FA01EA5AFF4F0C941F24803881F08238F1
+:101CA00009F00BC18091E9018F708093E900809168
+:101CB000EB0085FB882780F91092E90006C080912F
+:101CC000E1019091E201911182609091E800977F8B
+:101CD0009093E8008093F1001092F100C8C0282F83
+:101CE0002D7F09F0EAC0882319F0823061F0E5C049
+:101CF0008091E701813009F0E0C0933009F080E085
+:101D00008093E2012BC08091E701811127C080916F
+:101D1000E9018F7009F4D1C08093E9002091EB00B4
+:101D200020FF1CC0933021F48091EB00806214C02E
+:101D30009091EB0090619093EB0021E030E0A901DD
+:101D400002C0440F551F8A95E2F74093EA001092B3
+:101D5000EA008091EB0088608093EB001092E9002C
+:101D60008091E800877F86C08111A7C01091E701AC
+:101D70001F778091E3008078812B8093E30080912E
+:101D8000E800877F8093E8000E94420C8091E80081
+:101D900080FFFCCF8091E30080688093E300111105
+:101DA00002C082E001C083E08093E40186C08058D5
+:101DB000823008F082C08091E7019091E8018C3D6B
+:101DC00053E0950779F583E08A838AE289834FB7E8
+:101DD000F894DE01139620E03EE051E2E32FF0E0BC
+:101DE00050935700E49120FF03C0E295EF703F5FEE
+:101DF000EF708E2F90E0EA3010F0C79601C0C096C9
+:101E00008D939D932F5F243149F74FBF8091E80058
+:101E1000877F8093E8006AE270E0CE0101960E941D
+:101E2000490B14C0AE014F5F5F4F6091E9010E9402
+:101E3000900ABC01892B09F440C09091E800977F7B
+:101E40009093E80089819A810E94AC0B8091E80010
+:101E50008B778093E80031C0803879F58091E80075
+:101E6000877F8093E8008091E0018093F10080916A
+:101E7000E8008E778093E8000E94420C1EC081111A
+:101E80001CC09091E7019230C0F48091E800877FF8
+:101E90008093E8009093E0010E94420C8091E00161
+:101EA000811106C08091E30087FD02C081E001C07E
+:101EB00084E08093E4010E948C098091E80083FF14
+:101EC0000AC08091E800877F8093E8008091EB0052
+:101ED00080628093EB00AA960FB6F894DEBF0FBE27
+:101EE000CDBFDF91CF911F9108950895CF93809139
+:101EF000E4018823A1F0C091E900CF709091EC003B
+:101F0000892F817090FD80E8C82B1092E9008091A4
+:101F1000E80083FD0E94240ECF70C093E900CF91AA
+:101F2000089590936901809368010895E091680194
+:101F3000F0916901309721F00190F081E02D099432
+:101F400080E00895E0916801F0916901309721F0F7
+:101F50000280F381E02D09940895E0916801F091E9
+:101F60006901309721F00480F581E02D09940895EE
+:101F700020916601309167018217930771F0909369
+:101F8000670180936601E0916801F09169013097E3
+:101F900021F00680F781E02D0994089520916401D5
+:101FA000309165018217930771F0909365018093DA
+:101FB0006401E0916801F0916901309721F000849B
+:101FC000F185E02D0994089508950C94E40F0E9482
+:101FD000FA1B0E94A7040C94C01CCF92DF92EF92D0
+:101FE000FF920F931F93CF93DF93CDB7DEB72B975D
+:101FF0000FB6F894DEBF0FBECDBF0E94BF048BE6C4
+:10200000C82E81E0D82E00E010E0E02E802F0E9444
+:10201000AD05F60141916F01F42EF826B1F40F5F82
+:102020001F4F0E30110589F78FEF89838A831B823A
+:102030000E94031C8160782F9D838C8349815A8183
+:102040006B818D810E94901040C09091CD0191FFD5
+:1020500004C08B870E94B3058B8520E030E04F2DB4
+:1020600050E0922FBA01022E02C0759567950A942E
+:10207000E2F760FF24C02E83EF8221E030E06901A7
+:1020800002C0CC0CDD1C9A95E2F790E08C219D21DA
+:10209000892B09F420E028870E94031C8160782F97
+:1020A0009A8789874E815F8168858A850E94901012
+:1020B000F801E559FE4F8081C826C08206C02F5F17
+:1020C0003F4F2630310569F6AACF0E94A71F109115
+:1020D0006A010E94960F1817A1F00E94960F809334
+:1020E0006A012B960FB6F894DEBF0FBECDBFDF910D
+:1020F000CF911F910F91FF90EF90DF90CF900C94B4
+:102100008F082B960FB6F894DEBF0FBECDBFDF91C0
+:10211000CF911F910F91FF90EF90DF90CF90089596
+:10212000CF93DF93CDB7DEB72B970FB6F894DEBF12
+:102130000FBECDBF4F83588769877A878B87DE01B3
+:10214000119686E0FD0111928A95E9F785E0FE017E
+:10215000379601900D928A95E1F749815A816B81FA
+:102160007C818D819E810E94C0172B960FB6F894BA
+:10217000DEBF0FBECDBFDF91CF9108950895CF93FD
+:10218000882309F4C2C0C82F823859F40E94960FE0
+:1021900081FDBBC089E30E94691A0E94361B89E356
+:1021A0000CC0833879F40E94960F80FDAEC083E5A1
+:1021B0000E94691A0E94361B83E50E94AB1ACF91D8
+:1021C0000C94361B843859F40E94960F82FD9DC0F2
+:1021D00087E40E94691A0E94361B87E4EECF8CEFD9
+:1021E0008C0F813A48F48C2F0E94EA2181118DC016
+:1021F0008C2F0E94691AE3CF80E28C0F883048F45C
+:10220000C77081E001C0880FCA95EAF70E94EF1AF3
+:10221000D6CF8BE58C0F833078F4C53A29F0C63AD7
+:1022200031F083E890E005C081E890E002C082E8E8
+:1022300090E0CF910C94B80F88E58C0F833108F0B3
+:1022400064C0C83A39F1C93A41F1CA3A49F1CB3AC6
+:1022500051F1CC3A59F1CD3A61F1C03B69F1CE3A36
+:1022600071F1CF3A79F1C13B81F1C23B89F1C33BB6
+:1022700091F1C43B99F1C53BA1F1C63BA9F1C73B24
+:10228000B1F1C83BB9F1C93BC1F1CA3BC9F180E02A
+:1022900090E038C082EE90E035C089EE90E032C028
+:1022A0008AEE90E02FC085EB90E02CC086EB90E0AA
+:1022B00029C087EB90E026C08CEC90E023C08DEC29
+:1022C00090E020C083E891E01DC08AE891E01AC048
+:1022D00082E991E017C084E991E014C081E292E0C4
+:1022E00011C083E292E00EC084E292E00BC085E26E
+:1022F00092E008C086E292E005C087E292E002C068
+:102300008AE292E0CF910C94CE0FCF91089588236A
+:1023100009F44BC0823859F40E94960F81FF45C0E2
+:1023200089E30E94691A0E94361B89E30CC0833836
+:1023300071F40E94960F80FF38C083E50E94691AED
+:102340000E94361B83E50E94AB1A0C94361B84381E
+:1023500059F40E94960F82FF28C087E40E94691AF0
+:102360000E94361B87E4EFCF9CEF980F913A58F309
+:1023700090E2980F983050F4877091E001C0990F67
+:102380008A95EAF7892F0E94F51ADFCF9BE5980F0F
+:10239000933020F480E090E00C94B80F885A833199
+:1023A00020F480E090E00C94CE0F0895882321F073
+:1023B0000E94EF1A0C94361B0895882321F00E9486
+:1023C000F51A0C94361B0895BF92CF92DF92EF92CC
+:1023D000FF920F931F93CF93DF9300D000D000D0D4
+:1023E000CDB7DEB725E0FC01DE01119601900D921C
+:1023F0002A95E1F7FC01D080118102812581229587
+:102400002F7043815481452B09F4FCC21F3F21F4F6
+:10241000FFEFDF1609F4F6C27C012E830E94BE1086
+:10242000D9821A8369817A81802F0E94651A182FB8
+:10243000B92E0E941A1A0E94E1182E81002319F069
+:102440000E940C1B2E81EB2DE295EF70F0E0E05A1C
+:10245000FF4F0C941F248B2D807F9B2D9F70F92E96
+:10246000882319F0F29480EFF822002389F0FF20EE
+:1024700009F475C280E2810F883020F48F2D0E940C
+:10248000EF1A03C08F2D0E94FF1A0E94361B67C2ED
+:10249000812F0E948711FF2009F4B4C2105E8F2D96
+:1024A000183018F40E94F51A02C00E94051B2696E7
+:1024B0000FB6F894DEBF0FBECDBFDF91CF911F9155
+:1024C0000F91FF90EF90DF90CF90BF900C94361B50
+:1024D0003B2D307F8B2D8F70303211F08295807FB5
+:1024E000112319F0113021F12CC00023B9F022235F
+:1024F00009F4A0C1213009F09DC126960FB6F894C9
+:10250000DEBF0FBECDBFDF91CF911F910F91FF9026
+:10251000EF90DF90CF90BF900C941F1B222319F0F7
+:10252000213009F46FC28E830E94221B8E8196C1D6
+:10253000002321F0223008F065C27CC1211162C263
+:102540008DC1002321F0222309F474C108C2222383
+:1025500009F484C119C22B2D26952695237030E0ED
+:102560002115310521F021303105D1F04BC2002376
+:1025700021F0812F9B2D937002C080E090E0269681
+:102580000FB6F894DEBF0FBECDBFDF91CF911F9184
+:102590000F91FF90EF90DF90CF90BF900C94B80F09
+:1025A000002321F0812F9B2D937002C080E090E0EA
+:1025B00026960FB6F894DEBF0FBECDBFDF91CF9148
+:1025C0001F910F91FF90EF90DF90CF90BF900C94F0
+:1025D000CE0F812F002319F00E94AF1E02C00E946F
+:1025E000171F26960FB6F894DEBF0FBECDBFDF9142
+:1025F000CF911F910F91FF90EF90DF90CF90BF9000
+:102600000C949C1F8B2D837009F07BC00111FAC1C3
+:10261000812F829586958770880F880F912F9F70E4
+:10262000C92ED12CE12CF12C082E04C0CC0CDD1CC1
+:10263000EE1CFF1C0A94D2F714FF12C04FE050E0CA
+:1026400060E070E004C0440F551F661F771F8A9535
+:10265000D2F7CB01BA01609570958095909503C033
+:1026600060E070E0CB012B2D269526952370422F3C
+:1026700050E042305105D9F04330510569F16C29E1
+:102680007D298E299F294130510551F126960FB69B
+:10269000F894DEBF0FBECDBFDF91CF911F910F9198
+:1026A000FF90EF90DF90CF90BF900C9408196C29A9
+:1026B0007D298E299F2926960FB6F894DEBF0FBE7E
+:1026C000CDBFDF91CF911F910F91FF90EF90DF90E1
+:1026D000CF90BF900C9424190E940819C701B6012D
+:1026E00026960FB6F894DEBF0FBECDBFDF91CF9117
+:1026F0001F910F91FF90EF90DF90CF90BF900C94BF
+:10270000EC18002319F08B2D817001C08695882369
+:1027100009F478C1812F829586958770880F880F7C
+:10272000912F9F70C92ED12CE12CF12C082E04C0C2
+:10273000CC0CDD1CEE1CFF1C0A94D2F714FF12C057
+:102740004FE050E060E070E004C0440F551F661F8A
+:10275000771F8A95D2F7CB01BA0160957095809565
+:10276000909503C060E070E0CB012B2D2695269557
+:102770002370422F50E042305105D9F043305105CB
+:1027800069F16C297D298E299F294130510551F12C
+:1027900026960FB6F894DEBF0FBECDBFDF91CF9166
+:1027A0001F910F91FF90EF90DF90CF90BF900C940E
+:1027B000E2196C297D298E299F2926960FB6F89457
+:1027C000DEBF0FBECDBFDF91CF911F910F91FF9064
+:1027D000EF90DF90CF90BF900C94FE190E94E21909
+:1027E000C701B60126960FB6F894DEBF0FBECDBF67
+:1027F000DF91CF911F910F91FF90EF90DF90CF90DD
+:10280000BF900C94C619103FD1F118F4103E50F44B
+:10281000A1C0123F09F463C008F44CC0133F09F48F
+:1028200073C098C01F708B2D8F710023A1F00E9480
+:102830005F19812F26960FB6F894DEBF0FBECDBF6D
+:10284000DF91CF911F910F91FF90EF90DF90CF908C
+:10285000BF900C94D6110E948019812F26960FB636
+:10286000F894DEBF0FBECDBFDF91CF911F910F91C6
+:10287000FF90EF90DF90CF90BF900C94DD1100237C
+:10288000A9F02111BFC08B2D8F7126960FB6F89439
+:10289000DEBF0FBECDBFDF91CF911F910F91FF9093
+:1028A000EF90DF90CF90BF900C94A519223008F0E4
+:1028B000A9C0E9CF0023A9F08B2D8F7126960FB602
+:1028C000F894DEBF0FBECDBFDF91CF911F910F9166
+:1028D000FF90EF90DF90CF90BF900C945F19002392
+:1028E00059F38B2D8F7126960FB6F894DEBF0FBE6D
+:1028F000CDBFDF91CF911F910F91FF90EF90DF90AF
+:10290000CF90BF900C948019002399F08B2D8F717C
+:1029100026960FB6F894DEBF0FBECDBFDF91CF91E4
+:102920001F910F91FF90EF90DF90CF90BF900C948C
+:102930004A1926960FB6F894DEBF0FBECDBFDF91C1
+:10294000CF911F910F91FF90EF90DF90CF90BF90AC
+:102950000C9440190023A9F0222309F4ADCF812F54
+:1029600026960FB6F894DEBF0FBECDBFDF91CF9194
+:102970001F910F91FF90EF90DF90CF90BF900C943C
+:10298000BF10222309F4ADCF812F26960FB6F894FD
+:10299000DEBF0FBECDBFDF91CF911F910F91FF9092
+:1029A000EF90DF90CF90BF900C9487114B2D4F701C
+:1029B000612FC7010E94510326960FB6F894DEBF1F
+:1029C0000FBECDBFDF91CF911F910F91FF90EF9080
+:1029D000DF90CF90BF900C9464184B2D4F70612FF7
+:1029E000C70126960FB6F894DEBF0FBECDBFDF91AC
+:1029F000CF911F910F91FF90EF90DF90CF90BF90FC
+:102A00000C94B40526960FB6F894DEBF0FBECDBF6A
+:102A1000DF91CF911F910F91FF90EF90DF90CF90BA
+:102A2000BF9008950E940C1B0E941C1B0E94E11A7B
+:102A30000E94361B0E944D200E949C1F80E090E067
+:102A40000E94B80F80E090E00C94CE0F0E94FC1A18
+:102A50000C9412150E945A1A292F22952F7030E0DB
+:102A60002C3031054CF42A3031056CF422503109F8
+:102A70002230310588F407C02C30310549F02F3061
+:102A8000310531F009C0803E48F0803F29F406C08E
+:102A900093FB882780F9089580E0089581E00895E8
+:102AA000CF93DF9300D000D01F92CDB7DEB70F9049
+:102AB0000F900F900F900F90DF91CF910895CF93CB
+:102AC000DF9300D000D000D0CDB7DEB726960FB68A
+:102AD000F894DEBF0FBECDBFDF91CF9108951F9355
+:102AE000CF93DF93C091790116E080917A01C817E6
+:102AF00099F0D0E01C9FF0011D9FF00D1124E558C6
+:102B0000FE4F4081518162817381848195810E9451
+:102B10005F152196C770E9CFDF91CF911F9108957E
+:102B20004091AB015091AC016091AD017091AE014B
+:102B30008091AF019091B0010C945F158091B0012C
+:102B400082958F7009F054C08091AD01882309F4FB
+:102B50004FC080917901A0917A016091AB01709191
+:102B6000AC014091AE015091AF01B6E08A1709F473
+:102B70003FC090E041155105C1F17F3F11F46F3F17
+:102B8000A1F1B89FF001B99FF00D1124E558FE4F57
+:102B9000218172132AC02081621327C02281211152
+:102BA00024C0238134812417350710F421503109C2
+:102BB000241B350B283C3105C0F42091B0012F7047
+:102BC00020612093B00126E0289FF001299FF00D9D
+:102BD0001124E058FE4F80818F70806180838BEAE2
+:102BE00091E00E94E4110C946F1501968770BECF9E
+:102BF0000895CF92DF92EF92FF920F931F93CF939E
+:102C0000DF93CDB7DEB762970FB6F894DEBF0FBE85
+:102C1000CDBF8C0185E0F801DE011D9601900D927B
+:102C20008A95E1F7D8014C9111965C911197129613
+:102C30006C9112971396CD90DC9014973091AB0164
+:102C40007091AC018091AE019091AF01009709F4B1
+:102C50006BC17F3F19F43F3F09F466C1E090AD01BD
+:102C6000EE2009F4C0C02091B001C816D90628F0A2
+:102C7000F601E81BF90BCF0104C0809590958C0DEF
+:102C80009D1DFF24F394883C910578F0F12C207F62
+:102C900009F0C6C07C2DD98AC88A89890E9450153E
+:102CA0008BEA91E00E94E411B1C0822F807F09F08D
+:102CB00046C0751314C0341312C0611110C02F70B8
+:102CC00020612093B0010E9490158BEA91E00E9450
+:102CD000E4118091B001D80115968C932EC0CD28B7
+:102CE00019F15F3F11F44F3FF9F0F62E61111CC04E
+:102CF0008091790120917A0136E0821709F45AC057
+:102D000090E0389FF001399FF00D1124E558FE4FF7
+:102D10007181571306C07081471303C0728171110E
+:102D200003C001968770E9CFF62E662309F418C117
+:102D30008091B00181608093B001F12C11C17513B5
+:102D400008C0341306C0611104C08091B001D801DD
+:102D5000C3C04D875E878D859E856A8B0E942A152C
+:102D60006A898823E1F16623D1F12091B001822F95
+:102D700082958F7090E0029774F08091AB019091F2
+:102D8000AC0198878F831986DB86CA862C87CE0193
+:102D900007960E94E41186E0F801ABEAB1E00190E9
+:102DA0000D928A95E1F70E949E150E949015FF24CE
+:102DB000F394D6C04D875E878D859E850E945A1AF2
+:102DC000292F22952F7030E0223031050CF0BCC045
+:102DD0009F7009F0B6C0805E883008F4C1C0C80199
+:102DE0000E94E411E4CFC816D90608F453C0F601D6
+:102DF000E81BF90BCF01883C910508F450C0F12C79
+:102E00007C2DD98AC88A89890E945015EBEAF1E0A5
+:102E100086E0DF011D928A95E9F70E949015A0C017
+:102E2000751314C0341312C0611110C08091B00129
+:102E3000F8018583C8010E94E41186E0EBEAF1E025
+:102E4000DF011D928A95E9F7FE2C8AC04D875E87C7
+:102E50008D859E856A8B0E942A156A89882309F4CC
+:102E6000BECF662309F4BBCF2091B001822F82959B
+:102E70008F7090E002970CF48ECF8091AB0190910F
+:102E8000AC019A8389831B82DD82CC822E83CE01A2
+:102E900001967FCF809590958C0D9D1DACCFF62E21
+:102EA000662309F49CCF75132EC034132CC02091D7
+:102EB000B00120FD1FC0822F82958F70D9F0D801FC
+:102EC00015962C9315978F3049F08F5F982F929518
+:102ED000907F822F8F70892B15968C93C8010E944A
+:102EE000E41186E0F801ABEAB1E001900D928A9519
+:102EF000E1F793CF86E0F801ABEAB1E001900D92E3
+:102F00008A95E1F72DC04D875E878D859E850E944D
+:102F10002A15811140CF8091B00181608093B0016A
+:102F2000C8010E94E4111CC0662309F458CF4D87E4
+:102F30005E878D859E850E942A15882309F44FCFD0
+:102F40002ACF811148CF0CC0243031050CF047CF77
+:102F50009F7009F440CFF8019581907F09F03BCF35
+:102F60008F2D62960FB6F894DEBF0FBECDBFDF91F6
+:102F7000CF911F910F91FF90EF90DF90CF90089528
+:102F80001F93CF93DF93CDB7DEB72C970FB6F8948E
+:102F9000DEBF0FBECDBF4F83588769877A878B8787
+:102FA0009C87CE0107960E94F915882369F08F81CE
+:102FB00098852A853B85232BF1F19F3F09F063C05B
+:102FC0008F3F09F060C037C086E0FE013796DE0112
+:102FD000119601900D928A95E1F76F817885EA85C7
+:102FE000FB85309741F17F3F11F46F3F21F1209134
+:102FF0007A0130E0C90101968770992740917901E3
+:1030000050E08417950709F447C069837A83FD83EC
+:10301000EC8396E0929FD001939FB00D1124A558A8
+:10302000BE4FFE01319601900D929A95E1F7809383
+:103030007A010E946F1516E08091790190917A01D2
+:103040008917C1F1189FC001112485589E4F0E9415
+:10305000F915882379F1E09179011E9FF00111247F
+:10306000E558FE4F40815181628173818481958151
+:103070000E945F158091790190E0019687709927F1
+:1030800080937901D9CF4F81588569857A858B8561
+:103090009C850E945F15CFCF0E94261510927A0161
+:1030A00010927901EBEAF1E086E0DF011D928A954A
+:1030B000E9F7C1CF2C960FB6F894DEBF0FBECDBF97
+:1030C000DF91CF911F910895EF92FF920F931F937D
+:1030D000CF93DF938C01892B09F46CC0F12CEE2483
+:1030E000E394E8012196F8018491843740F4843018
+:1030F00008F051C0813081F0823019F15BC0853712
+:1031000009F444C0A8F19CE7980F903708F052C02A
+:103110008F770E94871141C00E5F1F4FFE01C4913F
+:1031200080E28C0F883048F4C7708E2D01C0880F64
+:10313000CA95EAF70E940F1B14C08C2F0E94BF1083
+:103140002DC00E5F1F4FFE01C49180E28C0F8830AE
+:1031500058F4C7708E2D01C0880FCA95EAF70E94F7
+:10316000151B0E94361B1AC08C2F0E94871116C097
+:103170000E5F1F4FFE01C491CC2381F08FE99FE0C9
+:103180000197F1F700C00000C150F6CF0E5F1F4F4E
+:10319000FE01F49003C00E94BF108E018F2D882382
+:1031A00009F49FCFEFE9FFE03197F1F700C000008D
+:1031B0008150F5CFDF91CF911F910F91FF90EF904C
+:1031C000089508956093B5017093B6018093B70197
+:1031D0009093B8010C9412150F931F930091B501B1
+:1031E0001091B6012091B7013091B801DC01CB01FB
+:1031F000802B912BA22BB32B8093B5019093B6011A
+:10320000A093B701B093B8011F910F910C941215C0
+:103210000F931F930091B5011091B6012091B70152
+:103220003091B801DC01CB0180239123A223B32389
+:103230008093B5019093B601A093B701B093B80104
+:103240001F910F910C9412150F931F930091B501CC
+:103250001091B6012091B7013091B801DC01CB018A
+:1032600080279127A227B3278093B5019093B601B9
+:10327000A093B701B093B8011F910F910C94121550
+:103280001092B1011092B2011092B3011092B401E8
+:103290000C94121541E050E060E070E004C0440F6F
+:1032A000551F661F771F8A95D2F74093B10150933F
+:1032B000B2016093B3017093B4010C94121541E014
+:1032C00050E060E070E004C0440F551F661F771F98
+:1032D0008A95D2F78091B1019091B201A091B3018A
+:1032E000B091B401482B592B6A2B7B2B4093B10131
+:1032F0005093B2016093B3017093B4010C94121512
+:1033000041E050E060E070E004C0440F551F661FCC
+:10331000771F8A95D2F7409550956095709580916A
+:10332000B1019091B201A091B301B091B4014823D1
+:1033300059236A237B234093B1015093B2016093D8
+:10334000B3017093B4010C94121541E050E060E0B9
+:1033500070E004C0440F551F661F771F8A95D2F78F
+:103360008091B1019091B201A091B301B091B401EB
+:10337000482759276A277B274093B1015093B20110
+:103380006093B3017093B4010C9412150F931F93C3
+:103390000091B1011091B2012091B3013091B401BB
+:1033A000DC01CB01802B912BA22BB32B8093B1019D
+:1033B0009093B201A093B301B093B4011F910F9108
+:1033C0000C9412150F931F930091B1011091B2014B
+:1033D0002091B3013091B401DC01CB018023912312
+:1033E000A223B3238093B1019093B201A093B301C0
+:1033F000B093B4011F910F910C9412150F931F936A
+:103400000091B1011091B2012091B3013091B4014A
+:10341000DC01CB0180279127A227B3278093B1013C
+:103420009093B201A093B301B093B4011F910F9197
+:103430000C9412150895CF92DF92EF92FF920F93A2
+:103440001F93CF93DF938C01C090B501D090B6014C
+:10345000E090B701F090B8018091B1019091B20174
+:10346000A091B301B091B401C82AD92AEA2AFB2A53
+:10347000CFE1D0E0D701C6010C2E04C0B695A795C8
+:10348000979587950A94D2F780FF06C0B8018C2FD4
+:103490000E94F407019721F4219760F780E001C0B2
+:1034A0008C2FDF91CF911F910F91FF90EF90DF90C4
+:1034B000CF900895CF93DF93EC010E941B1ABE01B9
+:1034C0000E94F407DF91CF910895CB010E945A1A10
+:1034D000089590910C01992321F090910D01911183
+:1034E00009C020910E0130910F01F90132969FEF32
+:1034F00040E01FC0982F9695969596959F3050F571
+:10350000E0910E01F0910F01E90FF11D877021E0AC
+:1035100030E0A90102C0440F551F8A95E2F7CA01A5
+:103520009181892B818308959F3F39F04F5F4E3001
+:1035300041F051915813F8CF0DC05111F7CF942F8E
+:10354000F5CF9F3F39F0F901E90FF11D97FDFA958D
+:1035500082830895089590910C01992321F0909110
+:103560000D01911109C020910E0130910F01F90157
+:103570003296205F3F4F1FC0982F9695969596954F
+:103580009F30F0F4E0910E01F0910F01E90FF11D71
+:10359000877021E030E0A90102C0440F551F8A95D1
+:1035A000E2F7CA018095918189238183089531963C
+:1035B000E217F30729F090819813F9CF1082F7CF23
+:1035C000089581E090E0E0910E01F0910F01E80F85
+:1035D000F91F1082019680319105A9F70895909105
+:1035E000CC01892B8093CC01089580959091CC01DA
+:1035F00089238093CC0108951092CC010895909175
+:10360000CB01892B8093CB01089580959091CB01BC
+:1036100089238093CB0108951092CB010895909156
+:10362000CA01892B8093CA01089580959091CA019F
+:1036300089238093CA0108951092CA010895809346
+:10364000B90108951092B901089580910E019091E9
+:103650000F01FC0131969C01205F3F4F80E091916A
+:1036600091118F5FE217F307D1F70895E0910E01F2
+:10367000F0910F018091CC018083E0910E01F091D7
+:103680000F0190818091CB01892B8083E0910E0105
+:10369000F0910F0190818091CA01892B80838091E4
+:1036A000B901882361F0E0910E01F0910F01908142
+:1036B000892B80830E94251B81111092B901809172
+:1036C0000E0190910F010C94A20FCF92DF92EF9216
+:1036D000FF926C01EE24FF24C114D104E104F10433
+:1036E00021F0C701B60120E101C020E0C72ED82E8D
+:1036F000E92EFF24C114D104E104F10419F0285F7C
+:10370000C701B6016B017C0154E0F694E794D794AD
+:10371000C7945A95D1F7C114D104E104F10419F00A
+:103720002C5FC701B6016B017C0142E0F694E7947F
+:10373000D794C7944A95D1F7C114D104E104F10498
+:1037400019F02E5FC701B601DC01CB01B695A79534
+:1037500097958795892B8A2B8B2B09F02F5F822FCA
+:10376000FF90EF90DF90CF9008958091E401843036
+:1037700021F11092CE0120E488E190E00FB6F89498
+:10378000A895809360000FBE2093600080E00E94A7
+:103790008F0883B7817F846083BF83B7816083BFD5
+:1037A0007894889583B78E7F83BF88E10FB6F894AD
+:1037B00080936000109260000FBE089508950895F0
+:1037C000CF930E94DE1B0E94BF040E94DF1BC0E05B
+:1037D0008C2F0E94AD05811104C0CF5FCE30C1F7A0
+:1037E00001C081E0CF9108950E9426150E94960F96
+:1037F0000C948F0882E084BD93E095BD9AEF97BD4D
+:1038000080936E0008952FB7F8948091CF01909126
+:10381000D001A091D101B091D2012FBF0895CF92D4
+:10382000DF92EF92FF920F931F932FB7F89440917E
+:10383000CF015091D0016091D1017091D2012FBF81
+:103840006A017B01EE24FF248C0120E030E0C016E9
+:10385000D106E206F30610F4415051099A01281BE3
+:10386000390BC9011F910F91FF90EF90DF90CF901E
+:1038700008951F920F920FB60F9211248F939F936A
+:10388000AF93BF938091CF019091D001A091D101CE
+:10389000B091D2010196A11DB11D8093CF019093EB
+:1038A000D001A093D101B093D201BF91AF919F916C
+:1038B0008F910F900FBE0F901F9018950E94930C40
+:1038C000F8942FEF87EA91E6215080409040E1F78D
+:1038D00000C0000087E090EBDC018093EE01909344
+:1038E000EF01A093F001B093F1019CE088E10FB6E5
+:1038F000F894A895809360000FBE90936000FFCF6E
+:10390000EF92FF920F931F93CF93DF93D82FC0E0D6
+:103910008C2F0E94AD0500E010E0E82EF12CC701CD
+:10392000002E02C0959587950A94E2F780FD06C0A7
+:103930000F5F1F4F0630110591F709C0602F7C2FD4
+:1039400080E00E94B505D813F3CF81E004C0CF5FBB
+:10395000CE30F1F680E0DF91CF911F910F91FF9073
+:10396000EF900895CF93C82F8CE20E94801C88238B
+:1039700021F08C2FCF910C94801C80E0CF91089582
+:10398000CF930E94071E811102C00E94ED1DC5E663
+:10399000C15049F00E94BF048FE39CE90197F1F701
+:1039A00000C00000F5CF89E20E94B21C811113C152
+:1039B0008AE20E94B21C81110E94ED1D85E00E94E6
+:1039C000B21C81110E945E1C0E94121E8093CD01C8
+:1039D00087E00E94B21C8823A9F18BE10E94B21CEF
+:1039E000882351F08091CD0181FB222720F991E0BD
+:1039F000922790FB81F90EC08EE00E94B21C8823B2
+:103A000061F08091CD0182FB222720F991E092277D
+:103A100090FB82F98093CD0115C080E10E94B21C19
+:103A20009091CD01882341F093FB222720F981E07A
+:103A3000822780FB93F904C0892F809580FB90F941
+:103A40009093CD018091CD010E94161E0E94241EEC
+:103A50008093ED0180EE0E94B21C882341F080919A
+:103A6000ED01982F909590FB80F98093ED0189E30B
+:103A70000E94B21C882359F08091ED0181FB22271E
+:103A800020F991E0922790FB81F98093ED0182EE7D
+:103A90000E94B21C882359F08091ED0182FB2227FD
+:103AA00020F991E0922790FB82F98093ED0186EE58
+:103AB0000E94B21C882359F08091ED0183FB2227DC
+:103AC00020F991E0922790FB83F98093ED0183EE3A
+:103AD0000E94B21C882359F08091ED0184FB2227BB
+:103AE00020F991E0922790FB84F98093ED0185E322
+:103AF0000E94B21C882359F08091ED0185FB22279A
+:103B000020F991E0922790FB85F98093ED0181E304
+:103B10000E94B21C882359F08091ED0186FB222778
+:103B200020F991E0922790FB86F98093ED0181E1E5
+:103B30000E94B21C882359F08091ED0187FB222757
+:103B400020F991E0922790FB87F98093ED01809115
+:103B5000ED010E94281E8091ED0187FB882780F9E6
+:103B600080930D0187E20E94B21CC82F8EE10E9453
+:103B7000B21C8111C2608FE10E94B21C8111C4602D
+:103B800080E20E94B21C8111C86081E20E94B21CD6
+:103B90008111C06182E20E94B21C8111C06283E285
+:103BA0000E94B21C8111C06484E20E94B21C88236E
+:103BB00011F0C06802C0CC2329F08C2F0E941F1E78
+:103BC0006C2F03C00E941B1E682F70E080E090E005
+:103BD000CF910C94E218CF9108956DEE7EEF80E0C6
+:103BE00090E00E94552460E082E090E00E9447242B
+:103BF00060E083E090E00E94472460E084E090E091
+:103C00000E94472460E085E090E00C94472480E027
+:103C100090E00E94412421E08D3E9E4F09F020E07B
+:103C2000822F089582E090E00C943924682F82E07E
+:103C300090E00C94472483E090E00C943924682FA2
+:103C400083E090E00C94472484E090E00C943924C5
+:103C5000682F84E090E00C9447248091D50180FF88
+:103C60000BC06091130185E0689FB0011124759528
+:103C70006795759567952BC081FF09C06091130109
+:103C800085E0689FB00111247595679520C082FF7B
+:103C900007C06091130185E0689FB001112417C02F
+:103CA0009091D6019923D1F060911201961788F76F
+:103CB0002091130185E0289F90011124929FA0017B
+:103CC000939F500D112470E0CA010E940B246038AC
+:103CD000710540F46115710539F002C065E070E0CE
+:103CE000862F08958FE7089581E008958091D5018A
+:103CF00080FF08C06091110170E07595679575951A
+:103D0000679521C081FF06C06091110170E0759533
+:103D1000679519C082FF04C06091110170E010C066
+:103D20009091D6019923C1F0609110019617A0F7E8
+:103D300080911101899FC001112470E00E940B2421
+:103D40006038710528F46115710521F0862F0895FA
+:103D50008FE7089581E0089561E070E0F4CF803F3F
+:103D600021F40E942D1E819504C0813F29F40E94F8
+:103D70002D1E8093D9010895823F21F40E942D1EAB
+:103D8000819504C0833F29F40E942D1E8093D801A1
+:103D90000895893F19F40E94761E05C08A3F31F4C8
+:103DA0000E94761E81958093DA0108958B3F21F45D
+:103DB0000E94761E819504C08C3F29F40E94761ED5
+:103DC0008093DB010895843F21F48091D7018160C5
+:103DD00017C0853F21F48091D701826011C0863FD2
+:103DE00021F48091D70184600BC0873F21F480913A
+:103DF000D701886005C0883F31F48091D701806188
+:103E00008093D70108958D3F21F48091D501816081
+:103E10000BC08E3F21F48091D501826005C08F3F99
+:103E200029F48091D50184608093D5010895803F65
+:103E300039F48091D90187FF6CC01092D90169C013
+:103E4000813F29F48091D9011816BCF362C090918A
+:103E5000D801823F29F497FF5CC01092D80159C065
+:103E6000833F19F41916CCF354C0893F41F4809173
+:103E7000DA0118160CF04DC01092DA014AC08A3FE0
+:103E800029F48091DA0187FF44C0F6CF8B3F39F4E3
+:103E90008091DB0187FF3DC01092DB013AC08C3F6F
+:103EA00029F48091DB011816BCF333C0843F21F460
+:103EB0008091D7018E7F17C0853F21F48091D70173
+:103EC0008D7F11C0863F21F48091D7018B7F0BC07D
+:103ED000873F21F48091D701877F05C0883F31F467
+:103EE0008091D7018F7E8093D70113C08D3F21F43D
+:103EF0008091D5018E7F0BC08E3F21F48091D5013A
+:103F00008D7F05C08F3F29F48091D5018B7F8093F1
+:103F1000D5018091D80181110EC08091D901811104
+:103F20000AC08091DA01811106C08091DB01811104
+:103F300002C01092D601089587ED91E00E94AD0F66
+:103F40000E94031C9093D4018093D30108951F9382
+:103F5000CF93DF938091D3019091D4010E940F1CE5
+:103F6000AC019091D601992321F02091140130E009
+:103F700006C0209115018AE0289F90011124421764
+:103F8000530708F486C08091D801C091D901D0911F
+:103F9000DA011091DB01811107C0C11176C0D11186
+:103FA00074C0111172C075C09F3F19F09F5F90934C
+:103FB000D601181624F40E942D1E8093D8018091FA
+:103FC000D80187FF05C00E942D1E81958093D801DE
+:103FD0001C1624F40E942D1E8093D9018091D901D2
+:103FE00087FF05C00E942D1E81958093D9016091A5
+:103FF000D801662339F1C091D901CC2319F1772773
+:1040000067FD7095872F972F0E941C2323E333E3CE
+:1040100043E35FE30E9480230E94E9226093D8017A
+:104020006C2F772767FD7095872F972F0E941C2391
+:1040300023E333E343E35FE30E9480230E94E9220A
+:104040006093D9011D1624F40E94761E8093DA0134
+:104050008091DA0187FF05C00E94761E81958093CA
+:10406000DA01111624F40E94761E8093DB01809100
+:10407000DB0187FF05C00E94761E81958093DB01DE
+:10408000DF91CF911F910C949C1F9F3F09F08ECF21
+:1040900096CFDF91CF911F910895E7EDF1E085E094
+:1040A000DF011D928A95E9F71092D6011092D50191
+:1040B0000895833081F128F4813059F08230D1F0B5
+:1040C0000895853009F449C0B8F1863009F456C026
+:1040D000089580911501262F30E0280F311D2F3FC4
+:1040E000310524F4680F6093150108958FEF8093D4
+:1040F0001501089580911401262F30E0280F311DFD
+:104100002F3F310524F4680F6093140108958FEF59
+:1041100080931401089580911301262F30E0280F19
+:10412000311D2F3F310524F4680F6093130108956A
+:104130008FEF80931301089580911201262F30E0B4
+:10414000280F311D2F3F310524F4680F60931201B1
+:1041500008958FEF80931201089580911101262F09
+:1041600030E0280F311D2F3F310524F4680F609394
+:10417000110108958FEF809311010895809110012E
+:10418000262F30E0280F311D2F3F310524F4680F12
+:104190006093100108958FEF80931001089583308C
+:1041A00011F128F4813049F0823091F00895853082
+:1041B00081F120F18630C1F10895809115016817D1
+:1041C00020F4861B8093150108951092150108951F
+:1041D00080911401681720F4861B809314010895C0
+:1041E00010921401089580911301681720F4861B22
+:1041F0008093130108951092130108958091120184
+:10420000681720F4861B8093120108951092120102
+:10421000089580911101681720F4861B8093110185
+:10422000089510921101089580911001681720F4EB
+:10423000861B8093100108951092100108950F932A
+:104240001F938D3109F46BC008F03FC08E3009F424
+:104250007FC0C0F4873009F469C068F4863009F083
+:10426000B1C08091CD01817F8E7F8093CD0181E0AF
+:104270008093DD01A8C0883009F4A2C08B3009F416
+:104280009FC0A0C0863109F49BC078F4803109F446
+:1042900072C0813109F096C00E94261590910D01DF
+:1042A00081E0892780930D018BC0893109F488C092
+:1042B0008B3109F087C08091CD0181FB222720F945
+:1042C00091E0922790FB81F94CC0853309F470C0CE
+:1042D00048F4873209F46CC008F459C0893209F4F3
+:1042E00067C070C0833438F48A3308F04EC0883316
+:1042F00009F466C067C0833409F45AC0883409F0F1
+:1043000061C00E9426150FEF13ED20E3015010400D
+:104310002040E1F700C000000E945E1C51C00E94D6
+:10432000A3220E94960F0E948F084AC09091CD014F
+:10433000892F8095817080FB90F929F096609860B4
+:104340009093CD0140C0997F977F9093CD0138C065
+:104350008091CD0182FB222720F991E0922790FBEA
+:1043600082F98093CD01992359F18091CD0181602B
+:104370008093CD0125C08091CD0183FB222720F9B8
+:1043800091E0922790FB83F9ECCF895301C08D51C6
+:1043900041E050E060E070E08A019B0104C0000F42
+:1043A000111F221F331F8A95D2F7C901B80104C01B
+:1043B00061E070E080E090E00E94E2180E94261523
+:1043C00081E001C080E01F910F91089580E0089581
+:1043D00080E00895CF93C82F8091DD01813079F07E
+:1043E00018F08230E9F187C0E0910E01F0910F01E1
+:1043F0008081813169F0823209F07FC009C0E0918B
+:104400000E01F0910F018081813111F0823261F44F
+:104410008C2F0E94E621811104C08C2F0E941F2145
+:104420001DC081E090E01AC08C2F0E94E82181110C
+:1044300014C0C43179F048F4CB3079F0C03109F0C0
+:1044400060C082E08093DD0108C0C93219F0C83332
+:1044500021F057C01092DD0154C081E0817053C03B
+:10446000C93289F118F5C43171F1A8F4C73009F0E7
+:1044700046C08AE08093150194E19093140193E083
+:10448000909313018093120188E08093110188E2D8
+:104490008093100134C0CE51C63088F5EC2FF0E087
+:1044A000E65DFE4F80818093DC0129C0CE34E9F0C7
+:1044B00020F4CB3421F56AE013C0C13579F0C23560
+:1044C000F1F461E00DC08091DC01882319F01092B5
+:1044D000DC0115C081E08093DD0115C061E006C0FC
+:1044E0008091DC010E9459200AC06AE08091DC01C1
+:1044F0000E94CF2004C01092DD0180E004C081E062
+:1045000002C080E0ABCFCF910895E1E8F0E0808178
+:10451000886080838081816080838FB7F89493E086
+:104520009093890090ED909388008FBF0895EFE6F7
+:10453000F0E08081826080830895EFE6F0E0808182
+:104540008D7F80830895EFE6F0E0908182E08927F7
+:10455000808308951F920F920FB60F9211242F930C
+:104560003F934F935F936F937F938F939F93AF93FB
+:10457000BF93EF93FF938091DE019091DF0101964D
+:104580009093DF018093DE01811103C082E00E94DD
+:104590008F08E091DF01E695E695F0E0EA52FA4FE8
+:1045A000E4918091DE018E1303C080E00E948F08A9
+:1045B000FF91EF91BF91AF919F918F917F916F91FB
+:1045C0005F914F913F912F910F900FBE0F901F90D1
+:1045D000189504D06894B1118DC0089570D088F0FA
+:1045E0009F5790F0B92F9927B751A0F0D1F0660FDF
+:1045F000771F881F991F1AF0BA95C9F712C0B130FA
+:1046000081F077D0B1E0089574C0672F782F8827A4
+:10461000B85F39F0B93FCCF3869577956795B39538
+:10462000D9F73EF490958095709561957F4F8F4FA7
+:104630009F4F0895E89409C097FB3EF490958095AC
+:10464000709561957F4F8F4F9F4F9923A9F0F92F58
+:1046500096E9BB279395F695879577956795B795D6
+:10466000F111F8CFFAF4BB0F11F460FF1BC06F5FBC
+:104670007F4F8F4F9F4F16C0882311F096E911C0CE
+:10468000772321F09EE8872F762F05C0662371F0EF
+:1046900096E8862F70E060E02AF09A95660F771F03
+:1046A000881FDAF7880F9695879597F9089557FD33
+:1046B0009058440F551F59F05F3F71F04795880F90
+:1046C00097FB991F61F09F3F79F087950895121627
+:1046D00013061406551FF2CF4695F1DF08C01616D3
+:1046E00017061806991FF1CF869571056105089484
+:1046F0000895E894BB2766277727CB0197F908959B
+:104700000BD078C069D028F06ED018F0952309F04E
+:104710005AC05FC01124EECFCADFA0F3959FD1F33A
+:10472000950F50E0551F629FF001729FBB27F00D5F
+:10473000B11D639FAA27F00DB11DAA1F649F6627B4
+:10474000B00DA11D661F829F2227B00DA11D621F03
+:10475000739FB00DA11D621F839FA00D611D221FBD
+:10476000749F3327A00D611D231F849F600D211DA1
+:10477000822F762F6A2F11249F5750408AF0E1F044
+:1047800088234AF0EE0FFF1FBB1F661F771F881F8D
+:1047900091505040A9F79E3F510570F014C0AACF28
+:1047A0005F3FECF3983EDCF3869577956795B79578
+:1047B000F795E7959F5FC1F7FE2B880F911D9695A2
+:1047C000879597F9089597F99F6780E870E060E012
+:1047D00008959FEF80EC089500240A94161617069A
+:1047E00018060906089500240A94121613061406E2
+:1047F00005060895092E0394000C11F4882352F045
+:10480000BB0F40F4BF2B11F460FF04C06F5F7F4FFC
+:104810008F4F9F4F089597FB072E16F4009407D0F3
+:1048200077FD09D00E94252407FC05D03EF4909521
+:1048300081959F4F0895709561957F4F0895EE0F74
+:10484000FF1F0590F491E02D0994AA1BBB1B51E1B9
+:1048500007C0AA1FBB1FA617B70710F0A61BB70BF0
+:10486000881F991F5A95A9F780959095BC01CD0195
+:104870000895F999FECF92BD81BDF89A992780B528
+:104880000895A8E1B0E042E050E00C945C24262FAB
+:10489000F999FECF1FBA92BD81BD20BD0FB6F89425
+:1048A000FA9AF99A0FBE019608950E944724272F7D
+:1048B0000C944824DC01CB01FC01F999FECF06C021
+:1048C000F2BDE1BDF89A319600B40D9241505040CE
+:0848D000B8F70895F894FFCF3A
+:1048D800200291081F09FC08C80894080101BA01C0
+:1048E80028080A03140A3F4D363997054A05140566
+:1048F800DB046E048704A004B9040102030405065E
+:044908000708090093
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png b/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png Binary files differnew file mode 100644 index 0000000000..193aa339e6 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c new file mode 100644 index 0000000000..b3ed55f217 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c @@ -0,0 +1,376 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_french.h" +#include "keymap_extras/keymap_neo2.h" +#include "keymap_extras/keymap_uk.h" +#include "keymap_extras/keymap_colemak.h" +#include "keymap_extras/keymap_french_osx.h" +#include "keymap_extras/keymap_nordic.h" +#include "keymap_extras/keymap_dvorak.h" +#include "keymap_extras/keymap_german.h" +#include "keymap_extras/keymap_norwegian.c" +#include "keymap_extras/keymap_fr_ch.h" +#include "keymap_extras/keymap_german_osx.h" +#include "keymap_extras/keymap_spanish.h" +#include "keymap_extras/keymap_bepo.h" + +#define BASE 0 +#define SYMB 1 +#define MDIA 2 +#define SMLY 3 +#define NUMB 4 +#define EGOS 5 + +#define SMLY_TOG_QUOT 0 +#define M_TOGGLE_5 1 +#define TGH_NUM 2 +#define M_DE_OSX_PLUS_CTRLALT 3 +#define SM_KISS 4 +#define SM_FROWN 5 +#define SM_CRY 6 +#define SM_SMILE 7 +#define SM_SMIRK 8 +#define M_LGUI_SHFT 9 +#define SM_HEART 10 +#define TOG_HLD_MDIA 11 +#define SM_LAUGH 12 +#define SM_SAD 13 +#define M_DE_OSX_CIRC_CTRLCMD 14 +#define M_MEH_SH_ACUT 15 + +//Layout keymap.c generated with ErgodoxLayoutGenerator V1.0BETA1 +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[BASE]=KEYMAP( +//left half + KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(TGH_NUM), + KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, + KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, + KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, + LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), LSFT(KC_LCTRL), M(SMLY_TOG_QUOT), + KC_HOME, KC_END, + KC_PGUP, + KC_BSPC, KC_DEL, KC_PGDN, + //right half + M(TOG_HLD_MDIA), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, + KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, + DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), + KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM, DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, + MEH_T(DE_OSX_HASH), ALL_T(DE_OSX_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), + KC_LEFT, KC_RIGHT, + KC_UP, + KC_DOWN, KC_ENT, KC_SPC), +[SYMB]=KEYMAP( +//left half + KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, + KC_TRNS, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, DE_OSX_QST, KC_TRNS, KC_TRNS, + KC_TRNS, DE_OSX_HASH, DE_OSX_DLR, DE_OSX_BSLS, DE_OSX_SLSH, KC_DOT, + KC_TRNS, KC_TRNS, DE_OSX_LESS, DE_OSX_PERC, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_DEL, KC_TRNS, + //right half + KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, DE_OSX_BSLS, DE_OSX_LBRC, DE_OSX_RBRC, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, + DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, DE_OSX_LCBR, DE_OSX_RCBR, DE_OSX_HASH, + KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + DE_OSX_QUOT, DE_OSX_DQOT, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, + KC_F13, KC_F12, + KC_F14, + KC_F15, KC_TRNS, KC_TRNS), +[MDIA]=KEYMAP( +//left half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, + KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, 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 half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, + KC_MUTE, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK), +[SMLY]=KEYMAP( +//left half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + //right half + M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, + M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), +[NUMB]=KEYMAP( +//left half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + //right half + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, DE_OSX_SLSH, KC_7, KC_8, KC_9, DE_OSX_ASTR, KC_F12, + DE_OSX_SLSH, KC_4, KC_5, KC_6, DE_OSX_PLUS, DE_OSX_MINS, + KC_TRNS, DE_OSX_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, + KC_0, KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), +[EGOS]=KEYMAP( +//left half + 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_LSFT, 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_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_F1, KC_F2, + KC_F3, + KC_SPC, KC_LCTL, KC_F4, + //right half + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ +static uint16_t start; +switch(id) { +case SMLY_TOG_QUOT: +//Macro: SMLY_TOG_QUOT//----------------------- +if (record->event.pressed) { + start = timer_read(); + layer_state ^= (1<<SMLY); + layer_state &= (1<<SMLY); + return MACRO_NONE; } else { + layer_state ^= (1<<SMLY); + layer_state &= (1<<SMLY); + if (timer_elapsed(start) >150) { + return MACRO_NONE; + } else { + return MACRO(DOWN(KC_LSFT),TYPE(DE_OSX_HASH),UP(KC_LSFT),END); + } + } + +break; +case M_TOGGLE_5: +//Macro: M_TOGGLE_5//----------------------- + if (record->event.pressed){ + layer_state ^= (1<<5); + layer_state &= (1<<5); + } + +break; +case TGH_NUM: +//Macro: TGH_NUM//----------------------- +if (record->event.pressed){ + start = timer_read(); + layer_state ^=(1<<NUMB); + layer_state &=(1<<NUMB); + } else { + if (timer_elapsed(start) > 150) { + layer_state^=(1<<NUMB); + layer_state&=(1<<NUMB); + } + } +return MACRO_NONE; + +break; +case M_DE_OSX_PLUS_CTRLALT: +//Macro: M_DE_OSX_PLUS_CTRLALT//----------------------- +if (record->event.pressed) { + start = timer_read(); + return MACRO(DOWN(KC_LCTRL),DOWN(KC_LALT),END); + } else { + if (timer_elapsed(start) >150) { + return MACRO(U(LCTRL),U(LALT),END); + } else { + return MACRO(UP(KC_LCTRL),UP(KC_LALT),TYPE(KC_RBRC),END); + } + } + +break; +case SM_KISS: +//Macro: SM_KISS//----------------------- +if (record->event.pressed) { + return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_RBRC),UP(KC_LSFT),END); + } + +break; +case SM_FROWN: +//Macro: SM_FROWN//----------------------- +if (record->event.pressed) { + return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LALT),TYPE(KC_8),UP(KC_LALT),END); + } + +break; +case SM_CRY: +//Macro: SM_CRY//----------------------- +if (record->event.pressed) { + return MACRO(DOWN(KC_LSFT),TYPE(KC_COMM),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_8),UP(KC_LSFT),END); + } + +break; +case SM_SMILE: +//Macro: SM_SMILE//----------------------- +if (record->event.pressed) { + return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_9),UP(KC_LSFT),END); + } + +break; +case SM_SMIRK: +//Macro: SM_SMIRK//----------------------- +if (record->event.pressed) { + return MACRO(DOWN(KC_LSFT),TYPE(KC_COMM),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_9),UP(KC_LSFT),END); + } + +break; +case M_LGUI_SHFT: +//Macro: M_LGUI_SHFT//----------------------- +if (record->event.pressed){ + return MACRO(DOWN(KC_LGUI),DOWN(KC_LSFT),END); + }else{ + return MACRO(UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),U(LGUI),U(LSFT),END); + } + +break; +case SM_HEART: +//Macro: SM_HEART//----------------------- +if (record->event.pressed) { + return MACRO(TYPE(KC_GRV),TYPE(KC_3),END); + } + +break; +case TOG_HLD_MDIA: +//Macro: TOG_HLD_MDIA//----------------------- +if (record->event.pressed){ + start = timer_read(); + layer_state ^=(1<<MDIA); + layer_state &=(1<<MDIA); + } else { + if (timer_elapsed(start) > 150) { + layer_state^=(1<<MDIA); + layer_state&=(1<<MDIA); + } + } +return MACRO_NONE; + +break; +case SM_LAUGH: +//Macro: SM_LAUGH//----------------------- +if (record->event.pressed) { + return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_D),UP(KC_LSFT),END); + } + +break; +case SM_SAD: +//Macro: SM_SAD//----------------------- +if (record->event.pressed) { + return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_8),UP(KC_LSFT),END); + } + +break; +case M_DE_OSX_CIRC_CTRLCMD: +//Macro: M_DE_OSX_CIRC_CTRLCMD//----------------------- +if (record->event.pressed) { + start = timer_read(); + return MACRO(DOWN(KC_LCTRL),DOWN(KC_LGUI),END); + } else { + if (timer_elapsed(start) >150) { + return MACRO(U(LCTRL),U(LGUI),END); + } else { + return MACRO(UP(KC_LCTRL),UP(KC_LGUI),TYPE(KC_NUBS),END); + } + } + +break; +case M_MEH_SH_ACUT: +//Macro: M_MEH_SH_ACUT//----------------------- +if (record->event.pressed) { + start = timer_read(); + return MACRO(DOWN(KC_LCTRL),DOWN(KC_LSFT),DOWN(KC_LALT),END); + } else { + if (timer_elapsed(start) >150) { + return MACRO(U(LCTRL),U(LSFT),U(LALT),END); + } else { + return MACRO(UP(KC_LCTRL),UP(KC_LALT),TYPE(DE_OSX_ACUT),UP(KC_LSFT),END); + } + } + +break; +} +return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + +uint8_t layer = biton32(layer_state); + +ergodox_board_led_off(); +ergodox_right_led_1_off(); +ergodox_right_led_2_off(); +ergodox_right_led_3_off(); +switch (layer) { + + case SYMB: + ergodox_right_led_1_on(); + + + break; + case MDIA: + + ergodox_right_led_2_on(); + + break; + case NUMB: + + + ergodox_right_led_3_on(); + break; + case EGOS: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); + break; +default: +// none +break; +} + +}; + diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png b/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png Binary files differnew file mode 100644 index 0000000000..29f1099d06 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png diff --git a/keyboard/ergodox_ez/keymaps/plums/keymap.c b/keyboard/ergodox_ez/keymaps/plums/keymap.c new file mode 100644 index 0000000000..46eb2e42b1 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/plums/keymap.c @@ -0,0 +1,229 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | F5 | |Hypr+M| 6 | 7 | 8 | 9 | 0 | Mute | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LGui | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + * |--------+------+------+------+------+------| SYMB | | MDIA |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Ca/Ctl| { | ( | | | : | | - | = | ) | } |C`/Ctl| + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LGA | LAlt | | RAlt | Play | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * |Backsp| Esc |------| |------|Enter |Space | + * |ace | | End | | PgDn | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F5, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(SYMB), + F(0), KC_LCBR, KC_LPRN,KC_PIPE,KC_COLN, + LGUI(KC_LALT), KC_LALT, + KC_HOME, + KC_BSPC, KC_ESC, KC_END, + // right hand + HYPR(KC_M), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MUTE, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + TG(MDIA), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_MINS, KC_EQL, KC_RPRN, KC_RCBR, F(1), + KC_RALT, KC_MPLY, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | | | | | | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Left | Down | Up | Right| | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12, + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | |------| |------|MsLeft|MsDown| MsUp |MsRght| | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |VolUp |VolDn | Prev | Next | | | LClk | RClk | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, 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_TRNS, + KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_MACRO_TAP(0), // FN0 - Ctrl + a (For screen/tmux) + [1] = ACTION_MACRO_TAP(1) // FN1 - Ctrl + ` (For quake style console) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is. +{ + switch(id) { + case 0: + if (record->event.pressed) { + if (record->tap.count) { + if (record->tap.interrupted) { + record->tap.count = 0; + // hold press action + register_code(KC_LCTL); + } else { + // tap press action + return MACRO( D(LCTL), T(A), U(LCTL), END ); + } + } else { + // hold press action + register_code(KC_LCTL); + } + } else { + if (record->tap.count) { + // tap release action + } else { + // hold release action + unregister_code(KC_LCTL); + } + record->tap.count = 0; + } + break; + case 1: + if (record->event.pressed) { + if (record->tap.count) { + if (record->tap.interrupted) { + record->tap.count = 0; + // hold press action + register_code(KC_RCTL); + } else { + // tap press action + return MACRO( DOWN(KC_RCTL), TYPE(KC_GRV), UP(KC_RCTL), END ); + } + } else { + // hold press action + register_code(KC_RCTL); + } + } else { + if (record->tap.count) { + // tap release action + } else { + // hold release action + unregister_code(KC_RCTL); + } + record->tap.count = 0; + } + break; + } + return MACRO_NONE; +}; + + + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/plums/plums.hex b/keyboard/ergodox_ez/keymaps/plums/plums.hex new file mode 100644 index 0000000000..f950ba3ab2 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/plums/plums.hex @@ -0,0 +1,1159 @@ +:100000000C946E020C94B2020C94B2020C94B202E4
+:100010000C94B2020C94B2020C94B2020C94B20290
+:100020000C94B2020C94B2020C94A60C0C94780DB1
+:100030000C94B2020C94B2020C94B2020C94B20270
+:100040000C94B2020C9442220C94B2020C94B202B0
+:100050000C94B2020C94D11B0C94B2020C94B20218
+:100060000C94B2020C94B2020C94B2020C94B20240
+:100070000C94B2020C94B2020C94B2020C94B20230
+:100080000C94B2020C94B2020C94B2020C94B20220
+:100090000C94B2020C94B2020C94B2020C94B20210
+:1000A0000C94B2020C94B2020C94B202E50D070E4D
+:1000B000F50E070EF50E4C0E6F0EF50EC40ED70E94
+:1000C000C311C31100120012431281129A149A1420
+:1000D0009A129A149B139B136E149A149A148514F3
+:1000E00001E40135023502E40001E00104020402EA
+:1000F000E00000C801C835002B00E300E10000204B
+:1001000000001E00140004001D002F024D001F00FF
+:100110001A0016001B002602290020000800070014
+:10012000060031022A0021001500090019003302DF
+:100130004A00220017000A0005000000E2083E0005
+:100140002F00000001540000E200100F30000000FA
+:1001500002540000E60023001C000B001100000008
+:10016000AE00240018000D0010002D004B002500EB
+:100170000C000E0036002E002C00260012000F008E
+:100180003700270228002700130033003800300210
+:100190004E00A80031003400E500012000000100FD
+:1001A000010001000100010000003A001E022002CF
+:1001B0002202010001003B001F0221022302010074
+:1001C00001003C002F0226022F00010001003D002B
+:1001D000300227023000010001003E0031023500EC
+:1001E00035020000010001000100000001000000D4
+:1001F00001000100010000000100000001003F00BB
+:100200000100500001000000010040000100510009
+:100210000100010001004100010052000100010045
+:100220000100420001004F000100010001004300F5
+:10023000010001000100010001004400450001002F
+:100240000100010000000100010001000100A900FF
+:1002500000000100010001000100AA0001000100EE
+:10026000010001000100AC000100010001000100DB
+:100270000100AB00010001000100010001000100CC
+:100280000100010001000100010000000100010067
+:100290000100000001000000010001000100000059
+:1002A00001000000010001000100F2000100000057
+:1002B000010001000100F1000100F4000100010053
+:1002C0000100F0000100F500B60001000100F3009C
+:1002D0000100010001000100010001000100010016
+:1002E00001000100010001000100010000001603EF
+:1002F0004500720067006F0044006F007800200026
+:1003000045005A00000016034500720067006F00A8
+:1003100044006F007800200045005A0000000403EC
+:10032000090409026D00040100A0FA09040000019B
+:1003300003010100092111010001223F000705818D
+:100340000308000A09040100010301020009211148
+:10035000010001224D000705820308000A0904027A
+:1003600000010300000009211101000122360007ED
+:1003700005830308000A09040300010300000009C3
+:100380002111010001223900070584031000011228
+:1003900001100100000008EDFE071301000102003A
+:1003A0000105010906A101050719E029E715002546
+:1003B0000195087501810205081901290595057542
+:1003C000019102950175039101050719002977151F
+:1003D000002501957875018102C005010980A10100
+:1003E000850216010026B7001A01002AB700751011
+:1003F00095018100C0050C0901A1018503160100CA
+:10040000269C021A01002A9C02751095018100C0E9
+:1004100005010902A1010901A10005091901290528
+:10042000150025019505750181029501750381016E
+:100430000501093009311581257F9502750881066E
+:1004400009381581257F950175088106050C0A3844
+:10045000021581257F950175088106C0C005010937
+:1004600006A101050719E029E71500250195087582
+:100470000181029501750881010508190129059579
+:100480000575019102950175039101050719002970
+:10049000FF150025FF950675088100C000000000CB
+:1004A00000000000000000010204060A0F17202CC3
+:1004B0003A4A5D71879DB3C7DAE9F5FCFFFCF5E9BF
+:1004C000DAC7B39D87715D4A3A2C20170F0A0604DC
+:1004D00002010000000000000000000011241FBE07
+:1004E000CFEFDAE0DEBFCDBF04B603FE24C08091BB
+:1004F000EE019091EF01A091F001B091F1018730F0
+:10050000904BA740B04BB9F41092EE011092EF015E
+:100510001092F0011092F10114BE84B7877F84BF5E
+:1005200088E10FB6F89480936000109260000FBECF
+:10053000E0E0FFE3099511E0A0E0B1E0E2E1F8E4DA
+:1005400002C005900D92A433B107D9F711E0A4E3DE
+:10055000B1E001C01D92AE3EB107E1F70E94EA0989
+:100560000C9407240C940000CF93DF93EC016623D6
+:1005700019F06130C9F015C09A818D81992349F035
+:10058000982F907F21F080FF22C08F708D8380EEA6
+:1005900017C0807F19F480EE0E941F118D818F702B
+:1005A0008D8380E090E018C09A818D81992359F065
+:1005B000982F907F21F080FF0DC08F708D8384EE87
+:1005C0000E945710EECF807F49F784EEE5CF89EE89
+:1005D00090E002C080EE90E0DF91CF910895089501
+:1005E0006091B1017091B2018091B3019091B40119
+:1005F0000E94FD1A56985E9825982D9826982E9858
+:1006000027982F98813019F0823021F00895259A8B
+:100610002D9A0895269A2E9A08950C94F0025698D1
+:100620005E9825982D9826982E9827982F988FEFCA
+:1006300090E0909389008093880090938B00809342
+:100640008A0090938D0080938C00259A2D9A2FEF2D
+:1006500080E792E0215080409040E1F700C0000028
+:10066000269A2E9A2FEF80E792E02150804090400A
+:10067000E1F700C00000279A2F9A2FEF80E792E061
+:10068000215080409040E1F700C0000025982D984F
+:100690002FEF80E792E0215080409040E1F700C0CA
+:1006A000000026982E982FEF80E792E0215080409E
+:1006B0009040E1F700C0000027982F9856985E9868
+:1006C00025982D9826982E9827982F98089589EA8E
+:1006D0008093800089E08093810024982C983F9833
+:1006E0008AB18F748AB96E98479A8BB1806B8BB937
+:1006F000769A0E940F030C94EF0280E2809300012F
+:100700008091340181110EC00E94CC0381E080935E
+:1007100034012FEF83ED90E3215080409040E1F7CA
+:1007200000C0000080E40E94D20380930001811188
+:100730002EC00E94FC0380930001811128C00E94FA
+:10074000FC0380930001811122C08FE30E94FC030F
+:100750008093000181111BC00E94F40380E40E9479
+:10076000D20380930001811112C08CE00E94FC032F
+:100770008093000181110BC00E94FC038093000153
+:10078000811105C08FE30E94FC03809300010E9449
+:10079000F4038091000108951092B9008AE08093DB
+:1007A000B800089594EA9093BC009091BC0097FF24
+:1007B000FCCF9091B900987F983021F0903111F0E2
+:1007C00081E008958093BB0084E88093BC00809111
+:1007D000BC0087FFFCCF8091B900887F883111F081
+:1007E000803471F780E0089584E98093BC008091A3
+:1007F000BC0084FDFCCF08958093BB0084E8809307
+:10080000BC008091BC0087FFFCCF9091B900987F1D
+:1008100081E0983209F480E0089584E88093BC0078
+:100820008091BC0087FFFCCF8091BB000895809130
+:100830000001811115C080E40E94D2038093000161
+:1008400081110CC082E10E94FC03809300018111A0
+:1008500005C08FEF0E94FC03809300010E94F40307
+:1008600084B1807F84B985B1807F85B98AB1837F67
+:100870008AB98BB1837F8BB93E98469808950E94C0
+:100880007D03809300010E94170480B38C7080BBAD
+:1008900081B3836F81BBA6E3B1E0E4E4F1E08EE0D5
+:1008A0008E0F11921D928E13FCCF0C946703BF9292
+:1008B000CF92DF92EF92FF920F931F93CF93DF932C
+:1008C00080910001882379F0809135018F5F8093BA
+:1008D0003501811108C00E947D03809300018111C0
+:1008E00002C00E940F0306E311E0C0E0D0E0DD2467
+:1008F000D39482E0C82EEE24E394F12CC730D105C6
+:1009000000F580910001811164C080E40E94D2034F
+:1009100080930001811112C082E10E94FC03809348
+:10092000000181110BC0C7010C2E01C0880F0A9471
+:10093000EAF780950E94FC03809300010E94F40373
+:1009400048C0CA30A1F028F4C83059F0C93061F06D
+:1009500005C0CC3089F070F0CD3089F0209A28980D
+:1009600010C0219A29980DC0229A2A980AC0239A69
+:100970002B9807C0529A01C0539A5B9802C03E9AC6
+:10098000469890EA9A95F1F79FB1799902C082E072
+:1009900001C080E091709D25982B7C9902C084E075
+:1009A00001C080E0892B7D9902C038E001C030E0B1
+:1009B000832B7E9902C020E101C020E0822B9FB1F1
+:1009C0009095991F9927991F9295990F907E892B41
+:1009D0000FC080910001811149C080E40E94D203C0
+:1009E00080930001882379F1B12C0E94F4038B2DB0
+:1009F000F8019081981719F08083C09201010E943C
+:100A0000170421960F5F1F4FCE30D10509F076CF26
+:100A100080910101882361F1815080930101882335
+:100A200039F08FE99FE00197F1F700C0000020C086
+:100A3000A4E4B1E0E6E3F1E0CF01825F91919D9300
+:100A40008E13FCCF15C083E10E94FC03809300014C
+:100A50008111CACF81E40E94D203809300018111E9
+:100A6000C3CF0E940D04B82EB094BFCF80E0C0CF9A
+:100A70000E940D0381E0DF91CF911F910F91FF90B4
+:100A8000EF90DF90CF90BF900895E82FF0E0EC5BFF
+:100A9000FE4F808108950895089596E0799FF001B2
+:100AA000112494E5899FE00DF11D1124E60FF11D3D
+:100AB000EE0FFF1FEA50FF4F859194910895880F24
+:100AC000991FFC01EE58F040859194910895880F8C
+:100AD000991FFC01EE50FF4F8591949108950F935B
+:100AE0001F93CF93DF93EC018115904350F5C1150F
+:100AF00080E2D80708F0B3C0CB3BD10590F4C83AE8
+:100B0000D10508F05AC0C53AD10508F04BC0C43031
+:100B1000D10508F0BBC1219709F0B5C101E010E093
+:100B2000F5C1CF3FD10511F008F0B0C1C03FD105EC
+:100B300008F092C0CE01805E9109089708F4A6C122
+:100B4000A2C1C11591E5D907A8F4C23020E5D207AA
+:100B500008F09EC0C11580E5D80709F485C008F0EB
+:100B600091C0C11520E4D20708F08DC1DD278E01A8
+:100B7000106CCCC1C11580E8D80758F4C11590E7B6
+:100B8000D90708F07CC1C11520E6D20708F422C1BC
+:100B90007AC1C11580E9D80708F075C1DF708E01F0
+:100BA000106AB4C1C53AD10509F472C1C63AD1057B
+:100BB00009F071C102E810E4A9C1C83AD10509F4ED
+:100BC0006DC1C93AD10509F46CC1CA3AD10509F41D
+:100BD0006BC1CB3AD10509F46AC1CC3AD10509F40D
+:100BE00069C1CD3AD10509F468C1C03BD10509F40A
+:100BF00067C1CE3AD10509F466C1CF3AD10509F4EF
+:100C000065C1C13BD10509F464C1C23BD10509F4FA
+:100C100063C1C33BD10509F462C1C43BD10509F4EA
+:100C200061C1C53BD10509F460C1C63BD10509F4DA
+:100C30005FC1C73BD10509F45EC1C83BD10509F4CA
+:100C40005DC1C93BD10509F45CC1CA3BD10509F4BA
+:100C50005BC100E014E45AC18E01106557C1CE019A
+:100C60009F700E94670553C10E94BE149FEF24E34A
+:100C70008CE0915020408040E1F700C000000E94CD
+:100C8000F61B44C18091CD0181608093CD013EC1AE
+:100C90000E949F1D811102C00E94851D0E94BC1DE3
+:100CA00090E09093EE018093ED01C23090E5D9077A
+:100CB00021F48091ED01816086C0C43020E5D20727
+:100CC00021F48091ED0182607EC0C63080E5D807B6
+:100CD00021F48091ED01846076C0C83090E5D90799
+:100CE00019F48091ED0127C0CA3020E5D20721F424
+:100CF0008091ED01806167C0CC3080E5D80721F498
+:100D00008091ED0180625FC0CE3090E5D90721F47B
+:100D10008091ED01806457C0C03120E5D20721F4F5
+:100D20008091ED0180684FC0C23180E5D80729F479
+:100D30008091ED018460886046C0C33090E5D9079A
+:100D400021F48091ED018E7F3EC0C53020E5D207B1
+:100D500021F48091ED018D7F36C0C73080E5D80742
+:100D600021F48091ED018B7F2EC0C93090E5D90729
+:100D700019F48091ED0126C0CB3020E5D20721F493
+:100D80008091ED018F7E1FC0CD3080E5D80721F422
+:100D90008091ED018F7D17C0CF3090E5D90721F408
+:100DA0008091ED018F7B0FC0C13120E5D20721F486
+:100DB0008091ED018F7707C0C331D04531F4809128
+:100DC000ED018B7F877F8093ED018091ED010E9483
+:100DD000C01D9CC08D2F99278F7099278130910558
+:100DE000D9F49E012370332702C0880F991F2A95DA
+:100DF000E2F79C688E0144E0000F111F4A95E1F76D
+:100E000000271370802B912B53E0CC0FDD1F5A95D8
+:100E1000E1F7C076DD272FC08230910531F4DC2F59
+:100E2000CC278E01016F106A71C08330910569F47F
+:100E3000CE018370992701E010E002C0000F111F5E
+:100E40008A95E2F7C8019C680FC0049709F05EC05C
+:100E5000CE018370992701E010E002C0000F111F3E
+:100E60008A95E2F7C8019A6823E0CC0FDD1F2A9526
+:100E7000E1F7C07ED7708C010C2B1D2B47C0DF70B3
+:100E80008E01106243C000E010E040C08E013EC001
+:100E900001E810E43BC003E810E438C002EE14E4BB
+:100EA00035C009EE14E432C00AEE14E42FC005EB9D
+:100EB00014E42CC006EB14E429C007EB14E426C0AC
+:100EC0000CEC14E423C00DEC14E420C003E815E49A
+:100ED0001DC00AE815E41AC002E915E417C004E9C8
+:100EE00015E414C001E216E411C003E216E40EC0DA
+:100EF00004E216E40BC005E216E408C006E216E4BC
+:100F000005C007E216E402C00AE216E4C801DF9158
+:100F1000CF911F910F91089596E0799FF0011124D0
+:100F200094E5899FE00DF11D1124E60FF11DEE0FF0
+:100F3000FF1FEA50FF4F85919491803E9105E0F4A8
+:100F4000803C910558F58133910509F46FC048F450
+:100F50008932910509F463C08A32910509F46DC0A4
+:100F600072C089339105E9F082389105D1F085335B
+:100F7000910509F44DC067C0833E910581F138F4B5
+:100F8000803E9105B9F0823E9105D9F05CC0863E65
+:100F9000910561F1873E9105A1F155C00E945F0561
+:100FA00008952091ED0120FD02C021FF4CC080EE8C
+:100FB00090E049C08091ED0180FFF9CF89E390E096
+:100FC00042C08091ED0182FF0EC08091ED0184FF4F
+:100FD00003C080E090E037C083EE90E034C08091A1
+:100FE000ED0182FFF2CF82EE90E02DC08091ED0105
+:100FF00083FF0BC08091ED0184FDEBCF87EE90E085
+:1010000022C08091ED0183FFF5CF86EE90E01BC0FA
+:101010008091ED0185FF07C089E290E014C08091C6
+:10102000ED0185FFF9CF85E390E00DC08091ED01E2
+:1010300086FF07C08AE290E006C08091ED0186FF3E
+:10104000F9CF81E390E00E946F05089508950C9414
+:101050002608809162010895CF93DF9300D01F92FC
+:10106000CDB7DEB79C018091E401843019F593E09F
+:1010700099833B832A839093E9008FEF9091E80056
+:10108000815095FD06C095ED9A95F1F7000081110C
+:10109000F5CF8091E80085FF0DC040E050E063E0AF
+:1010A00070E0CE0101960E94960A8091E8008E774A
+:1010B0008093E8000F900F900F90DF91CF910895EB
+:1010C000CF93DF9300D01F92CDB7DEB72091E4011C
+:1010D000243021F522E029839B838A8383E0809357
+:1010E000E9008FEF9091E800815095FD06C095EDE5
+:1010F0009A95F1F700008111F5CF8091E80085FF06
+:101100000DC040E050E063E070E0CE0101960E9427
+:10111000960A8091E8008E778093E8000F900F90F8
+:101120000F90DF91CF9108952091E4012430F1F4E4
+:1011300022E02093E9002FEF3091E800215035FDA7
+:1011400006C035ED3A95F1F700002111F5CF209159
+:10115000E80025FF0BC040E050E065E070E00E9431
+:10116000960A8091E8008E778093E8000895CF93E7
+:10117000DF93EC019091E401943009F046C0809136
+:101180000C018823D9F080910D018823B9F0909348
+:10119000E9008FEF9091E800815095FD06C095E140
+:1011A0009A95F1F700008111F5CF8091E80085FF55
+:1011B0002CC040E050E060E170E017C081E0809317
+:1011C000E9008FEF9091E800815095FD06C095ED04
+:1011D0009A95F1F700008111F5CF8091E80085FF25
+:1011E00014C040E050E068E070E0CE010E94960A32
+:1011F0008091E8008E778093E80080E1FE01A2E50F
+:10120000B1E001900D928A95E1F7DF91CF910895B9
+:101210008091E301811109C00E942B0C0E94880C6F
+:101220008091E20084608093E20008951092E301CF
+:10123000089508950C942F220E948C1B0E94352241
+:101240000E942E0F0C94270842E061EC81E00E947E
+:10125000A50B42E061EC82E00E94A50B42E061EC4C
+:1012600083E00E94A50B42E161EC84E00C94A50BA5
+:101270008091E601833009F455C030F4813071F07B
+:10128000823009F48EC008958A3009F47AC08B3018
+:1012900009F460C0893009F09CC020C08091E5014C
+:1012A000813A09F096C08091E800877F8093E8003A
+:1012B0008091E9019091EA01892B21F460E182E5B6
+:1012C00091E003C060E080E090E070E00E94E10AFD
+:1012D0008091E8008B778093E80008958091E50184
+:1012E000813209F076C08091E9019091EA0100977E
+:1012F00019F0039709F06DC08091E800877F809313
+:10130000E8008091E80082FD05C08091E401811130
+:10131000F8CF5FC08091F100809362018091E80076
+:101320008B7753C08091E501813A09F052C08091DA
+:10133000E9019091EA01892B09F04BC08091E80006
+:10134000877F8093E8008091E80080FFFCCF809148
+:101350000C0136C08091E5018132D9F58091E90117
+:101360009091EA01892BA9F58091E800877F80930D
+:10137000E8000E94DA0B8091E70180930C010C9445
+:10138000BE148091E501813221F58091E800877FCC
+:101390008093E8000E94DA0B8091E801809363015A
+:1013A00008958091E501813AA1F48091E800877F5A
+:1013B0008093E8008091E80080FFFCCF809163017A
+:1013C0008093F1008091E8008E778093E8000C9480
+:1013D000DA0B089584B7877F84BF88E10FB6F8944D
+:1013E00080936000109260000FBE90E080E80FB61E
+:1013F000F89480936100909361000FBE0E947D0F6E
+:101400000E942B0C0E94880C8091E20084608093E3
+:10141000E20078940E940E0F0E947F0F82E091E01C
+:101420000E94290F0E941D228091E401853069F4F9
+:101430000E944D1B8091E2018823B1F30E94781B2A
+:10144000882391F30E94800AEFCF0E94850FECCF92
+:10145000292F332723303105C9F064F421303105B9
+:1014600081F02230310509F043C08DE690E022E2A0
+:1014700033E042C021323105F1F02232310541F131
+:1014800037C082E190E02FE833E036C09927813001
+:10149000910541F08230910541F0892B49F5EEE14B
+:1014A000F3E005C0E6E0F3E002C0EEEEF2E0849186
+:1014B00090E09F0121C06430D8F4E62FF0E0EE0FF9
+:1014C000FF1FEE5DFE4F2081318189E090E014C066
+:1014D000643070F470E0FB01EE0FFF1FE65EFE4F1C
+:1014E00020813181FB01EA5EFE4F808190E004C0E3
+:1014F00080E090E020E030E0FA013183208308951D
+:1015000080E189BD82E189BD09B400FEFDCF8091F3
+:10151000D8008F7D8093D8008091E0008260809316
+:10152000E0008091E00081FDFCCF0895CF92DF9232
+:10153000EF92FF920F931F93CF93DF93EC018B01F8
+:101540006A010E94F90B811133C0C114D10439F032
+:10155000F60180819181081B190BC80FD91FE12C5E
+:10156000F12C0115110519F18091E80085FD16C0D7
+:101570008091E8008E778093E800C114D10449F08F
+:10158000F60180819181E80EF91EF182E08285E00A
+:101590000FC00E94F90B882321F30AC08991809320
+:1015A000F10001501109FFEFEF1AFF0ADACF80E0D6
+:1015B000DF91CF911F910F91FF90EF90DF90CF902F
+:1015C00008952091EB013091EC012617370748F080
+:1015D0006115710539F42091E8002E772093E80019
+:1015E00001C0B90140E061157105A9F12091E40144
+:1015F000222309F443C0253009F442C02091E800B9
+:1016000023FD40C02091E80022FD32C02091E80077
+:1016100020FFE9CF4091F3002091F20030E0342B1D
+:10162000FC01CF016115710559F02830310540F4F6
+:1016300081918093F100615071092F5F3F4FF1CF8D
+:1016400041E02830310509F040E02091E8002E7794
+:101650002093E800C8CF4111C9CF0AC08091E401AE
+:10166000882361F0853061F08091E80083FD0AC035
+:101670008091E80082FFF2CF80E0089582E0089533
+:1016800083E0089581E008952091EB013091EC0111
+:101690002617370748F06115710539F42091E800E5
+:1016A0002E772093E80001C0B901FC0120E061150C
+:1016B000710591F18091E401882309F440C08530DF
+:1016C00009F43FC08091E80083FD3DC08091E800AF
+:1016D00082FD2FC08091E80080FFE9CF2091F300C8
+:1016E0008091F20090E0922B6115710559F08830DD
+:1016F000910540F424912093F100319661507109D5
+:101700000196F2CF21E0089709F020E08091E800EF
+:101710008E778093E800CBCF2111CCCF0AC0809187
+:10172000E401882361F0853061F08091E80083FD59
+:101730000AC08091E80082FFF2CF80E0089582E045
+:10174000089583E0089581E00895982F973058F523
+:101750009093E900981739F07091EC002091ED001A
+:101760005091F00003C0242F762F50E021FF19C0C4
+:101770003091EB003E7F3093EB003091ED003D7FE8
+:101780003093ED003091EB0031603093EB007093BB
+:10179000EC002093ED005093F0002091EE0027FF25
+:1017A00007C09F5FD3CF8F708093E90081E00895D9
+:1017B00080E008958091E50187FF11C08091E800E5
+:1017C00082FD05C08091E4018111F8CF11C08091A4
+:1017D000E8008B770BC08091E401882349F0809169
+:1017E000E80080FFF8CF8091E8008E778093E800D2
+:1017F00008952091E4003091E50095E64091EC00D9
+:10180000842F817040FF22C08091E80080FD1CC0C1
+:101810008091E401882391F0853091F08091EB0074
+:1018200085FD10C04091E4005091E5004217530738
+:1018300029F39A01915011F784E0089582E0089508
+:1018400083E0089581E0089580E008954091E800E4
+:1018500042FFDECF08950E94990C0E94A10CE0EE99
+:10186000F0E0808181608083E8EDF0E080818F7717
+:10187000808319BCA7EDB0E08C918E7F8C93808122
+:101880008F7E80831092E30108950F931F93CF936F
+:10189000DF930E94990C0E94A10CC8EDD0E08881D2
+:1018A0008F77888388818068888388818F7D88830B
+:1018B00019BC1092E4011092E0011092E201109222
+:1018C000E10100EE10E0F80180818B7F8083888148
+:1018D0008160888342E060E080E00E94A50BE1EE39
+:1018E000F0E080818E7F8083E2EEF0E08081816095
+:1018F0008083808188608083F80180818E7F8083EF
+:10190000888180618883DF91CF911F910F91089525
+:10191000E8EDF0E080818F7E8083E7EDF0E080816C
+:101920008160808384E082BF81E08093E3010C9436
+:10193000450CE8EDF0E080818E7F80831092E2001C
+:1019400008951092DA001092E10008951F920F920C
+:101950000FB60F9211242F933F934F935F936F9382
+:101960007F938F939F93AF93BF93EF93FF93809158
+:10197000E10082FF0BC08091E20082FF07C08091EE
+:10198000E1008B7F8093E1000E940D0F8091DA00CF
+:1019900080FF1FC08091D80080FF1BC08091DA00BB
+:1019A0008E7F8093DA008091D90080FF0DC080E1A6
+:1019B00089BD82E189BD09B400FEFDCF81E080933D
+:1019C000E4010E94080905C019BC1092E4010E94BC
+:1019D00016098091E10080FF19C08091E20080FF2C
+:1019E00015C08091E2008E7F8093E2008091E2003A
+:1019F00080618093E2008091D80080628093D8005B
+:101A000019BC85E08093E4010E941A098091E100ED
+:101A100084FF30C08091E20084FF2CC080E189BD4A
+:101A200082E189BD09B400FEFDCF8091D8008F7D91
+:101A30008093D8008091E1008F7E8093E1008091B7
+:101A4000E2008F7E8093E2008091E20081608093CB
+:101A5000E2008091E001882311F084E007C08091CA
+:101A6000E30087FD02C081E001C083E08093E401D0
+:101A70000E941C098091E10083FF29C08091E2004F
+:101A800083FF25C08091E100877F8093E10082E0A1
+:101A90008093E4011092E0018091E1008E7F8093B9
+:101AA000E1008091E2008E7F8093E2008091E2006D
+:101AB00080618093E20042E060E080E00E94A50B3C
+:101AC0008091F00088608093F0000E941909FF91D6
+:101AD000EF91BF91AF919F918F917F916F915F91A6
+:101AE0004F913F912F910F900FBE0F901F9018951F
+:101AF0001F920F920FB60F9211242F933F934F9383
+:101B00005F936F937F938F939F93AF93BF93CF9385
+:101B1000DF93EF93FF93C091E900CF708091EC00C9
+:101B2000D82FD17080FDD0E81092E9008091F000AC
+:101B3000877F8093F00078940E94BC0D1092E9009A
+:101B40008091F00088608093F000CD2BCF70C0931F
+:101B5000E900FF91EF91DF91CF91BF91AF919F91FC
+:101B60008F917F916F915F914F913F912F910F9046
+:101B70000FBE0F901F9018951F93CF93DF93CDB793
+:101B8000DEB7AA970FB6F894DEBF0FBECDBFE5EE65
+:101B9000F1E088E08E0F9091F10091938E13FBCFCE
+:101BA0000E9438098091E80083FF1FC18091E50100
+:101BB0009091E601492F50E04A30510508F015C1D7
+:101BC000FA01EA5AFF4F0C94B723803881F082382B
+:101BD00009F00BC18091E9018F708093E900809139
+:101BE000EB0085FB882780F91092E90006C0809100
+:101BF000E1019091E201911182609091E800977F5C
+:101C00009093E8008093F1001092F100C8C0282F53
+:101C10002D7F09F0EAC0882319F0823061F0E5C019
+:101C20008091E701813009F0E0C0933009F080E055
+:101C30008093E2012BC08091E701811127C0809140
+:101C4000E9018F7009F4D1C08093E9002091EB0085
+:101C500020FF1CC0933021F48091EB00806214C0FF
+:101C60009091EB0090619093EB0021E030E0A901AE
+:101C700002C0440F551F8A95E2F74093EA00109284
+:101C8000EA008091EB0088608093EB001092E900FD
+:101C90008091E800877F86C08111A7C01091E7017D
+:101CA0001F778091E3008078812B8093E3008091FF
+:101CB000E800877F8093E8000E94DA0B8091E800BB
+:101CC00080FFFCCF8091E30080688093E3001111D6
+:101CD00002C082E001C083E08093E40186C08058A6
+:101CE000823008F082C08091E7019091E8018C3D3C
+:101CF00053E0950779F583E08A838AE289834FB7B9
+:101D0000F894DE01139620E03EE051E2E32FF0E08C
+:101D100050935700E49120FF03C0E295EF703F5FBE
+:101D2000EF708E2F90E0EA3010F0C79601C0C09699
+:101D30008D939D932F5F243149F74FBF8091E80029
+:101D4000877F8093E8006AE270E0CE0101960E94EE
+:101D5000E10A14C0AE014F5F5F4F6091E9010E943C
+:101D6000280ABC01892B09F440C09091E800977FB4
+:101D70009093E80089819A810E94440B8091E80049
+:101D80008B778093E80031C0803879F58091E80046
+:101D9000877F8093E8008091E0018093F10080913B
+:101DA000E8008E778093E8000E94DA0B1EC0811154
+:101DB0001CC09091E7019230C0F48091E800877FC9
+:101DC0008093E8009093E0010E94DA0B8091E0019B
+:101DD000811106C08091E30087FD02C081E001C04F
+:101DE00084E08093E4010E9424098091E80083FF4D
+:101DF0000AC08091E800877F8093E8008091EB0023
+:101E000080628093EB00AA960FB6F894DEBF0FBEF7
+:101E1000CDBFDF91CF911F9108950895CF93809109
+:101E2000E4018823A1F0C091E900CF709091EC000B
+:101E3000892F817090FD80E8C82B1092E900809175
+:101E4000E80083FD0E94BC0DCF70C093E900CF91E4
+:101E5000089590936901809368010895E091680165
+:101E6000F0916901309721F00190F081E02D099403
+:101E700080E00895E0916801F0916901309721F0C8
+:101E80000280F381E02D09940895E0916801F091BA
+:101E90006901309721F00480F581E02D09940895BF
+:101EA00020916601309167018217930771F090933A
+:101EB000670180936601E0916801F09169013097B4
+:101EC00021F00680F781E02D0994089520916401A6
+:101ED000309165018217930771F0909365018093AB
+:101EE0006401E0916801F0916901309721F000846C
+:101EF000F185E02D0994089508950C947C0F0E94BB
+:101F0000921B0E943F040C94581CCF92DF92EF92D8
+:101F1000FF920F931F93CF93DF93CDB7DEB72B972D
+:101F20000FB6F894DEBF0FBECDBF0E9457048BE6FC
+:101F3000C82E81E0D82E00E010E0E02E802F0E9415
+:101F40004505F60141916F01F42EF826B1F40F5FBB
+:101F50001F4F0E30110589F78FEF89838A831B820B
+:101F60000E949B1B8160782F9D838C8349815A81BD
+:101F70006B818D810E94281040C09091CD0191FF0E
+:101F800004C08B870E944B058B8520E030E04F2DED
+:101F900050E0922FBA01022E02C0759567950A94FF
+:101FA000E2F760FF24C02E83EF8221E030E0690178
+:101FB00002C0CC0CDD1C9A95E2F790E08C219D21AB
+:101FC000892B09F420E028870E949B1B8160782FD1
+:101FD0009A8789874E815F8168858A850E9428104B
+:101FE000F801E559FE4F8081C826C08206C02F5FE8
+:101FF0003F4F2630310569F6AACF0E943F1F10914E
+:102000006A010E942E0F1817A1F00E942E0F8093D4
+:102010006A012B960FB6F894DEBF0FBECDBFDF91DD
+:10202000CF911F910F91FF90EF90DF90CF900C9484
+:1020300027082B960FB6F894DEBF0FBECDBFDF91F9
+:10204000CF911F910F91FF90EF90DF90CF90089567
+:10205000CF93DF93CDB7DEB72B970FB6F894DEBFE3
+:102060000FBECDBF4F83588769877A878B87DE0184
+:10207000119686E0FD0111928A95E9F785E0FE014F
+:10208000379601900D928A95E1F749815A816B81CB
+:102090007C818D819E810E9458172B960FB6F894F3
+:1020A000DEBF0FBECDBFDF91CF9108950895CF93CE
+:1020B000882309F4C2C0C82F823859F40E942E0F19
+:1020C00081FDBBC089E30E94011A0E94CE1A89E3F8
+:1020D0000CC0833879F40E942E0F80FDAEC083E5DA
+:1020E0000E94011A0E94CE1A83E50E94431ACF91E2
+:1020F0000C94CE1A843859F40E942E0F82FD9DC094
+:1021000087E40E94011A0E94CE1A87E4EECF8CEF7A
+:102110008C0F813A48F48C2F0E94822181118DC04E
+:102120008C2F0E94011AE3CF80E28C0F883048F494
+:10213000C77081E001C0880FCA95EAF70E94871A2C
+:10214000D6CF8BE58C0F833078F4C53A29F0C63AA8
+:1021500031F083E890E005C081E890E002C082E8B9
+:1021600090E0CF910C94500F88E58C0F833108F0EC
+:1021700064C0C83A39F1C93A41F1CA3A49F1CB3A97
+:1021800051F1CC3A59F1CD3A61F1C03B69F1CE3A07
+:1021900071F1CF3A79F1C13B81F1C23B89F1C33B87
+:1021A00091F1C43B99F1C53BA1F1C63BA9F1C73BF5
+:1021B000B1F1C83BB9F1C93BC1F1CA3BC9F180E0FB
+:1021C00090E038C082EE90E035C089EE90E032C0F9
+:1021D0008AEE90E02FC085EB90E02CC086EB90E07B
+:1021E00029C087EB90E026C08CEC90E023C08DECFA
+:1021F00090E020C083E891E01DC08AE891E01AC019
+:1022000082E991E017C084E991E014C081E292E094
+:1022100011C083E292E00EC084E292E00BC085E23E
+:1022200092E008C086E292E005C087E292E002C038
+:102230008AE292E0CF910C94660FCF9108958823A3
+:1022400009F44BC0823859F40E942E0F81FF45C01B
+:1022500089E30E94011A0E94CE1A89E30CC08338D8
+:1022600071F40E942E0F80FF38C083E50E94011A8E
+:102270000E94CE1A83E50E94431A0C94CE1A843829
+:1022800059F40E942E0F82FF28C087E40E94011A91
+:102290000E94CE1A87E4EFCF9CEF980F913A58F343
+:1022A00090E2980F983050F4877091E001C0990F38
+:1022B0008A95EAF7892F0E948D1ADFCF9BE5980F48
+:1022C000933020F480E090E00C94500F885A8331D2
+:1022D00020F480E090E00C94660F0895882321F0AC
+:1022E0000E94871A0C94CE1A0895882321F00E9428
+:1022F0008D1A0C94CE1A0895BF92CF92DF92EF926E
+:10230000FF920F931F93CF93DF9300D000D000D0A4
+:10231000CDB7DEB725E0FC01DE01119601900D92EC
+:102320002A95E1F7FC01D080118102812581229557
+:102330002F7043815481452B09F4FCC21F3F21F4C7
+:10234000FFEFDF1609F4F6C27C012E830E945610BF
+:10235000D9821A8369817A81802F0E94FD19182FF2
+:10236000B92E0E94B2190E9479182E81002319F00B
+:102370000E94A41A2E81EB2DE295EF70F0E0E05A56
+:10238000FF4F0C94B7238B2D807F9B2D9F70F92ED0
+:10239000882319F0F29480EFF822002389F0FF20BF
+:1023A00009F475C280E2810F883020F48F2D0E94DD
+:1023B000871A03C08F2D0E94971A0E94CE1A67C2F7
+:1023C000812F0E941F11FF2009F4B4C2105E8F2DCF
+:1023D000183018F40E948D1A02C00E949D1A269689
+:1023E0000FB6F894DEBF0FBECDBFDF91CF911F9126
+:1023F0000F91FF90EF90DF90CF90BF900C94CE1A8A
+:102400003B2D307F8B2D8F70303211F08295807F85
+:10241000112319F0113021F12CC00023B9F022232F
+:1024200009F4A0C1213009F09DC126960FB6F89499
+:10243000DEBF0FBECDBFDF91CF911F910F91FF90F7
+:10244000EF90DF90CF90BF900C94B71A222319F031
+:10245000213009F46FC28E830E94BA1A8E8196C110
+:10246000002321F0223008F065C27CC1211162C234
+:102470008DC1002321F0222309F474C108C2222354
+:1024800009F484C119C22B2D26952695237030E0BE
+:102490002115310521F021303105D1F04BC2002347
+:1024A00021F0812F9B2D937002C080E090E0269652
+:1024B0000FB6F894DEBF0FBECDBFDF91CF911F9155
+:1024C0000F91FF90EF90DF90CF90BF900C94500F42
+:1024D000002321F0812F9B2D937002C080E090E0BB
+:1024E00026960FB6F894DEBF0FBECDBFDF91CF9119
+:1024F0001F910F91FF90EF90DF90CF90BF900C94C1
+:10250000660F812F002319F00E94471E02C00E940F
+:10251000AF1E26960FB6F894DEBF0FBECDBFDF917B
+:10252000CF911F910F91FF90EF90DF90CF90BF90D0
+:102530000C94341F8B2D837009F07BC00111FAC1FC
+:10254000812F829586958770880F880F912F9F70B5
+:10255000C92ED12CE12CF12C082E04C0CC0CDD1C92
+:10256000EE1CFF1C0A94D2F714FF12C04FE050E09B
+:1025700060E070E004C0440F551F661F771F8A9506
+:10258000D2F7CB01BA01609570958095909503C004
+:1025900060E070E0CB012B2D269526952370422F0D
+:1025A00050E042305105D9F04330510569F16C29B2
+:1025B0007D298E299F294130510551F126960FB66C
+:1025C000F894DEBF0FBECDBFDF91CF911F910F9169
+:1025D000FF90EF90DF90CF90BF900C94A0186C29E3
+:1025E0007D298E299F2926960FB6F894DEBF0FBE4F
+:1025F000CDBFDF91CF911F910F91FF90EF90DF90B2
+:10260000CF90BF900C94BC180E94A018C701B601CF
+:1026100026960FB6F894DEBF0FBECDBFDF91CF91E7
+:102620001F910F91FF90EF90DF90CF90BF900C948F
+:102630008418002319F08B2D817001C086958823A2
+:1026400009F478C1812F829586958770880F880F4D
+:10265000912F9F70C92ED12CE12CF12C082E04C093
+:10266000CC0CDD1CEE1CFF1C0A94D2F714FF12C028
+:102670004FE050E060E070E004C0440F551F661F5B
+:10268000771F8A95D2F7CB01BA0160957095809536
+:10269000909503C060E070E0CB012B2D2695269528
+:1026A0002370422F50E042305105D9F0433051059C
+:1026B00069F16C297D298E299F294130510551F1FD
+:1026C00026960FB6F894DEBF0FBECDBFDF91CF9137
+:1026D0001F910F91FF90EF90DF90CF90BF900C94DF
+:1026E0007A196C297D298E299F2926960FB6F89490
+:1026F000DEBF0FBECDBFDF91CF911F910F91FF9035
+:10270000EF90DF90CF90BF900C9496190E947A19A9
+:10271000C701B60126960FB6F894DEBF0FBECDBF37
+:10272000DF91CF911F910F91FF90EF90DF90CF90AD
+:10273000BF900C945E19103FD1F118F4103E50F484
+:10274000A1C0123F09F463C008F44CC0133F09F460
+:1027500073C098C01F708B2D8F710023A1F00E9451
+:10276000F718812F26960FB6F894DEBF0FBECDBFA7
+:10277000DF91CF911F910F91FF90EF90DF90CF905D
+:10278000BF900C946E110E941819812F26960FB6D7
+:10279000F894DEBF0FBECDBFDF91CF911F910F9197
+:1027A000FF90EF90DF90CF90BF900C9475110023B5
+:1027B000A9F02111BFC08B2D8F7126960FB6F8940A
+:1027C000DEBF0FBECDBFDF91CF911F910F91FF9064
+:1027D000EF90DF90CF90BF900C943D19223008F01D
+:1027E000A9C0E9CF0023A9F08B2D8F7126960FB6D3
+:1027F000F894DEBF0FBECDBFDF91CF911F910F9137
+:10280000FF90EF90DF90CF90BF900C94F7180023CB
+:1028100059F38B2D8F7126960FB6F894DEBF0FBE3D
+:10282000CDBFDF91CF911F910F91FF90EF90DF907F
+:10283000CF90BF900C941819002399F08B2D8F71B5
+:1028400026960FB6F894DEBF0FBECDBFDF91CF91B5
+:102850001F910F91FF90EF90DF90CF90BF900C945D
+:10286000E21826960FB6F894DEBF0FBECDBFDF91FB
+:10287000CF911F910F91FF90EF90DF90CF90BF907D
+:102880000C94D8180023A9F0222309F4ADCF812F8E
+:1028900026960FB6F894DEBF0FBECDBFDF91CF9165
+:1028A0001F910F91FF90EF90DF90CF90BF900C940D
+:1028B0005710222309F4ADCF812F26960FB6F89436
+:1028C000DEBF0FBECDBFDF91CF911F910F91FF9063
+:1028D000EF90DF90CF90BF900C941F114B2D4F7055
+:1028E000612FC7010E94B40226960FB6F894DEBF8E
+:1028F0000FBECDBFDF91CF911F910F91FF90EF9051
+:10290000DF90CF90BF900C94FC174B2D4F70612F30
+:10291000C70126960FB6F894DEBF0FBECDBFDF917C
+:10292000CF911F910F91FF90EF90DF90CF90BF90CC
+:102930000C944C0526960FB6F894DEBF0FBECDBFA3
+:10294000DF91CF911F910F91FF90EF90DF90CF908B
+:10295000BF9008950E94A41A0E94B41A0E94791A86
+:102960000E94CE1A0E94E51F0E94341F80E090E072
+:102970000E94500F80E090E00C94660F0E94941A21
+:102980000C94AA140E94F219292F22952F7030E07E
+:102990002C3031054CF42A3031056CF422503109C9
+:1029A0002230310588F407C02C30310549F02F3032
+:1029B000310531F009C0803E48F0803F29F406C05F
+:1029C00093FB882780F9089580E0089581E00895B9
+:1029D000CF93DF9300D000D01F92CDB7DEB70F901A
+:1029E0000F900F900F900F90DF91CF910895CF939C
+:1029F000DF9300D000D000D0CDB7DEB726960FB65B
+:102A0000F894DEBF0FBECDBFDF91CF9108951F9325
+:102A1000CF93DF93C091790116E080917A01C817B6
+:102A200099F0D0E01C9FF0011D9FF00D1124E55896
+:102A3000FE4F4081518162817381848195810E9422
+:102A4000F7142196C770E9CFDF91CF911F910895B8
+:102A50004091AB015091AC016091AD017091AE011C
+:102A60008091AF019091B0010C94F7148091B00166
+:102A700082958F7009F054C08091AD01882309F4CC
+:102A80004FC080917901A0917A016091AB01709162
+:102A9000AC014091AE015091AF01B6E08A1709F444
+:102AA0003FC090E041155105C1F17F3F11F46F3FE8
+:102AB000A1F1B89FF001B99FF00D1124E558FE4F28
+:102AC000218172132AC02081621327C02281211123
+:102AD00024C0238134812417350710F42150310993
+:102AE000241B350B283C3105C0F42091B0012F7018
+:102AF00020612093B00126E0289FF001299FF00D6E
+:102B00001124E058FE4F80818F70806180838BEAB2
+:102B100091E00E947C110C94071501968770BECF3E
+:102B20000895CF92DF92EF92FF920F931F93CF936E
+:102B3000DF93CDB7DEB762970FB6F894DEBF0FBE56
+:102B4000CDBF8C0185E0F801DE011D9601900D924C
+:102B50008A95E1F7D8014C9111965C9111971296E4
+:102B60006C9112971396CD90DC9014973091AB0135
+:102B70007091AC018091AE019091AF01009709F482
+:102B80006BC17F3F19F43F3F09F466C1E090AD018E
+:102B9000EE2009F4C0C02091B001C816D90628F073
+:102BA000F601E81BF90BCF0104C0809590958C0DC0
+:102BB0009D1DFF24F394883C910578F0F12C207F33
+:102BC00009F0C6C07C2DD98AC88A89890E94E81478
+:102BD0008BEA91E00E947C11B1C0822F807F09F0C6
+:102BE00046C0751314C0341312C0611110C02F7089
+:102BF00020612093B0010E9428158BEA91E00E9489
+:102C00007C118091B001D80115968C932EC0CD28EF
+:102C100019F15F3F11F44F3FF9F0F62E61111CC01E
+:102C20008091790120917A0136E0821709F45AC027
+:102C300090E0389FF001399FF00D1124E558FE4FC8
+:102C40007181571306C07081471303C072817111DF
+:102C500003C001968770E9CFF62E662309F418C1E8
+:102C60008091B00181608093B001F12C11C1751386
+:102C700008C0341306C0611104C08091B001D801AE
+:102C8000C3C04D875E878D859E856A8B0E94C21466
+:102C90006A898823E1F16623D1F12091B001822F66
+:102CA00082958F7090E0029774F08091AB019091C3
+:102CB000AC0198878F831986DB86CA862C87CE0164
+:102CC00007960E947C1186E0F801ABEAB1E0019022
+:102CD0000D928A95E1F70E9436150E942815FF246F
+:102CE000F394D6C04D875E878D859E850E94F2192C
+:102CF000292F22952F7030E0223031050CF0BCC016
+:102D00009F7009F0B6C0805E883008F4C1C0C80169
+:102D10000E947C11E4CFC816D90608F453C0F6010E
+:102D2000E81BF90BCF01883C910508F450C0F12C49
+:102D30007C2DD98AC88A89890E94E814EBEAF1E0DF
+:102D400086E0DF011D928A95E9F70E942815A0C050
+:102D5000751314C0341312C0611110C08091B001FA
+:102D6000F8018583C8010E947C1186E0EBEAF1E05E
+:102D7000DF011D928A95E9F7FE2C8AC04D875E8798
+:102D80008D859E856A8B0E94C2146A89882309F406
+:102D9000BECF662309F4BBCF2091B001822F82956C
+:102DA0008F7090E002970CF48ECF8091AB019091E0
+:102DB000AC019A8389831B82DD82CC822E83CE0173
+:102DC00001967FCF809590958C0D9D1DACCFF62EF2
+:102DD000662309F49CCF75132EC034132CC02091A8
+:102DE000B00120FD1FC0822F82958F70D9F0D801CD
+:102DF00015962C9315978F3049F08F5F982F9295E9
+:102E0000907F822F8F70892B15968C93C8010E941A
+:102E10007C1186E0F801ABEAB1E001900D928A9551
+:102E2000E1F793CF86E0F801ABEAB1E001900D92B3
+:102E30008A95E1F72DC04D875E878D859E850E941E
+:102E4000C214811140CF8091B00181608093B001A4
+:102E5000C8010E947C111CC0662309F458CF4D871D
+:102E60005E878D859E850E94C214882309F44FCF0A
+:102E70002ACF811148CF0CC0243031050CF047CF48
+:102E80009F7009F440CFF8019581907F09F03BCF06
+:102E90008F2D62960FB6F894DEBF0FBECDBFDF91C7
+:102EA000CF911F910F91FF90EF90DF90CF900895F9
+:102EB0001F93CF93DF93CDB7DEB72C970FB6F8945F
+:102EC000DEBF0FBECDBF4F83588769877A878B8758
+:102ED0009C87CE0107960E949115882369F08F8107
+:102EE00098852A853B85232BF1F19F3F09F063C02C
+:102EF0008F3F09F060C037C086E0FE013796DE01E3
+:102F0000119601900D928A95E1F76F817885EA8597
+:102F1000FB85309741F17F3F11F46F3F21F1209104
+:102F20007A0130E0C90101968770992740917901B3
+:102F300050E08417950709F447C069837A83FD83BD
+:102F4000EC8396E0929FD001939FB00D1124A55879
+:102F5000BE4FFE01319601900D929A95E1F7809354
+:102F60007A010E94071516E08091790190917A010B
+:102F70008917C1F1189FC001112485589E4F0E94E6
+:102F80009115882379F1E09179011E9FF0011124B8
+:102F9000E558FE4F40815181628173818481958122
+:102FA0000E94F7148091790190E00196877099272B
+:102FB00080937901D9CF4F81588569857A858B8532
+:102FC0009C850E94F714CFCF0E94BE1410927A0104
+:102FD00010927901EBEAF1E086E0DF011D928A951B
+:102FE000E9F7C1CF2C960FB6F894DEBF0FBECDBF68
+:102FF000DF91CF911F910895EF92FF920F931F934E
+:10300000CF93DF938C01892B09F46CC0F12CEE2453
+:10301000E394E8012196F8018491843740F48430E8
+:1030200008F051C0813081F0823019F15BC08537E2
+:1030300009F444C0A8F19CE7980F903708F052C0FB
+:103040008F770E941F1141C00E5F1F4FFE01C49178
+:1030500080E28C0F883048F4C7708E2D01C0880F35
+:10306000CA95EAF70E94A71A14C08C2F0E94571025
+:103070002DC00E5F1F4FFE01C49180E28C0F88307F
+:1030800058F4C7708E2D01C0880FCA95EAF70E94C8
+:10309000AD1A0E94CE1A1AC08C2F0E941F1116C0A2
+:1030A0000E5F1F4FFE01C491CC2381F08FE99FE09A
+:1030B0000197F1F700C00000C150F6CF0E5F1F4F1F
+:1030C000FE01F49003C00E9457108E018F2D8823BB
+:1030D00009F49FCFEFE9FFE03197F1F700C000005E
+:1030E0008150F5CFDF91CF911F910F91FF90EF901D
+:1030F000089508956093B5017093B6018093B70168
+:103100009093B8010C94AA140F931F930091B501EA
+:103110001091B6012091B7013091B801DC01CB01CB
+:10312000802B912BA22BB32B8093B5019093B601EA
+:10313000A093B701B093B8011F910F910C94AA14FA
+:103140000F931F930091B5011091B6012091B70123
+:103150003091B801DC01CB0180239123A223B3235A
+:103160008093B5019093B601A093B701B093B801D5
+:103170001F910F910C94AA140F931F930091B50106
+:103180001091B6012091B7013091B801DC01CB015B
+:1031900080279127A227B3278093B5019093B6018A
+:1031A000A093B701B093B8011F910F910C94AA148A
+:1031B0001092B1011092B2011092B3011092B401B9
+:1031C0000C94AA1441E050E060E070E004C0440FA9
+:1031D000551F661F771F8A95D2F74093B101509310
+:1031E000B2016093B3017093B4010C94AA1441E04E
+:1031F00050E060E070E004C0440F551F661F771F69
+:103200008A95D2F78091B1019091B201A091B3015A
+:10321000B091B401482B592B6A2B7B2B4093B10101
+:103220005093B2016093B3017093B4010C94AA144B
+:1032300041E050E060E070E004C0440F551F661F9D
+:10324000771F8A95D2F7409550956095709580913B
+:10325000B1019091B201A091B301B091B4014823A2
+:1032600059236A237B234093B1015093B2016093A9
+:10327000B3017093B4010C94AA1441E050E060E0F3
+:1032800070E004C0440F551F661F771F8A95D2F760
+:103290008091B1019091B201A091B301B091B401BC
+:1032A000482759276A277B274093B1015093B201E1
+:1032B0006093B3017093B4010C94AA140F931F93FD
+:1032C0000091B1011091B2012091B3013091B4018C
+:1032D000DC01CB01802B912BA22BB32B8093B1016E
+:1032E0009093B201A093B301B093B4011F910F91D9
+:1032F0000C94AA140F931F930091B1011091B20185
+:103300002091B3013091B401DC01CB0180239123E2
+:10331000A223B3238093B1019093B201A093B30190
+:10332000B093B4011F910F910C94AA140F931F93A3
+:103330000091B1011091B2012091B3013091B4011B
+:10334000DC01CB0180279127A227B3278093B1010D
+:103350009093B201A093B301B093B4011F910F9168
+:103360000C94AA140895CF92DF92EF92FF920F93DC
+:103370001F93CF93DF938C01C090B501D090B6011D
+:10338000E090B701F090B8018091B1019091B20145
+:10339000A091B301B091B401C82AD92AEA2AFB2A24
+:1033A000CFE1D0E0D701C6010C2E04C0B695A79599
+:1033B000979587950A94D2F780FF06C0B8018C2FA5
+:1033C0000E948C07019721F4219760F780E001C0EB
+:1033D0008C2FDF91CF911F910F91FF90EF90DF9095
+:1033E000CF900895CF93DF93EC010E94B319BE01F3
+:1033F0000E948C07DF91CF910895CB010E94F219B2
+:10340000089590910C01992321F090910D01911153
+:1034100009C020910E0130910F01F90132969FEF02
+:1034200040E01FC0982F9695969596959F3050F541
+:10343000E0910E01F0910F01E90FF11D877021E07D
+:1034400030E0A90102C0440F551F8A95E2F7CA0176
+:103450009181892B818308959F3F39F04F5F4E30D2
+:1034600041F051915813F8CF0DC05111F7CF942F5F
+:10347000F5CF9F3F39F0F901E90FF11D97FDFA955E
+:1034800082830895089590910C01992321F09091E1
+:103490000D01911109C020910E0130910F01F90128
+:1034A0003296205F3F4F1FC0982F96959695969520
+:1034B0009F30F0F4E0910E01F0910F01E90FF11D42
+:1034C000877021E030E0A90102C0440F551F8A95A2
+:1034D000E2F7CA018095918189238183089531960D
+:1034E000E217F30729F090819813F9CF1082F7CFF4
+:1034F000089581E090E0E0910E01F0910F01E80F56
+:10350000F91F1082019680319105A9F708959091D5
+:10351000CC01892B8093CC01089580959091CC01AA
+:1035200089238093CC0108951092CC010895909145
+:10353000CB01892B8093CB01089580959091CB018D
+:1035400089238093CB0108951092CB010895909127
+:10355000CA01892B8093CA01089580959091CA0170
+:1035600089238093CA0108951092CA010895809317
+:10357000B90108951092B901089580910E019091BA
+:103580000F01FC0131969C01205F3F4F80E091913B
+:1035900091118F5FE217F307D1F70895E0910E01C3
+:1035A000F0910F018091CC018083E0910E01F091A8
+:1035B0000F0190818091CB01892B8083E0910E01D6
+:1035C000F0910F0190818091CA01892B80838091B5
+:1035D000B901882361F0E0910E01F0910F01908113
+:1035E000892B80830E94BD1A81111092B9018091AC
+:1035F0000E0190910F010C943A0FCF92DF92EF924F
+:10360000FF926C01EE24FF24C114D104E104F10403
+:1036100021F0C701B60120E101C020E0C72ED82E5D
+:10362000E92EFF24C114D104E104F10419F0285F4C
+:10363000C701B6016B017C0154E0F694E794D7947E
+:10364000C7945A95D1F7C114D104E104F10419F0DB
+:103650002C5FC701B6016B017C0142E0F694E79450
+:10366000D794C7944A95D1F7C114D104E104F10469
+:1036700019F02E5FC701B601DC01CB01B695A79505
+:1036800097958795892B8A2B8B2B09F02F5F822F9B
+:10369000FF90EF90DF90CF9008958091E401843007
+:1036A00021F11092CE0120E488E190E00FB6F89469
+:1036B000A895809360000FBE2093600080E00E9478
+:1036C000270883B7817F846083BF83B7816083BF0E
+:1036D0007894889583B78E7F83BF88E10FB6F8947E
+:1036E00080936000109260000FBE089508950895C1
+:1036F000CF930E94761B0E9457040E94771BC0E064
+:103700008C2F0E944505811104C0CF5FCE30C1F7D8
+:1037100001C081E0CF9108950E94BE140E942E0F37
+:103720000C94270882E084BD93E095BD9AEF97BD85
+:1037300080936E0008952FB7F8948091CF019091F7
+:10374000D001A091D101B091D2012FBF0895CF92A5
+:10375000DF92EF92FF920F931F932FB7F89440914F
+:10376000CF015091D0016091D1017091D2012FBF52
+:103770006A017B01EE24FF248C0120E030E0C016BA
+:10378000D106E206F30610F4415051099A01281BB4
+:10379000390BC9011F910F91FF90EF90DF90CF90EF
+:1037A00008951F920F920FB60F9211248F939F933B
+:1037B000AF93BF938091CF019091D001A091D1019F
+:1037C000B091D2010196A11DB11D8093CF019093BC
+:1037D000D001A093D101B093D201BF91AF919F913D
+:1037E0008F910F900FBE0F901F9018950E942B0C79
+:1037F000F8942FEF87EA91E6215080409040E1F75E
+:1038000000C0000087E090EBDC018093EE01909314
+:10381000EF01A093F001B093F1019CE088E10FB6B5
+:10382000F894A895809360000FBE90936000FFCF3E
+:10383000EF92FF920F931F93CF93DF93D82FC0E0A7
+:103840008C2F0E94450500E010E0E82EF12CC70106
+:10385000002E02C0959587950A94E2F780FD06C078
+:103860000F5F1F4F0630110591F709C0602F7C2FA5
+:1038700080E00E944D05D813F3CF81E004C0CF5FF4
+:10388000CE30F1F680E0DF91CF911F910F91FF9044
+:10389000EF900895CF93C82F8CE20E94181C8823C4
+:1038A00021F08C2FCF910C94181C80E0CF910895BB
+:1038B000CF930E949F1D811102C00E94851DC5E605
+:1038C000C15049F00E9457048FE39CE90197F1F73A
+:1038D00000C00000F5CF89E20E944A1C811113C18B
+:1038E0008AE20E944A1C81110E94851D85E00E9487
+:1038F0004A1C81110E94F61B0E94AA1D8093CD01D3
+:1039000087E00E944A1C8823A9F18BE10E944A1C8F
+:10391000882351F08091CD0181FB222720F991E08D
+:10392000922790FB81F90EC08EE00E944A1C8823EA
+:1039300061F08091CD0182FB222720F991E092274E
+:1039400090FB82F98093CD0115C080E10E944A1C52
+:103950009091CD01882341F093FB222720F981E04B
+:10396000822780FB93F904C0892F809580FB90F912
+:103970009093CD018091CD010E94AE1D0E94BC1D8F
+:103980008093ED0180EE0E944A1C882341F08091D3
+:10399000ED01982F909590FB80F98093ED0189E3DC
+:1039A0000E944A1C882359F08091ED0181FB222757
+:1039B00020F991E0922790FB81F98093ED0182EE4E
+:1039C0000E944A1C882359F08091ED0182FB222736
+:1039D00020F991E0922790FB82F98093ED0186EE29
+:1039E0000E944A1C882359F08091ED0183FB222715
+:1039F00020F991E0922790FB83F98093ED0183EE0B
+:103A00000E944A1C882359F08091ED0184FB2227F3
+:103A100020F991E0922790FB84F98093ED0185E3F2
+:103A20000E944A1C882359F08091ED0185FB2227D2
+:103A300020F991E0922790FB85F98093ED0181E3D5
+:103A40000E944A1C882359F08091ED0186FB2227B1
+:103A500020F991E0922790FB86F98093ED0181E1B6
+:103A60000E944A1C882359F08091ED0187FB222790
+:103A700020F991E0922790FB87F98093ED018091E6
+:103A8000ED010E94C01D8091ED0187FB882780F920
+:103A900080930D0187E20E944A1CC82F8EE10E948C
+:103AA0004A1C8111C2608FE10E944A1C8111C460CE
+:103AB00080E20E944A1C8111C86081E20E944A1C77
+:103AC0008111C06182E20E944A1C8111C06283E2BE
+:103AD0000E944A1C8111C06484E20E944A1C88230F
+:103AE00011F0C06802C0CC2329F08C2F0E94B71DB2
+:103AF0006C2F03C00E94B31D682F70E080E090E03F
+:103B0000CF910C947A18CF9108956DEE7EEF80E0FE
+:103B100090E00E94F12360E082E090E00E94DF23C9
+:103B200060E083E090E00E94DF2360E084E090E0CA
+:103B30000E94DF2360E085E090E00C94DF2380E0CA
+:103B400090E00E94D92321E08D3E9E4F09F020E0B5
+:103B5000822F089582E090E00C94D123682F82E0B8
+:103B600090E00C94DF2383E090E00C94D123682F45
+:103B700083E090E00C94DF2384E090E00C94D12368
+:103B8000682F84E090E00C94DF238091D50180FFC2
+:103B90000BC06091130185E0689FB00111247595F9
+:103BA0006795759567952BC081FF09C060911301DA
+:103BB00085E0689FB00111247595679520C082FF4C
+:103BC00007C06091130185E0689FB001112417C000
+:103BD0009091D6019923D1F060911201961788F740
+:103BE0002091130185E0289F90011124929FA0014C
+:103BF000939F500D112470E0CA010E94A3236038E6
+:103C0000710540F46115710539F002C065E070E09E
+:103C1000862F08958FE7089581E008958091D5015A
+:103C200080FF08C06091110170E0759567957595EA
+:103C3000679521C081FF06C06091110170E0759504
+:103C4000679519C082FF04C06091110170E010C037
+:103C50009091D6019923C1F0609110019617A0F7B9
+:103C600080911101899FC001112470E00E94A3235B
+:103C70006038710528F46115710521F0862F0895CB
+:103C80008FE7089581E0089561E070E0F4CF803F10
+:103C900021F40E94C51D819504C0813F29F40E9432
+:103CA000C51D8093D9010895823F21F40E94C51D4E
+:103CB000819504C0833F29F40E94C51D8093D801DB
+:103CC0000895893F19F40E940E1E05C08A3F31F401
+:103CD0000E940E1E81958093DA0108958B3F21F496
+:103CE0000E940E1E819504C08C3F29F40E940E1E76
+:103CF0008093DB010895843F21F48091D701816096
+:103D000017C0853F21F48091D701826011C0863FA2
+:103D100021F48091D70184600BC0873F21F480910A
+:103D2000D701886005C0883F31F48091D701806158
+:103D30008093D70108958D3F21F48091D501816052
+:103D40000BC08E3F21F48091D501826005C08F3F6A
+:103D500029F48091D50184608093D5010895803F36
+:103D600039F48091D90187FF6CC01092D90169C0E4
+:103D7000813F29F48091D9011816BCF362C090915B
+:103D8000D801823F29F497FF5CC01092D80159C036
+:103D9000833F19F41916CCF354C0893F41F4809144
+:103DA000DA0118160CF04DC01092DA014AC08A3FB1
+:103DB00029F48091DA0187FF44C0F6CF8B3F39F4B4
+:103DC0008091DB0187FF3DC01092DB013AC08C3F40
+:103DD00029F48091DB011816BCF333C0843F21F431
+:103DE0008091D7018E7F17C0853F21F48091D70144
+:103DF0008D7F11C0863F21F48091D7018B7F0BC04E
+:103E0000873F21F48091D701877F05C0883F31F437
+:103E10008091D7018F7E8093D70113C08D3F21F40D
+:103E20008091D5018E7F0BC08E3F21F48091D5010A
+:103E30008D7F05C08F3F29F48091D5018B7F8093C2
+:103E4000D5018091D80181110EC08091D9018111D5
+:103E50000AC08091DA01811106C08091DB018111D5
+:103E600002C01092D601089587ED91E00E94450F9F
+:103E70000E949B1B9093D4018093D30108951F93BC
+:103E8000CF93DF938091D3019091D4010E94A71B1F
+:103E9000AC019091D601992321F02091140130E0DA
+:103EA00006C0209115018AE0289F90011124421735
+:103EB000530708F486C08091D801C091D901D091F0
+:103EC000DA011091DB01811107C0C11176C0D11157
+:103ED00074C0111172C075C09F3F19F09F5F90931D
+:103EE000D601181624F40E94C51D8093D801809134
+:103EF000D80187FF05C00E94C51D81958093D80118
+:103F00001C1624F40E94C51D8093D9018091D9010B
+:103F100087FF05C00E94C51D81958093D9016091DE
+:103F2000D801662339F1C091D901CC2319F1772743
+:103F300067FD7095872F972F0E94B42223E333E308
+:103F400043E35FE30E9418230E9481226093D8011B
+:103F50006C2F772767FD7095872F972F0E94B422CB
+:103F600023E333E343E35FE30E9418230E948122AB
+:103F70006093D9011D1624F40E940E1E8093DA016D
+:103F80008091DA0187FF05C00E940E1E8195809303
+:103F9000DA01111624F40E940E1E8093DB01809139
+:103FA000DB0187FF05C00E940E1E81958093DB0117
+:103FB000DF91CF911F910C94341F9F3F09F08ECF5A
+:103FC00096CFDF91CF911F910895E7EDF1E085E065
+:103FD000DF011D928A95E9F71092D6011092D50162
+:103FE0000895833081F128F4813059F08230D1F086
+:103FF0000895853009F449C0B8F1863009F456C0F7
+:10400000089580911501262F30E0280F311D2F3F94
+:10401000310524F4680F6093150108958FEF8093A4
+:104020001501089580911401262F30E0280F311DCD
+:104030002F3F310524F4680F6093140108958FEF2A
+:1040400080931401089580911301262F30E0280FEA
+:10405000311D2F3F310524F4680F6093130108953B
+:104060008FEF80931301089580911201262F30E085
+:10407000280F311D2F3F310524F4680F6093120182
+:1040800008958FEF80931201089580911101262FDA
+:1040900030E0280F311D2F3F310524F4680F609365
+:1040A000110108958FEF80931101089580911001FF
+:1040B000262F30E0280F311D2F3F310524F4680FE3
+:1040C0006093100108958FEF80931001089583305D
+:1040D00011F128F4813049F0823091F00895853053
+:1040E00081F120F18630C1F10895809115016817A2
+:1040F00020F4861B809315010895109215010895F0
+:1041000080911401681720F4861B80931401089590
+:1041100010921401089580911301681720F4861BF2
+:104120008093130108951092130108958091120154
+:10413000681720F4861B80931201089510921201D3
+:10414000089580911101681720F4861B8093110156
+:10415000089510921101089580911001681720F4BC
+:10416000861B8093100108951092100108950F93FB
+:104170001F938D3109F46BC008F03FC08E3009F4F5
+:104180007FC0C0F4873009F469C068F4863009F054
+:10419000B1C08091CD01817F8E7F8093CD0181E080
+:1041A0008093DD01A8C0883009F4A2C08B3009F4E7
+:1041B0009FC0A0C0863109F49BC078F4803109F417
+:1041C00072C0813109F096C00E94BE1490910D0119
+:1041D00081E0892780930D018BC0893109F488C063
+:1041E0008B3109F087C08091CD0181FB222720F916
+:1041F00091E0922790FB81F94CC0853309F470C09F
+:1042000048F4873209F46CC008F459C0893209F4C3
+:1042100067C070C0833438F48A3308F04EC08833E6
+:1042200009F466C067C0833409F45AC0883409F0C1
+:1042300061C00E94BE140FEF13ED20E30150104047
+:104240002040E1F700C000000E94F61B51C00E9410
+:104250003B220E942E0F0E9427084AC09091CD0158
+:10426000892F8095817080FB90F929F09660986085
+:104270009093CD0140C0997F977F9093CD0138C036
+:104280008091CD0182FB222720F991E0922790FBBB
+:1042900082F98093CD01992359F18091CD018160FC
+:1042A0008093CD0125C08091CD0183FB222720F989
+:1042B00091E0922790FB83F9ECCF895301C08D5197
+:1042C00041E050E060E070E08A019B0104C0000F13
+:1042D000111F221F331F8A95D2F7C901B80104C0EC
+:1042E00061E070E080E090E00E947A180E94BE14C5
+:1042F00081E001C080E01F910F91089580E0089552
+:1043000080E00895CF93C82F8091DD01813079F04E
+:1043100018F08230E9F187C0E0910E01F0910F01B1
+:104320008081813169F0823209F07FC009C0E0915B
+:104330000E01F0910F018081813111F0823261F420
+:104340008C2F0E947E21811104C08C2F0E94B720E7
+:104350001DC081E090E01AC08C2F0E948021811145
+:1043600014C0C43179F048F4CB3079F0C03109F091
+:1043700060C082E08093DD0108C0C93219F0C83303
+:1043800021F057C01092DD0154C081E0817053C00C
+:10439000C93289F118F5C43171F1A8F4C73009F0B8
+:1043A00046C08AE08093150194E19093140193E054
+:1043B000909313018093120188E08093110188E2A9
+:1043C0008093100134C0CE51C63088F5EC2FF0E058
+:1043D000E65DFE4F80818093DC0129C0CE34E9F098
+:1043E00020F4CB3421F56AE013C0C13579F0C23531
+:1043F000F1F461E00DC08091DC01882319F0109286
+:10440000DC0115C081E08093DD0115C061E006C0CC
+:104410008091DC010E94F11F0AC06AE08091DC01FA
+:104420000E94672004C01092DD0180E004C081E09A
+:1044300002C080E0ABCFCF910895E1E8F0E0808149
+:10444000886080838081816080838FB7F89493E057
+:104450009093890090ED909388008FBF0895EFE6C8
+:10446000F0E08081826080830895EFE6F0E0808153
+:104470008D7F80830895EFE6F0E0908182E08927C8
+:10448000808308951F920F920FB60F9211242F93DD
+:104490003F934F935F936F937F938F939F93AF93CC
+:1044A000BF93EF93FF938091DE019091DF0101961E
+:1044B0009093DF018093DE01811103C082E00E94AE
+:1044C0002708E091DF01E695E695F0E0E456FB4F22
+:1044D000E4918091DE018E1303C080E00E942708E2
+:1044E000FF91EF91BF91AF919F918F917F916F91CC
+:1044F0005F914F913F912F910F900FBE0F901F90A2
+:10450000189504D06894B1118DC0089570D088F0CA
+:104510009F5790F0B92F9927B751A0F0D1F0660FAF
+:10452000771F881F991F1AF0BA95C9F712C0B130CA
+:1045300081F077D0B1E0089574C0672F782F882775
+:10454000B85F39F0B93FCCF3869577956795B39509
+:10455000D9F73EF490958095709561957F4F8F4F78
+:104560009F4F0895E89409C097FB3EF4909580957D
+:10457000709561957F4F8F4F9F4F9923A9F0F92F29
+:1045800096E9BB279395F695879577956795B795A7
+:10459000F111F8CFFAF4BB0F11F460FF1BC06F5F8D
+:1045A0007F4F8F4F9F4F16C0882311F096E911C09F
+:1045B000772321F09EE8872F762F05C0662371F0C0
+:1045C00096E8862F70E060E02AF09A95660F771FD4
+:1045D000881FDAF7880F9695879597F9089557FD04
+:1045E0009058440F551F59F05F3F71F04795880F61
+:1045F00097FB991F61F09F3F79F0879508951216F8
+:1046000013061406551FF2CF4695F1DF08C01616A3
+:1046100017061806991FF1CF869571056105089454
+:104620000895E894BB2766277727CB0197F908956B
+:104630000BD078C069D028F06ED018F0952309F01F
+:104640005AC05FC01124EECFCADFA0F3959FD1F30B
+:10465000950F50E0551F629FF001729FBB27F00D30
+:10466000B11D639FAA27F00DB11DAA1F649F662785
+:10467000B00DA11D661F829F2227B00DA11D621FD4
+:10468000739FB00DA11D621F839FA00D611D221F8E
+:10469000749F3327A00D611D231F849F600D211D72
+:1046A000822F762F6A2F11249F5750408AF0E1F015
+:1046B00088234AF0EE0FFF1FBB1F661F771F881F5E
+:1046C00091505040A9F79E3F510570F014C0AACFF9
+:1046D0005F3FECF3983EDCF3869577956795B79549
+:1046E000F795E7959F5FC1F7FE2B880F911D969573
+:1046F000879597F9089597F99F6780E870E060E0E3
+:1047000008959FEF80EC089500240A94161617066A
+:1047100018060906089500240A94121613061406B2
+:1047200005060895092E0394000C11F4882352F015
+:10473000BB0F40F4BF2B11F460FF04C06F5F7F4FCD
+:104740008F4F9F4F089597FB072E16F4009407D0C4
+:1047500077FD09D00E94BD2307FC05D03EF490955B
+:1047600081959F4F0895709561957F4F0895EE0F45
+:10477000FF1F0590F491E02D0994AA1BBB1B51E18A
+:1047800007C0AA1FBB1FA617B70710F0A61BB70BC1
+:10479000881F991F5A95A9F780959095BC01CD0166
+:1047A0000895F999FECF92BD81BDF89A992780B5F9
+:1047B0000895A8E1B0E042E050E00C94F923262FE0
+:1047C000F999FECF92BD81BDF89A019700B4021607
+:1047D00039F01FBA20BD0FB6F894FA9AF99A0FBEB5
+:1047E00008950196272F0E94E0230C94DF23DC011B
+:1047F000CB01FC01F999FECF06C0F2BDE1BDF89AEC
+:10480000319600B40D9241505040B8F70895F89495
+:02481000FFCFD8
+:1048120020022908B708940860082C080101BA018F
+:1048220028080A03140A3F4D36395D041004DA03DE
+:10483200A10334034D0366037F030102030405064B
+:04484200070809005A
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/plums/plums.png b/keyboard/ergodox_ez/keymaps/plums/plums.png Binary files differnew file mode 100644 index 0000000000..2f127c4cab --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/plums/plums.png diff --git a/keyboard/ergodox_ez/keymaps/plums/readme.md b/keyboard/ergodox_ez/keymaps/plums/readme.md new file mode 100644 index 0000000000..b72329eef7 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/plums/readme.md @@ -0,0 +1,11 @@ +# ErgoDox EZ Plums Configuration + +## Changelog + +* Apr 23, 2016 (v0.1.0): + * Shortcut for iTerm2 quake style dropdown (Ctrl+`) + * Shortcut for screen/tmux (Ctrl+a) + * Shortcut for shush (Hyper+m) + * Combo modifier for LGUI + LALT + +![Plums](plums.png) diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/keymap.c b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/keymap.c new file mode 100644 index 0000000000..7c9f673816 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/keymap.c @@ -0,0 +1,134 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 +#define SYMB 1 +#define PLVR 2 +#define ARRW 3 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [BASE] = KEYMAP( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F14, + KC_TAB, KC_Q, KC_W, KC_D, KC_F, KC_K, TG(PLVR), + CTL_T(KC_ESC), KC_A, KC_S, KC_E, KC_T, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, + KC_F1, KC_F2, KC_F3, KC_LALT, KC_LGUI, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLD, KC_MUTE, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLU, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_BSPC, CTL_T(KC_ESC), KC_FN1, + // + /*-*/ KC_F15, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + /*-*/ KC_BSLS, KC_J, KC_U, KC_R, KC_L, KC_SCLN, KC_MINS, + /*-*/ /*-*/ KC_Y, KC_N, KC_I, KC_O, KC_H, KC_ENT, + /*-*/ KC_RBRC, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + /*-*/ /*-*/ /*-*/ KC_RGUI, KC_RALT, KC_F4, KC_F5, KC_F6, + KC_MPLY, KC_MNXT, + KC_MPRV, + KC_FN3, KC_QUOT, KC_SPC + ), + [SYMB] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + // + /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + /*-*/ /*-*/ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, + /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [PLVR] = KEYMAP( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, + KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, + KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_C, KC_V, KC_NO, + // + /*-*/ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + /*-*/ KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, + /*-*/ /*-*/ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + /*-*/ KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + /*-*/ /*-*/ /*-*/ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_NO, KC_N, KC_M + ), + [ARRW] = KEYMAP( + 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_MS_L, KC_MS_U, KC_MS_D, KC_MS_R, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + // + /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, + /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +const uint16_t PROGMEM fn_actions[] = { + [SYMB] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Symbols Layer + [PLVR] = ACTION_LAYER_TAP_TOGGLE(PLVR), // FN2 - Momentary Plover Layer + [ARRW] = ACTION_LAYER_TAP_TOGGLE(ARRW), // FN3 - Momentary Arrows Layer +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + uint8_t layer = biton32(layer_state); + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + case SYMB: + ergodox_right_led_1_on(); + break; + case PLVR: + ergodox_right_led_2_on(); + break; + case ARRW: + ergodox_right_led_3_on(); + break; + default: + break; + } +}; diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md new file mode 100644 index 0000000000..4188d2b50c --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md @@ -0,0 +1,50 @@ +# Roman's Layout + +There are four layers: + +- **BASE** is [Norman layout](https://normanlayout.info/). +- **SYMB** for numbers and symbols. +- **PLVR** is optimized for [Plover](http://www.openstenoproject.org). +- **ARRW** for navigation (same fingers for arrows as HJKL on QWERTY). + +Looking for IJKL arrows? [Here we +go](../romanzolotarev-norman-plover-osx/). + +[![keyboard-layout](romanzolotarev-norman-plover-osx-hjkl.png)](rttp://www.keyboard-layout-editor.com/#/gists/56ffedceb0668dda47c993e7271563e0) + +## Switching + +- Tap `SYMB` to toggle **SYMB**. +- Tap `ARRW` to toggle **ARRW**. +- Hold `SYMB` (or `ARRW`) to activate **SYMB** (or **ARRW**) while holding. +- Tap `PLVR` to toggle **PLVR**. + +## LEDs + +- Red: SYMB is on. +- Green: PLVR is on. +- Blue: ARRW is on. + +## Functional Keys + +- Tap `F1` to mute microphone via [Shush](http://mizage.com/shush/). +- Tap `F2` to copy screenshot to the clipboard. +- Hold `SHIFT` and tap `F2` to save screenshot as a file. +- Tap `F3`, `F4`, `F5`, `F6` to resize a window via [Divvy](http://mizage.com/divvy/). +- Tap `F14`, `F15` to adjust display brightness. + +**IMPORTANT**: If you have another keyboard connected via Bluetooth, then +`F14` and `F15` will not work. Turn off that Bluetooth keyboard. Re-plug +you ErgoDox. Enjoy! + +## CTRL/ESC + +Both of those keys are frequently used in Vim. + +- Tap `CTRL/ESC` to send `ESC`. +- Hold `CTRL/ESC` to use as `CTRL`. + +## Activate N-rollover + +- While in **BASE** hold left `SHIFT` and right `SHIRT` and then tap `N`. +- Then you can activate **PLVR** and use ErgoDox EZ for steno. diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.hex b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.hex new file mode 100644 index 0000000000..c341ba2b2b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.hex @@ -0,0 +1,1139 @@ +:100000000C94BB020C94FF020C94FF020C94FF02B0
+:100010000C94FF020C94FF020C94FF020C94FF025C
+:100020000C94FF020C94FF020C94090C0C94DB0C52
+:100030000C94FF020C94FF020C94FF020C94FF023C
+:100040000C94FF020C94A9210C94FF020C94FF0263
+:100050000C94FF020C94341B0C94FF020C94FF02CE
+:100060000C94FF020C94FF020C94FF020C94FF020C
+:100070000C94FF020C94FF020C94FF020C94FF02FC
+:100080000C94FF020C94FF020C94FF020C94FF02EC
+:100090000C94FF020C94FF020C94FF020C94FF02DC
+:1000A0000C94FF020C94FF020C94FF02480D6A0DA1
+:1000B000580E6A0D580EAF0DD20D580E270E3A0E7F
+:1000C0002611261163116311A611E411FD13FD130E
+:1000D000FD11FD13FE12FE12D113FD13FD13E813E3
+:1000E0000000F0A1F0A2F0A335002B002971E1007F
+:1000F0003A0000001E00140004001D003B00C10077
+:100100001F001A0016001B003C0029712000070088
+:1001100008000600E2002A0021000900170019006B
+:10012000E300A90022000E000A0005000000AA005A
+:100130006900025400002F000000A8006A0031008E
+:10014000000030000000AE0023000D001C00130072
+:100150000000AB002400180011001000E700AC0004
+:10016000250015000C003600E6002C0026000F00CC
+:10017000120037003D003400270033000B00380028
+:100180003E00C3002E002D002800E5003F000000C7
+:1001900001000100010001000100000001001E003B
+:1001A0001E0201000100010001001F001F020100EA
+:1001B00001000100010020002002010001000100F7
+:1001C00001002100210201000100010001002200C4
+:1001D00022020100000001000100010000000100F6
+:1001E000000001000100010000000100000001000A
+:1001F000010023002302010000000100010024008F
+:100200002402010001000100010025002502010077
+:10021000010001000100260026020100010001008A
+:100220000100270027020100010001000100010078
+:1002300001000100010000000000000000000000BB
+:100240000100000000001E00140004000100000076
+:1002500000001F001A001600010019000000200015
+:10026000080007000000060000002100150009003A
+:10027000000001000000220017000A000000010039
+:10028000010001000000000000000100010000006A
+:100290000000000000000100000023001C000B0013
+:1002A000000001000000240018000D000000010003
+:1002B000000025000C000E000000100000002600C9
+:1002C00012000F000000110000002700130033008F
+:1002D00000000000000000002F00340000000000BB
+:1002E0000100010001000100010000000100010007
+:1002F000010001000100010001000100F200010005
+:100300000100010001000100F000010001000100F6
+:1003100001000100F100F4000100010001000100F2
+:10032000F300F500000001000100010000000100E1
+:1003300000000100010001000000010000000100B8
+:100340000100010050000100000001000100010057
+:1003500051000100010001000100010052000100F4
+:1003600001000100010001004F0001000100010037
+:100370000100010001000100010001000100010075
+:100380000100010001000000160345007200670033
+:100390006F0044006F007800200045005A00000004
+:1003A00016034500720067006F0044006F0078007C
+:1003B000200045005A0000000403090409026D00F2
+:1003C000040100A0FA090400000103010100092151
+:1003D00011010001223F000705810308000A0904FA
+:1003E00001000103010200092111010001224D0059
+:1003F0000705820308000A09040200010300000047
+:100400000921110100012236000705830308000AB3
+:100410000904030001030000000921110100012269
+:1004200039000705840310000112011001000000CB
+:1004300008EDFE071301000102000105010906A1F4
+:1004400001050719E029E7150025019508750181C7
+:100450000205081901290595057501910295017597
+:100460000391010507190029771500250195787575
+:10047000018102C005010980A10185021601002643
+:10048000B7001A01002AB700751095018100C00558
+:100490000C0901A1018503160100269C021A010026
+:1004A0002A9C02751095018100C005010902A10175
+:1004B0000901A10005091901290515002501950566
+:1004C000750181029501750381010501093009312A
+:1004D0001581257F95027508810609381581257FCC
+:1004E000950175088106050C0A38021581257F954E
+:1004F0000175088106C0C005010906A1010507199B
+:10050000E029E7150025019508750181029501751F
+:1005100008810105081901290595057501910295C4
+:1005200001750391010507190029FF150025FF95A5
+:100530000675088100C000000000000000000000F7
+:1005400000010204060A0F17202C3A4A5D71879DAC
+:10055000B3C7DAE9F5FCFFFCF5E9DAC7B39D8771AB
+:100560005D4A3A2C20170F0A060402010000000021
+:1005700000000000000011241FBECFEFDAE0DEBF54
+:10058000CDBF04B603FE24C08091EF019091F0012D
+:10059000A091F101B091F2018730904BA740B04B90
+:1005A000B9F41092EF011092F0011092F101109243
+:1005B000F20114BE84B7877F84BF88E10FB6F89438
+:1005C00080936000109260000FBEE0E0FFE30995A9
+:1005D00011E0A0E0B1E0E6EDF6E402C005900D9276
+:1005E000A433B107D9F711E0A4E3B1E001C01D9233
+:1005F000AF3EB107E1F70E944D090C9469230C94BA
+:10060000000061110BC0FC018281882321F085EE7E
+:100610000E94BA0F03C085EE0E94821080E090E035
+:10062000089508956091B1017091B2018091B30174
+:100630009091B4010E94601A56985E9825982D9862
+:1006400026982E9827982F98823039F0833041F0E1
+:10065000813041F4259A2D9A0895269A2E9A08956C
+:10066000279A2F9A08950C94120356985E9825980D
+:100670002D9826982E9827982F988FEF90E090939A
+:1006800089008093880090938B0080938A009093D8
+:100690008D0080938C00259A2D9A2FEF80E792E0B1
+:1006A000215080409040E1F700C00000269A2E9A29
+:1006B0002FEF80E792E0215080409040E1F700C0AA
+:1006C0000000279A2F9A2FEF80E792E02150804078
+:1006D0009040E1F700C0000025982D982FEF80E7AB
+:1006E00092E0215080409040E1F700C00000269841
+:1006F0002E982FEF80E792E0215080409040E1F764
+:1007000000C0000027982F9856985E9825982D983D
+:1007100026982E9827982F98089589EA809380002C
+:1007200089E08093810024982C983F988AB18F7437
+:100730008AB96E98479A8BB1806B8BB9769A0E9472
+:1007400035030C94110380E2809300018091340101
+:1007500081110EC00E94F20381E0809334012FEFDB
+:1007600083ED90E3215080409040E1F700C000000D
+:1007700080E40E94F8038093000181112EC00E9442
+:10078000220480930001811128C00E9422048093DA
+:100790000001811122C08FE30E9422048093000196
+:1007A00081111BC00E941A0480E40E94F803809308
+:1007B0000001811112C08CE00E942204809300018C
+:1007C00081110BC00E94220480930001811105C099
+:1007D0008FE30E942204809300010E941A048091FA
+:1007E000000108951092B9008AE08093B80008953E
+:1007F00094EA9093BC009091BC0097FFFCCF90913D
+:10080000B900987F983021F0903111F081E008957F
+:100810008093BB0084E88093BC008091BC0087FF7C
+:10082000FCCF8091B900887F883111F0803471F756
+:1008300080E0089584E98093BC008091BC0084FD31
+:10084000FCCF08958093BB0084E88093BC00809126
+:10085000BC0087FFFCCF9091B900987F81E098326F
+:1008600009F480E0089584E88093BC008091BC0086
+:1008700087FFFCCF8091BB0008958091000181111A
+:1008800015C080E40E94F8038093000181110CC020
+:1008900082E10E94220480930001811105C08FEF44
+:1008A0000E942204809300010E941A0484B1807F78
+:1008B00084B985B1807F85B98AB1837F8AB98BB1CC
+:1008C000837F8BB93E98469808950E94A303809336
+:1008D00000010E943D0480B38C7080BB81B3836FA4
+:1008E00081BBA6E3B1E0E4E4F1E08EE08E0F11926B
+:1008F0001D928E13FCCF0C948D03BF92CF92DF928A
+:10090000EF92FF920F931F93CF93DF93809100019B
+:10091000882379F0809135018F5F809335018111B3
+:1009200008C00E94A30380930001811102C00E94AD
+:10093000350306E311E0C0E0D0E0DD24D39482E08B
+:10094000C82EEE24E394F12CC730D10500F5809138
+:100950000001811164C080E40E94F80380930001CB
+:10096000811112C082E10E94220480930001811152
+:100970000BC0C7010C2E01C0880F0A94EAF78095BE
+:100980000E942204809300010E941A0448C0CA30C9
+:10099000A1F028F4C83059F0C93061F005C0CC305E
+:1009A00089F070F0CD3089F0209A289810C0219AF3
+:1009B00029980DC0229A2A980AC0239A2B9807C01A
+:1009C000529A01C0539A5B9802C03E9A469890EAA8
+:1009D0009A95F1F79FB1799902C082E001C080E059
+:1009E00091709D25982B7C9902C084E001C080E025
+:1009F000892B7D9902C038E001C030E0832B7E99BD
+:100A000002C020E101C020E0822B9FB19095991F88
+:100A10009927991F9295990F907E892B0FC08091ED
+:100A20000001811149C080E40E94F8038093000115
+:100A3000882379F1B12C0E941A048B2DF801908142
+:100A4000981719F08083C09201010E943D042196FD
+:100A50000F5F1F4FCE30D10509F076CF8091010195
+:100A6000882361F1815080930101882339F08FE957
+:100A70009FE00197F1F700C0000020C0A4E4B1E0BE
+:100A8000E6E3F1E0CF01825F91919D938E13FCCF5D
+:100A900015C083E10E942204809300018111CACF16
+:100AA00081E40E94F803809300018111C3CF0E946A
+:100AB0003304B82EB094BFCF80E0C0CF0E94330380
+:100AC00081E0DF91CF911F910F91FF90EF90DF9028
+:100AD000CF90BF900895E82FF0E0EC5BFE4F80814F
+:100AE000089508958B3B910578F4883A910540F577
+:100AF000853A9105D0F48430910508F0B1C0813079
+:100B0000910509F4ADC06BC0803E910508F467C043
+:100B1000883E910508F4A4C09C01205F3109203172
+:100B2000310508F05CC090650895853A910509F497
+:100B300059C0863A910509F058C082E890E40895BA
+:100B4000883A910509F454C0893A910509F453C0D3
+:100B50008A3A910509F452C08B3A910509F451C0C3
+:100B60008C3A910509F450C08D3A910509F44FC0B3
+:100B7000803B910509F44EC08E3A910509F44DC0B1
+:100B80008F3A910509F44CC0813B910509F44BC0A3
+:100B9000823B910509F44AC0833B910509F449C0A1
+:100BA000843B910509F448C0853B910509F447C091
+:100BB000863B910509F446C0873B910509F445C081
+:100BC000883B910509F444C0893B910509F443C071
+:100BD0008A3B910509F442C080E094E4089580E0E6
+:100BE00090E0089581E890E4089583E890E4089502
+:100BF00082EE94E4089589EE94E408958AEE94E4F4
+:100C0000089585EB94E4089586EB94E4089587EBCA
+:100C100094E408958CEC94E408958DEC94E40895A4
+:100C200083E895E408958AE895E4089582E995E4D7
+:100C3000089584E995E4089581E296E4089583E2B5
+:100C400096E4089584E296E4089585E296E4089592
+:100C500086E296E4089587E296E408958AE296E4AF
+:100C60000895089596E0799FF001112494E5899FF5
+:100C7000E00DF11D1124E60FF11DEE0FFF1FE851ED
+:100C8000FF4F859194910895880F991FFC01E05AB8
+:100C9000F040859194910895880F991FFC01E052CE
+:100CA000FF4F85919491089526E0729FF0011124E1
+:100CB00044E5849FE00DF11D1124E60FF11DEE0FB8
+:100CC000FF1FE851FF4F859194919C013A952115A2
+:100CD0004FE1340708F41CC13F512115304120F485
+:100CE0009F700E944C0608959C013053211530419D
+:100CF00018F49927906C0895811520E5920771F4F6
+:100D00000E9421144FEF84E39CE0415080409040CA
+:100D1000E1F700C000000E94591BFAC0813020E5B5
+:100D2000920731F48091CD0181608093CD01F0C0B4
+:100D30009C0130552115304108F051C0292F33272F
+:100D40002F70332721303105D9F4AC01437055277A
+:100D500002C0220F331F4A95E2F73C68AC0164E001
+:100D6000440F551F6A95E1F744275370242B352B08
+:100D700073E0880F991F7A95E1F7807699271DC057
+:100D80002230310529F4982F8827816F906A0895C1
+:100D900023303105A9F4AC014370552721E030E040
+:100DA00002C0220F331F4A95E2F73C6843E0880FE8
+:100DB000991F4A95E1F7807E9770822B932B0895B7
+:100DC00024303105E1F4AC014370552721E030E0D7
+:100DD00002C0220F331F4A95E2F73A68E7CF9C0121
+:100DE00030572115304118F49F70906208959C018E
+:100DF00030582115304118F49F70906A0895803E54
+:100E00009105E0F4803C910558F58133910509F492
+:100E10006FC048F48932910509F463C08A329105A4
+:100E200009F46DC072C089339105E9F082389105EB
+:100E3000D1F08533910509F44DC067C0833E91051B
+:100E400081F138F4803E9105B9F0823E9105D9F0E8
+:100E50005CC0863E910561F1873E9105A1F155C0C8
+:100E60000E94440608952091E00120FD02C021FF68
+:100E70004CC080EE90E049C08091E00180FFF9CF46
+:100E800089E390E042C08091E00182FF0EC0809132
+:100E9000E00184FF03C080E090E037C083EE90E083
+:100EA00034C08091E00182FFF2CF82EE90E02DC04D
+:100EB0008091E00183FF0BC08091E00184FDEBCFC6
+:100EC00087EE90E022C08091E00183FFF5CF86EEAF
+:100ED00090E01BC08091E00185FF07C089E290E0AF
+:100EE00014C08091E00185FFF9CF85E390E00DC04B
+:100EF0008091E00186FF07C08AE290E006C0809101
+:100F0000E00186FFF9CF81E390E00E947205089529
+:100F1000089508950C948907809162010895CF93F4
+:100F2000DF9300D01F92CDB7DEB79C018091E60120
+:100F3000843019F593E099833B832A839093E900E9
+:100F40008FEF9091E800815095FD06C095ED9A9540
+:100F5000F1F700008111F5CF8091E80085FF0DC009
+:100F600040E050E063E070E0CE0101960E94F90994
+:100F70008091E8008E778093E8000F900F900F909B
+:100F8000DF91CF910895CF93DF9300D01F92CDB71B
+:100F9000DEB72091E601243021F522E029839B83EE
+:100FA0008A8383E08093E9008FEF9091E80081507D
+:100FB00095FD06C095ED9A95F1F700008111F5CFEA
+:100FC0008091E80085FF0DC040E050E063E070E0F4
+:100FD000CE0101960E94F9098091E8008E778093F6
+:100FE000E8000F900F900F90DF91CF91089520911E
+:100FF000E6012430F1F422E02093E9002FEF309154
+:10100000E800215035FD06C035ED3A95F1F70000B6
+:101010002111F5CF2091E80025FF0BC040E050E002
+:1010200065E070E00E94F9098091E8008E77809376
+:10103000E8000895CF93DF93EC019091E60194309E
+:1010400009F046C080910C018823D9F080910D01F0
+:101050008823B9F09093E9008FEF9091E8008150D8
+:1010600095FD06C095E19A95F1F700008111F5CF45
+:101070008091E80085FF2CC040E050E060E170E026
+:1010800017C081E08093E9008FEF9091E8008150D4
+:1010900095FD06C095ED9A95F1F700008111F5CF09
+:1010A0008091E80085FF14C040E050E068E070E007
+:1010B000CE010E94F9098091E8008E778093E800C4
+:1010C00080E1FE01A2E5B1E001900D928A95E1F781
+:1010D000DF91CF9108958091E501811109C00E94AF
+:1010E0008E0B0E94EB0B8091E20084608093E20003
+:1010F00008951092E501089508950C9496210E9498
+:10110000EF1A0E949C210E94910E0C948A0742E0E3
+:1011100061EC81E00E94080B42E061EC82E00E94F9
+:10112000080B42E061EC83E00E94080B42E161ECB5
+:1011300084E00C94080B8091E801833009F455C0D9
+:1011400030F4813071F0823009F48EC008958A3015
+:1011500009F47AC08B3009F460C0893009F09CC072
+:1011600020C08091E701813A09F096C08091E800A3
+:10117000877F8093E8008091EB019091EC01892BAF
+:1011800021F460E182E591E003C060E080E090E05E
+:1011900070E00E94440A8091E8008B778093E80019
+:1011A00008958091E701813209F076C08091EB01CA
+:1011B0009091EC01009719F0039709F06DC08091B0
+:1011C000E800877F8093E8008091E80082FD05C0F9
+:1011D0008091E6018111F8CF5FC08091F10080938A
+:1011E00062018091E8008B7753C08091E701813ADA
+:1011F00009F052C08091EB019091EC01892B09F02C
+:101200004BC08091E800877F8093E8008091E800E0
+:1012100080FFFCCF80910C0136C08091E7018132C4
+:10122000D9F58091EB019091EC01892BA9F5809182
+:10123000E800877F8093E8000E943D0B8091E901E0
+:1012400080930C010C9421148091E701813221F5E7
+:101250008091E800877F8093E8000E943D0B809199
+:10126000EA018093630108958091E701813AA1F436
+:101270008091E800877F8093E8008091E80080FFFC
+:10128000FCCF809163018093F1008091E8008E771C
+:101290008093E8000C943D0B089584B7877F84BF4A
+:1012A00088E10FB6F89480936000109260000FBE42
+:1012B00090E080E80FB6F89480936100909361000D
+:1012C0000FBE0E94E00E0E948E0B0E94EB0B8091DD
+:1012D000E20084608093E20078940E94710E0E9484
+:1012E000E20E82E091E00E948C0E0E9484218091A7
+:1012F000E601853069F40E94B01A8091E4018823E8
+:10130000B1F30E94DB1A882391F30E94E309EFCF27
+:101310000E94E80EECCF292F332723303105C9F086
+:1013200064F42130310581F02230310509F043C0E9
+:101330008DE690E02CEB33E042C021323105F1F034
+:101340002232310541F137C082E190E029E234E0F8
+:1013500036C099278130910541F08230910541F0E6
+:10136000892B49F5E8EBF3E005C0E0EAF3E002C0C1
+:10137000E8E8F3E0849190E09F0121C06430D8F464
+:10138000E62FF0E0EE0FFF1FEE5DFE4F2081318172
+:1013900089E090E014C0643070F470E0FB01EE0F5F
+:1013A000FF1FE65EFE4F20813181FB01EA5EFE4FAA
+:1013B000808190E004C080E090E020E030E0FA011D
+:1013C00031832083089580E189BD82E189BD09B41C
+:1013D00000FEFDCF8091D8008F7D8093D800809152
+:1013E000E00082608093E0008091E00081FDFCCF0E
+:1013F0000895CF92DF92EF92FF920F931F93CF93B6
+:10140000DF93EC018B016A010E945C0B811133C0F8
+:10141000C114D10439F0F60180819181081B190BA8
+:10142000C80FD91FE12CF12C0115110519F180917C
+:10143000E80085FD16C08091E8008E778093E80073
+:10144000C114D10449F0F60180819181E80EF91EA2
+:10145000F182E08285E00FC00E945C0B882321F3BB
+:101460000AC089918093F10001501109FFEFEF1A32
+:10147000FF0ADACF80E0DF91CF911F910F91FF90AB
+:10148000EF90DF90CF9008952091ED013091EE0123
+:101490002617370748F06115710539F42091E800E7
+:1014A0002E772093E80001C0B90140E06115710575
+:1014B000A9F12091E601222309F443C0253009F463
+:1014C00042C02091E80023FD40C02091E80022FDA9
+:1014D00032C02091E80020FFE9CF4091F300209135
+:1014E000F20030E0342BFC01CF016115710559F099
+:1014F0002830310540F481918093F10061507109E9
+:101500002F5F3F4FF1CF41E02830310509F040E037
+:101510002091E8002E772093E800C8CF4111C9CF71
+:101520000AC08091E601882361F0853061F08091E6
+:10153000E80083FD0AC08091E80082FFF2CF80E0DE
+:10154000089582E0089583E0089581E00895209150
+:10155000ED013091EE012617370748F0611571054E
+:1015600039F42091E8002E772093E80001C0B901FA
+:10157000FC0120E06115710591F18091E60188235D
+:1015800009F440C0853009F43FC08091E80083FD34
+:101590003DC08091E80082FD2FC08091E80080FF6F
+:1015A000E9CF2091F3008091F20090E0922B611539
+:1015B000710559F08830910540F424912093F10091
+:1015C0003196615071090196F2CF21E0089709F038
+:1015D00020E08091E8008E778093E800CBCF211146
+:1015E000CCCF0AC08091E601882361F0853061F09C
+:1015F0008091E80083FD0AC08091E80082FFF2CF6D
+:1016000080E0089582E0089583E0089581E00895E0
+:10161000982F973058F59093E900981739F070910A
+:10162000EC002091ED005091F00003C0242F762FA4
+:1016300050E021FF19C03091EB003E7F3093EB006A
+:101640003091ED003D7F3093ED003091EB00316043
+:101650003093EB007093EC002093ED005093F0007A
+:101660002091EE0027FF07C09F5FD3CF8F7080933C
+:10167000E90081E0089580E008958091E70187FF07
+:1016800011C08091E80082FD05C08091E6018111C2
+:10169000F8CF11C08091E8008B770BC08091E601F4
+:1016A000882349F08091E80080FFF8CF8091E8001E
+:1016B0008E778093E80008952091E4003091E50052
+:1016C00095E64091EC00842F817040FF22C080910C
+:1016D000E80080FD1CC08091E601882391F08530F0
+:1016E00091F08091EB0085FD10C04091E400509195
+:1016F000E5004217530729F39A01915011F784E04E
+:10170000089582E0089583E0089581E0089580E0DF
+:1017100008954091E80042FFDECF08950E94FC0B3F
+:101720000E94040CE0EEF0E0808181608083E8EDAF
+:10173000F0E080818F77808319BCA7EDB0E08C91B9
+:101740008E7F8C9380818F7E80831092E501089537
+:101750000F931F93CF93DF930E94FC0B0E94040C06
+:10176000C8EDD0E088818F778883888180688883FE
+:1017700088818F7D888319BC1092E6011092E20166
+:101780001092E4011092E30100EE10E0F801808174
+:101790008B7F808388818160888342E060E080E085
+:1017A0000E94080BE1EEF0E080818E7F8083E2EE04
+:1017B000F0E0808181608083808188608083F8018F
+:1017C00080818E7F8083888180618883DF91CF9143
+:1017D0001F910F910895E8EDF0E080818F7E808366
+:1017E000E7EDF0E080818160808384E082BF81E06A
+:1017F0008093E5010C94A80BE8EDF0E080818E7FEA
+:1018000080831092E20008951092DA001092E100B5
+:1018100008951F920F920FB60F9211242F933F93AA
+:101820004F935F936F937F938F939F93AF93BF93E8
+:10183000EF93FF938091E10082FF0BC08091E20063
+:1018400082FF07C08091E1008B7F8093E1000E94BE
+:10185000700E8091DA0080FF1FC08091D80080FF59
+:101860001BC08091DA008E7F8093DA008091D900CE
+:1018700080FF0DC080E189BD82E189BD09B400FE11
+:10188000FDCF81E08093E6010E946B0805C019BC82
+:101890001092E6010E9479088091E10080FF19C052
+:1018A0008091E20080FF15C08091E2008E7F8093DE
+:1018B000E2008091E20080618093E2008091D80094
+:1018C00080628093D80019BC85E08093E6010E9475
+:1018D0007D088091E10084FF30C08091E20084FFA8
+:1018E0002CC080E189BD82E189BD09B400FEFDCF35
+:1018F0008091D8008F7D8093D8008091E1008F7E09
+:101900008093E1008091E2008F7E8093E2008091DD
+:10191000E20081608093E2008091E201882311F06F
+:1019200084E007C08091E30087FD02C081E001C030
+:1019300083E08093E6010E947F088091E10083FFAD
+:1019400029C08091E20083FF25C08091E100877F5C
+:101950008093E10082E08093E6011092E2018091A1
+:10196000E1008E7F8093E1008091E2008E7F809382
+:10197000E2008091E20080618093E20042E060E05A
+:1019800080E00E94080B8091F00088608093F00056
+:101990000E947C08FF91EF91BF91AF919F918F9131
+:1019A0007F916F915F914F913F912F910F900FBE5B
+:1019B0000F901F9018951F920F920FB60F9211243F
+:1019C0002F933F934F935F936F937F938F939F9347
+:1019D000AF93BF93CF93DF93EF93FF93C091E90051
+:1019E000CF708091EC00D82FD17080FDD0E810929C
+:1019F000E9008091F000877F8093F00078940E9446
+:101A00001F0D1092E9008091F00088608093F00033
+:101A1000CD2BCF70C093E900FF91EF91DF91CF9173
+:101A2000BF91AF919F918F917F916F915F914F91F6
+:101A30003F912F910F900FBE0F901F9018951F93FD
+:101A4000CF93DF93CDB7DEB7AA970FB6F894DEBF7A
+:101A50000FBECDBFE7EEF1E088E08E0F9091F10070
+:101A600091938E13FBCF0E949B088091E80083FF27
+:101A70001FC18091E7019091E801492F50E04A3061
+:101A8000510508F015C1FA01EA5AFF4F0C941E23C4
+:101A9000803881F0823809F00BC18091EB018F70A2
+:101AA0008093E9008091EB0085FB882780F91092F4
+:101AB000E90006C08091E3019091E40191118260F8
+:101AC0009091E800977F9093E8008093F100109246
+:101AD000F100C8C0282F2D7F09F0EAC0882319F033
+:101AE000823061F0E5C08091E901813009F0E0C009
+:101AF000933009F080E08093E4012BC08091E901EC
+:101B0000811127C08091EB018F7009F4D1C08093BF
+:101B1000E9002091EB0020FF1CC0933021F480915C
+:101B2000EB00806214C09091EB0090619093EB0009
+:101B300021E030E0A90102C0440F551F8A95E2F769
+:101B40004093EA001092EA008091EB008860809355
+:101B5000EB001092E9008091E800877F86C0811138
+:101B6000A7C01091E9011F778091E3008078812B55
+:101B70008093E3008091E800877F8093E8000E94D3
+:101B80003D0B8091E80080FFFCCF8091E3008068EE
+:101B90008093E300111102C082E001C083E08093D2
+:101BA000E60186C08058823008F082C08091E90149
+:101BB0009091EA018C3D53E0950779F583E08A83A3
+:101BC0008AE289834FB7F894DE01139620E03EE065
+:101BD00051E2E32FF0E050935700E49120FF03C05F
+:101BE000E295EF703F5FEF708E2F90E0EA3010F0DB
+:101BF000C79601C0C0968D939D932F5F243149F7FE
+:101C00004FBF8091E800877F8093E8006AE270E030
+:101C1000CE0101960E94440A14C0AE014F5F5F4F8F
+:101C20006091EB010E948B09BC01892B09F440C033
+:101C30009091E800977F9093E80089819A810E94B3
+:101C4000A70A8091E8008B778093E80031C0803844
+:101C500079F58091E800877F8093E8008091E20128
+:101C60008093F1008091E8008E778093E8000E94D5
+:101C70003D0B1EC081111CC09091E9019230C0F44F
+:101C80008091E800877F8093E8009093E2010E94B2
+:101C90003D0B8091E201811106C08091E30087FD38
+:101CA00002C081E001C084E08093E6010E948708C1
+:101CB0008091E80083FF0AC08091E800877F8093CD
+:101CC000E8008091EB0080628093EB00AA960FB64B
+:101CD000F894DEBF0FBECDBFDF91CF911F91089565
+:101CE0000895CF938091E6018823A1F0C091E90087
+:101CF000CF709091EC00892F817090FD80E8C82B07
+:101D00001092E9008091E80083FD0E941F0DCF70C2
+:101D1000C093E900CF910895909369018093680181
+:101D20000895E0916801F0916901309721F00190E8
+:101D3000F081E02D099480E00895E0916801F09130
+:101D40006901309721F00280F381E02D0994089514
+:101D5000E0916801F0916901309721F00480F581EC
+:101D6000E02D099408952091660130916701821752
+:101D7000930771F09093670180936601E091680189
+:101D8000F0916901309721F00680F781E02D0994E8
+:101D9000089520916401309165018217930771F0D5
+:101DA0009093650180936401E0916801F09169016D
+:101DB000309721F00084F185E02D0994089508956D
+:101DC0000C94DF0E0E94F51A0E9465040C94BB1B54
+:101DD000CF92DF92EF92FF920F931F93CF93DF93F7
+:101DE000CDB7DEB72B970FB6F894DEBF0FBECDBFD1
+:101DF0000E947D048BE6C82E81E0D82E00E010E022
+:101E0000E02E802F0E946B05F60141916F01F42EA8
+:101E1000F826B1F40F5F1F4F0E30110589F78FEFD1
+:101E200089838A831B820E94FE1A8160782F9D839A
+:101E30008C8349815A816B818D810E948B0F40C0B8
+:101E40009091CD0191FF04C08B870E9471058B8515
+:101E500020E030E04F2D50E0922FBA01022E02C058
+:101E6000759567950A94E2F760FF24C02E83EF8290
+:101E700021E030E0690102C0CC0CDD1C9A95E2F74C
+:101E800090E08C219D21892B09F420E028870E9475
+:101E9000FE1A8160782F9A8789874E815F816885D5
+:101EA0008A850E948B0FF801E559FE4F8081C82674
+:101EB000C08206C02F5F3F4F2630310569F6AACF9A
+:101EC0000E94A21E10916A010E94910E1817A1F0A3
+:101ED0000E94910E80936A012B960FB6F894DEBF94
+:101EE0000FBECDBFDF91CF911F910F91FF90EF906B
+:101EF000DF90CF900C948A072B960FB6F894DEBF34
+:101F00000FBECDBFDF91CF911F910F91FF90EF904A
+:101F1000DF90CF900895CF93DF93CDB7DEB72B97A7
+:101F20000FB6F894DEBF0FBECDBF4F8358876987C9
+:101F30007A878B87DE01119686E0FD0111928A95E2
+:101F4000E9F785E0FE01379601900D928A95E1F759
+:101F500049815A816B817C818D819E810E94BB1653
+:101F60002B960FB6F894DEBF0FBECDBFDF91CF9199
+:101F700008950895CF93882309F4C2C0C82F8238EA
+:101F800059F40E94910E81FDBBC089E30E9464193F
+:101F90000E94311A89E30CC0833879F40E94910EB3
+:101FA00080FDAEC083E50E9464190E94311A83E56A
+:101FB0000E94A619CF910C94311A843859F40E94CA
+:101FC000910E82FD9DC087E40E9464190E94311A1F
+:101FD00087E4EECF8CEF8C0F813A48F48C2F0E946F
+:101FE000E92081118DC08C2F0E946419E3CF80E21B
+:101FF0008C0F883048F4C77081E001C0880FCA9503
+:10200000EAF70E94EA19D6CF8BE58C0F833078F47B
+:10201000C53A29F0C63A31F083E890E005C081E87E
+:1020200090E002C082E890E0CF910C94B30E88E576
+:102030008C0F833108F064C0C83A39F1C93A41F1D4
+:10204000CA3A49F1CB3A51F1CC3A59F1CD3A61F162
+:10205000C03B69F1CE3A71F1CF3A79F1C13B81F1E0
+:10206000C23B89F1C33B91F1C43B99F1C53BA1F15E
+:10207000C63BA9F1C73BB1F1C83BB9F1C93BC1F1BE
+:10208000CA3BC9F180E090E038C082EE90E035C0F4
+:1020900089EE90E032C08AEE90E02FC085EB90E0B0
+:1020A0002CC086EB90E029C087EB90E026C08CEC3A
+:1020B00090E023C08DEC90E020C083E891E01DC04B
+:1020C0008AE891E01AC082E991E017C084E991E0C2
+:1020D00014C081E292E011C083E292E00EC084E27B
+:1020E00092E00BC085E292E008C086E292E005C073
+:1020F00087E292E002C08AE292E0CF910C94C90E8E
+:10210000CF910895882309F44BC0823859F40E9476
+:10211000910E81FF45C089E30E9464190E94311A23
+:1021200089E30CC0833871F40E94910E80FF38C09F
+:1021300083E50E9464190E94311A83E50E94A61962
+:102140000C94311A843859F40E94910E82FF28C0F1
+:1021500087E40E9464190E94311A87E4EFCF9CEF54
+:10216000980F913A58F390E2980F983050F4877096
+:1021700091E001C0990F8A95EAF7892F0E94F01922
+:10218000DFCF9BE5980F933020F480E090E00C9433
+:10219000B30E885A833120F480E090E00C94C90E8D
+:1021A0000895882321F00E94EA190C94311A0895A9
+:1021B000882321F00E94F0190C94311A0895BF92DF
+:1021C000CF92DF92EF92FF920F931F93CF93DF9303
+:1021D00000D000D000D0CDB7DEB725E0FC01DE0195
+:1021E000119601900D922A95E1F7FC01D0801181A2
+:1021F0000281258122952F7043815481452B09F45A
+:10220000FCC21F3F21F4FFEFDF1609F4F6C27C0188
+:102210002E830E94B90FD9821A8369817A81802F17
+:102220000E946019182FB92E0E9415190E94DC1700
+:102230002E81002319F00E94071A2E81EB2DE295C2
+:10224000EF70F0E0E05AFF4F0C941E238B2D807F3F
+:102250009B2D9F70F92E882319F0F29480EFF822BD
+:10226000002389F0FF2009F475C280E2810F8830D5
+:1022700020F48F2D0E94EA1903C08F2D0E94FA19B5
+:102280000E94311A67C2812F0E948210FF2009F438
+:10229000B4C2105E8F2D183018F40E94F01902C0DD
+:1022A0000E94001A26960FB6F894DEBF0FBECDBF6F
+:1022B000DF91CF911F910F91FF90EF90DF90CF9022
+:1022C000BF900C94311A3B2D307F8B2D8F703032A4
+:1022D00011F08295807F112319F0113021F12CC06B
+:1022E0000023B9F0222309F4A0C1213009F09DC1D7
+:1022F00026960FB6F894DEBF0FBECDBFDF91CF910B
+:102300001F910F91FF90EF90DF90CF90BF900C94B2
+:102310001A1A222319F0213009F46FC28E830E9409
+:102320001D1A8E8196C1002321F0223008F065C26B
+:102330007CC1211162C28DC1002321F0222309F446
+:1023400074C108C2222309F484C119C22B2D269519
+:102350002695237030E02115310521F0213031051B
+:10236000D1F04BC2002321F0812F9B2D937002C02E
+:1023700080E090E026960FB6F894DEBF0FBECDBF8A
+:10238000DF91CF911F910F91FF90EF90DF90CF9051
+:10239000BF900C94B30E002321F0812F9B2D9370DE
+:1023A00002C080E090E026960FB6F894DEBF0FBE24
+:1023B000CDBFDF91CF911F910F91FF90EF90DF90F4
+:1023C000CF90BF900C94C90E812F002319F00E946A
+:1023D000AA1D02C00E94121E26960FB6F894DEBFF8
+:1023E0000FBECDBFDF91CF911F910F91FF90EF9066
+:1023F000DF90CF90BF900C94971E8B2D837009F0C7
+:102400007BC00111FAC1812F829586958770880F54
+:10241000880F912F9F70C92ED12CE12CF12C082E02
+:1024200004C0CC0CDD1CEE1CFF1C0A94D2F714FF78
+:1024300012C04FE050E060E070E004C0440F551F50
+:10244000661F771F8A95D2F7CB01BA016095709508
+:102450008095909503C060E070E0CB012B2D269510
+:1024600026952370422F50E042305105D9F0433079
+:10247000510569F16C297D298E299F29413051052B
+:1024800051F126960FB6F894DEBF0FBECDBFDF9197
+:10249000CF911F910F91FF90EF90DF90CF90BF9061
+:1024A0000C9403186C297D298E299F2926960FB636
+:1024B000F894DEBF0FBECDBFDF91CF911F910F917A
+:1024C000FF90EF90DF90CF90BF900C941F180E9468
+:1024D0000318C701B60126960FB6F894DEBF0FBEEB
+:1024E000CDBFDF91CF911F910F91FF90EF90DF90C3
+:1024F000CF90BF900C94E717002319F08B2D8170BB
+:1025000001C08695882309F478C1812F829586952C
+:102510008770880F880F912F9F70C92ED12CE12CC6
+:10252000F12C082E04C0CC0CDD1CEE1CFF1C0A9400
+:10253000D2F714FF12C04FE050E060E070E004C03A
+:10254000440F551F661F771F8A95D2F7CB01BA013A
+:10255000609570958095909503C060E070E0CB0128
+:102560002B2D269526952370422F50E042305105A1
+:10257000D9F04330510569F16C297D298E299F29B5
+:102580004130510551F126960FB6F894DEBF0FBECB
+:10259000CDBFDF91CF911F910F91FF90EF90DF9012
+:1025A000CF90BF900C94DD186C297D298E299F292E
+:1025B00026960FB6F894DEBF0FBECDBFDF91CF9148
+:1025C0001F910F91FF90EF90DF90CF90BF900C94F0
+:1025D000F9180E94DD18C701B60126960FB6F894C7
+:1025E000DEBF0FBECDBFDF91CF911F910F91FF9046
+:1025F000EF90DF90CF90BF900C94C118103FD1F1B5
+:1026000018F4103E50F4A1C0123F09F463C008F45E
+:102610004CC0133F09F473C098C01F708B2D8F718D
+:102620000023A1F00E945A18812F26960FB6F89425
+:10263000DEBF0FBECDBFDF91CF911F910F91FF90F5
+:10264000EF90DF90CF90BF900C94D1100E947B1838
+:10265000812F26960FB6F894DEBF0FBECDBFDF9157
+:10266000CF911F910F91FF90EF90DF90CF90BF908F
+:102670000C94D8100023A9F02111BFC08B2D8F71AD
+:1026800026960FB6F894DEBF0FBECDBFDF91CF9177
+:102690001F910F91FF90EF90DF90CF90BF900C941F
+:1026A000A018223008F0A9C0E9CF0023A9F08B2D93
+:1026B0008F7126960FB6F894DEBF0FBECDBFDF91A7
+:1026C000CF911F910F91FF90EF90DF90CF90BF902F
+:1026D0000C945A18002359F38B2D8F7126960FB640
+:1026E000F894DEBF0FBECDBFDF91CF911F910F9148
+:1026F000FF90EF90DF90CF90BF900C947B18002359
+:1027000099F08B2D8F7126960FB6F894DEBF0FBE11
+:10271000CDBFDF91CF911F910F91FF90EF90DF9090
+:10272000CF90BF900C94451826960FB6F894DEBF54
+:102730000FBECDBFDF91CF911F910F91FF90EF9012
+:10274000DF90CF90BF900C943B180023A9F0222378
+:1027500009F4ADCF812F26960FB6F894DEBF0FBED9
+:10276000CDBFDF91CF911F910F91FF90EF90DF9040
+:10277000CF90BF900C94BA0F222309F4ADCF812FD4
+:1027800026960FB6F894DEBF0FBECDBFDF91CF9176
+:102790001F910F91FF90EF90DF90CF90BF900C941E
+:1027A00082104B2D4F70612FC7010E9401032696A6
+:1027B0000FB6F894DEBF0FBECDBFDF91CF911F9152
+:1027C0000F91FF90EF90DF90CF90BF900C945F1728
+:1027D0004B2D4F70612FC70126960FB6F894DEBFC0
+:1027E0000FBECDBFDF91CF911F910F91FF90EF9062
+:1027F000DF90CF90BF900C94310626960FB6F894D8
+:10280000DEBF0FBECDBFDF91CF911F910F91FF9023
+:10281000EF90DF90CF90BF9008950E94071A0E941A
+:10282000171A0E94DC190E94311A0E94481F0E9448
+:10283000971E80E090E00E94B30E80E090E00C9440
+:10284000C90E0E94F7190C940D140E945519292FD6
+:1028500022952F7030E02C3031054CF42A303105B0
+:102860006CF4225031092230310588F407C02C3035
+:10287000310549F02F30310531F009C0803E48F074
+:10288000803F29F406C093FB882780F9089580E0F3
+:10289000089581E00895CF93DF9300D000D01F9278
+:1028A000CDB7DEB70F900F900F900F900F90DF9184
+:1028B000CF910895CF93DF9300D000D000D0CDB753
+:1028C000DEB726960FB6F894DEBF0FBECDBFDF9100
+:1028D000CF9108951F93CF93DF93C091790116E0B4
+:1028E00080917A01C81799F0D0E01C9FF0011D9FDC
+:1028F000F00D1124E558FE4F4081518162817381B2
+:10290000848195810E945A142196C770E9CFDF9186
+:10291000CF911F9108954091AB015091AC0160910E
+:10292000AD017091AE018091AF019091B0010C9416
+:102930005A148091B00182958F7009F054C0809133
+:10294000AD01882309F44FC080917901A0917A01EB
+:102950006091AB017091AC014091AE015091AF011B
+:10296000B6E08A1709F43FC090E041155105C1F166
+:102970007F3F11F46F3FA1F1B89FF001B99FF00DB7
+:102980001124E558FE4F218172132AC02081621361
+:1029900027C02281211124C02381348124173507C7
+:1029A00010F421503109241B350B283C3105C0F4AB
+:1029B0002091B0012F7020612093B00126E0289F64
+:1029C000F001299FF00D1124E058FE4F80818F7097
+:1029D000806180838BEA91E00E94DF100C946A147E
+:1029E00001968770BECF0895CF92DF92EF92FF924B
+:1029F0000F931F93CF93DF93CDB7DEB762970FB6D8
+:102A0000F894DEBF0FBECDBF8C0185E0F801DE017A
+:102A10001D9601900D928A95E1F7D8014C9111967F
+:102A20005C91119712966C9112971396CD90DC9051
+:102A300014973091AB017091AC018091AE019091EF
+:102A4000AF01009709F46BC17F3F19F43F3F09F4D0
+:102A500066C1E090AD01EE2009F4C0C02091B00144
+:102A6000C816D90628F0F601E81BF90BCF0104C0FF
+:102A7000809590958C0D9D1DFF24F394883C9105C5
+:102A800078F0F12C207F09F0C6C07C2DD98AC88A45
+:102A900089890E944B148BEA91E00E94DF10B1C03B
+:102AA000822F807F09F046C0751314C0341312C002
+:102AB000611110C02F7020612093B0010E948B140F
+:102AC0008BEA91E00E94DF108091B001D801159649
+:102AD0008C932EC0CD2819F15F3F11F44F3FF9F0D0
+:102AE000F62E61111CC08091790120917A0136E0A7
+:102AF000821709F45AC090E0389FF001399FF00D19
+:102B00001124E558FE4F7181571306C07081471399
+:102B100003C07281711103C001968770E9CFF62E50
+:102B2000662309F418C18091B00181608093B001DF
+:102B3000F12C11C1751308C0341306C0611104C013
+:102B40008091B001D801C3C04D875E878D859E8579
+:102B50006A8B0E9425146A898823E1F16623D1F1EA
+:102B60002091B001822F82958F7090E0029774F0CF
+:102B70008091AB019091AC0198878F831986DB8699
+:102B8000CA862C87CE0107960E94DF1086E0F801E6
+:102B9000ABEAB1E001900D928A95E1F70E94991499
+:102BA0000E948B14FF24F394D6C04D875E878D85D9
+:102BB0009E850E945519292F22952F7030E02230D2
+:102BC00031050CF0BCC09F7009F0B6C0805E883043
+:102BD00008F4C1C0C8010E94DF10E4CFC816D906AE
+:102BE00008F453C0F601E81BF90BCF01883C9105AE
+:102BF00008F450C0F12C7C2DD98AC88A89890E949A
+:102C00004B14EBEAF1E086E0DF011D928A95E9F7CB
+:102C10000E948B14A0C0751314C0341312C061112C
+:102C200010C08091B001F8018583C8010E94DF10B7
+:102C300086E0EBEAF1E0DF011D928A95E9F7FE2CD0
+:102C40008AC04D875E878D859E856A8B0E9425147C
+:102C50006A89882309F4BECF662309F4BBCF20918B
+:102C6000B001822F82958F7090E002970CF48ECF86
+:102C70008091AB019091AC019A8389831B82DD82A4
+:102C8000CC822E83CE0101967FCF809590958C0DBE
+:102C90009D1DACCFF62E662309F49CCF75132EC074
+:102CA00034132CC02091B00120FD1FC0822F8295CB
+:102CB0008F70D9F0D80115962C9315978F3049F065
+:102CC0008F5F982F9295907F822F8F70892B15960A
+:102CD0008C93C8010E94DF1086E0F801ABEAB1E0F6
+:102CE00001900D928A95E1F793CF86E0F801ABEA67
+:102CF000B1E001900D928A95E1F72DC04D875E8776
+:102D00008D859E850E942514811140CF8091B00150
+:102D100081608093B001C8010E94DF101CC066234F
+:102D200009F458CF4D875E878D859E850E942514B6
+:102D3000882309F44FCF2ACF811148CF0CC024300B
+:102D400031050CF047CF9F7009F440CFF801958111
+:102D5000907F09F03BCF8F2D62960FB6F894DEBFBF
+:102D60000FBECDBFDF91CF911F910F91FF90EF90DC
+:102D7000DF90CF9008951F93CF93DF93CDB7DEB749
+:102D80002C970FB6F894DEBF0FBECDBF4F83588788
+:102D900069877A878B879C87CE0107960E94F414F7
+:102DA000882369F08F8198852A853B85232BF1F153
+:102DB0009F3F09F063C08F3F09F060C037C086E0D5
+:102DC000FE013796DE01119601900D928A95E1F78A
+:102DD0006F817885EA85FB85309741F17F3F11F45B
+:102DE0006F3F21F120917A0130E0C901019687708F
+:102DF00099274091790150E08417950709F447C05D
+:102E000069837A83FD83EC8396E0929FD001939F40
+:102E1000B00D1124A558BE4FFE01319601900D92C0
+:102E20009A95E1F780937A010E946A1416E08091E6
+:102E3000790190917A018917C1F1189FC00111247D
+:102E400085589E4F0E94F414882379F1E09179010E
+:102E50001E9FF0011124E558FE4F4081518162818F
+:102E60007381848195810E945A148091790190E048
+:102E700001968770992780937901D9CF4F81588522
+:102E800069857A858B859C850E945A14CFCF0E94D4
+:102E9000211410927A0110927901EBEAF1E086E0B8
+:102EA000DF011D928A95E9F7C1CF2C960FB6F894F1
+:102EB000DEBF0FBECDBFDF91CF911F910895EF927E
+:102EC000FF920F931F93CF93DF938C01892B09F40B
+:102ED0006CC0F12CEE24E394E8012196F801849172
+:102EE000843740F4843008F051C0813081F0823062
+:102EF00019F15BC0853709F444C0A8F19CE7980F2D
+:102F0000903708F052C08F770E94821041C00E5F48
+:102F10001F4FFE01C49180E28C0F883048F4C770C7
+:102F20008E2D01C0880FCA95EAF70E940A1A14C0B4
+:102F30008C2F0E94BA0F2DC00E5F1F4FFE01C4914F
+:102F400080E28C0F883058F4C7708E2D01C0880F36
+:102F5000CA95EAF70E94101A0E94311A1AC08C2FE3
+:102F60000E94821016C00E5F1F4FFE01C491CC2339
+:102F700081F08FE99FE00197F1F700C00000C15098
+:102F8000F6CF0E5F1F4FFE01F49003C00E94BA0FF0
+:102F90008E018F2D882309F49FCFEFE9FFE0319751
+:102FA000F1F700C000008150F5CFDF91CF911F9164
+:102FB0000F91FF90EF90089508956093B50170937D
+:102FC000B6018093B7019093B8010C940D140F9340
+:102FD0001F930091B5011091B6012091B701309176
+:102FE000B801DC01CB01802B912BA22BB32B80935A
+:102FF000B5019093B601A093B701B093B8011F91AA
+:103000000F910C940D140F931F930091B501109123
+:10301000B6012091B7013091B801DC01CB018023CA
+:103020009123A223B3238093B5019093B601A0937B
+:10303000B701B093B8011F910F910C940D140F9329
+:103040001F930091B5011091B6012091B701309105
+:10305000B801DC01CB0180279127A227B3278093F9
+:10306000B5019093B601A093B701B093B8011F9139
+:103070000F910C940D141092B1011092B2011092A4
+:10308000B3011092B4010C940D1441E050E060E0E3
+:1030900070E004C0440F551F661F771F8A95D2F752
+:1030A0004093B1015093B2016093B3017093B401A6
+:1030B0000C940D1441E050E060E070E004C0440F57
+:1030C000551F661F771F8A95D2F78091B1019091A5
+:1030D000B201A091B301B091B401482B592B6A2BD6
+:1030E0007B2B4093B1015093B2016093B301709375
+:1030F000B4010C940D1441E050E060E070E004C0B5
+:10310000440F551F661F771F8A95D2F7409550953B
+:10311000609570958091B1019091B201A091B30139
+:10312000B091B401482359236A237B234093B10112
+:103130005093B2016093B3017093B4010C940D14D9
+:1031400041E050E060E070E004C0440F551F661F8E
+:10315000771F8A95D2F78091B1019091B201A09129
+:10316000B301B091B401482759276A277B274093C0
+:10317000B1015093B2016093B3017093B4010C9408
+:103180000D140F931F930091B1011091B201209182
+:10319000B3013091B401DC01CB01802B912BA22B28
+:1031A000B32B8093B1019093B201A093B301B0937C
+:1031B000B4011F910F910C940D140F931F93009164
+:1031C000B1011091B2012091B3013091B401DC0141
+:1031D000CB0180239123A223B3238093B101909349
+:1031E000B201A093B301B093B4011F910F910C945D
+:1031F0000D140F931F930091B1011091B201209112
+:10320000B3013091B401DC01CB0180279127A227C3
+:10321000B3278093B1019093B201A093B301B0930F
+:10322000B4011F910F910C940D140895CF92DF9269
+:10323000EF92FF920F931F93CF93DF938C01C09077
+:10324000B501D090B601E090B701F090B80180913F
+:10325000B1019091B201A091B301B091B401C82A1B
+:10326000D92AEA2AFB2ACFE1D0E0D701C6010C2EE9
+:1032700004C0B695A795979587950A94D2F780FFD5
+:1032800006C0B8018C2F0E945406019721F42197A3
+:1032900060F780E001C08C2FDF91CF911F910F91DB
+:1032A000FF90EF90DF90CF900895CF93DF93EC01E4
+:1032B0000E941619BE010E945406DF91CF91089515
+:1032C000CB010E945519089590910C01992321F08A
+:1032D00090910D01911109C020910E0130910F01C3
+:1032E000F90132969FEF40E01FC0982F9695969572
+:1032F00096959F3050F5E0910E01F0910F01E90F86
+:10330000F11D877021E030E0A90102C0440F551F74
+:103310008A95E2F7CA019181892B818308959F3FA5
+:1033200039F04F5F4E3041F051915813F8CF0DC036
+:103330005111F7CF942FF5CF9F3F39F0F901E90FE5
+:10334000F11D97FDFA9582830895089590910C01DF
+:10335000992321F090910D01911109C020910E0146
+:1033600030910F01F9013296205F3F4F1FC0982F17
+:103370009695969596959F30F0F4E0910E01F09118
+:103380000F01E90FF11D877021E030E0A90102C0B3
+:10339000440F551F8A95E2F7CA01809591818923D0
+:1033A000818308953196E217F30729F090819813ED
+:1033B000F9CF1082F7CF089581E090E0E0910E01FF
+:1033C000F0910F01E80FF91F1082019680319105ED
+:1033D000A9F708959091CC01892B8093CC01089591
+:1033E00080959091CC0189238093CC01089510920F
+:1033F000CC0108959091CB01892B8093CB01089546
+:1034000080959091CB0189238093CB0108951092F0
+:10341000CB0108959091CA01892B8093CA01089528
+:1034200080959091CA0189238093CA0108951092D2
+:10343000CA0108958093B90108951092B9010895C1
+:1034400080910E0190910F01FC0131969C01205F4B
+:103450003F4F80E0919191118F5FE217F307D1F711
+:103460000895E0910E01F0910F018091CC018083CD
+:10347000E0910E01F0910F0190818091CB01892B99
+:103480008083E0910E01F0910F0190818091CA013B
+:10349000892B80838091B901882361F0E0910E012E
+:1034A000F0910F019081892B80830E94201A811155
+:1034B0001092B90180910E0190910F010C949D0E14
+:1034C000CF92DF92EF92FF926C01EE24FF24C114A1
+:1034D000D104E104F10421F0C701B60120E101C0EB
+:1034E00020E0C72ED82EE92EFF24C114D104E10418
+:1034F000F10419F0285FC701B6016B017C0154E0AB
+:10350000F694E794D794C7945A95D1F7C114D1048F
+:10351000E104F10419F02C5FC701B6016B017C01D5
+:1035200042E0F694E794D794C7944A95D1F7C11432
+:10353000D104E104F10419F02E5FC701B601DC01EA
+:10354000CB01B695A79597958795892B8A2B8B2BC1
+:1035500009F02F5F822FFF90EF90DF90CF900895BA
+:103560008091E601843021F11092CE0120E488E1BF
+:1035700090E00FB6F894A895809360000FBE20935A
+:10358000600080E00E948A0783B7817F846083BFE8
+:1035900083B7816083BF7894889583B78E7F83BF1C
+:1035A00088E10FB6F89480936000109260000FBE1F
+:1035B000089508950895CF930E94D91A0E947D041A
+:1035C0000E94DA1AC0E08C2F0E946B05811104C0A2
+:1035D000CF5FCE30C1F701C081E0CF9108950E9446
+:1035E00021140E94910E0C948A0782E084BD93E01E
+:1035F00095BD9AEF97BD80936E0008952FB7F8940C
+:103600008091CF019091D001A091D101B091D201D0
+:103610002FBF0895CF92DF92EF92FF920F931F93E7
+:103620002FB7F8944091CF015091D0016091D10112
+:103630007091D2012FBF6A017B01EE24FF248C011F
+:1036400020E030E0C016D106E206F30610F4415047
+:1036500051099A01281B390BC9011F910F91FF9045
+:10366000EF90DF90CF9008951F920F920FB60F92B8
+:1036700011248F939F93AF93BF938091CF0190912B
+:10368000D001A091D101B091D2010196A11DB11D2F
+:103690008093CF019093D001A093D101B093D20138
+:1036A000BF91AF919F918F910F900FBE0F901F9080
+:1036B00018950E948E0BF8942FEF87EA91E621501F
+:1036C00080409040E1F700C0000087E090EBDC0113
+:1036D0008093EF019093F001A093F101B093F20178
+:1036E0009CE088E10FB6F894A895809360000FBE27
+:1036F00090936000FFCFEF92FF920F931F93CF93B1
+:10370000DF93D82FC0E08C2F0E946B0500E010E003
+:10371000E82EF12CC701002E02C0959587950A94DA
+:10372000E2F780FD06C00F5F1F4F0630110591F7CD
+:1037300009C0602F7C2F80E00E943206D813F3CF9F
+:1037400081E004C0CF5FCE30F1F680E0DF91CF9111
+:103750001F910F91FF90EF900895CF93C82F8CE2A7
+:103760000E947B1B882321F08C2FCF910C947B1B14
+:1037700080E0CF910895CF930E94021D811102C075
+:103780000E94E81CC5E6C15049F00E947D048FE309
+:103790009CE90197F1F700C00000F5CF89E20E9493
+:1037A000AD1B811113C18AE20E94AD1B81110E94E1
+:1037B000E81C85E00E94AD1B81110E94591B0E94EC
+:1037C0000D1D8093CD0187E00E94AD1B8823A9F1D8
+:1037D0008BE10E94AD1B882351F08091CD0181FBCC
+:1037E000222720F991E0922790FB81F90EC08EE00C
+:1037F0000E94AD1B882361F08091CD0182FB2227BE
+:1038000020F991E0922790FB82F98093CD0115C0B9
+:1038100080E10E94AD1B9091CD01882341F093FB84
+:10382000222720F981E0822780FB93F904C0892FA9
+:10383000809580FB90F99093CD018091CD010E94FD
+:10384000111D0E941F1D8093E00180EE0E94AD1BA0
+:10385000882341F08091E001982F909590FB80F9AA
+:103860008093E00189E30E94AD1B882359F0809189
+:10387000E00181FB222720F991E0922790FB81F95A
+:103880008093E00182EE0E94AD1B882359F0809165
+:10389000E00182FB222720F991E0922790FB82F938
+:1038A0008093E00186EE0E94AD1B882359F0809141
+:1038B000E00183FB222720F991E0922790FB83F916
+:1038C0008093E00183EE0E94AD1B882359F0809124
+:1038D000E00184FB222720F991E0922790FB84F9F4
+:1038E0008093E00185E30E94AD1B882359F080910D
+:1038F000E00185FB222720F991E0922790FB85F9D2
+:103900008093E00181E30E94AD1B882359F08091F0
+:10391000E00186FB222720F991E0922790FB86F9AF
+:103920008093E00181E10E94AD1B882359F08091D2
+:10393000E00187FB222720F991E0922790FB87F98D
+:103940008093E0018091E0010E94231D8091E001BD
+:1039500087FB882780F980930D0187E20E94AD1BC9
+:10396000C82F8EE10E94AD1B8111C2608FE10E94C1
+:10397000AD1B8111C46080E20E94AD1B8111C86043
+:1039800081E20E94AD1B8111C06182E20E94AD1BE9
+:103990008111C06283E20E94AD1B8111C06484E288
+:1039A0000E94AD1B882311F0C06802C0CC2329F00F
+:1039B0008C2F0E941A1D6C2F03C00E94161D682FA9
+:1039C00070E080E090E0CF910C94DD17CF910895E6
+:1039D0006DEE7EEF80E090E00E94542360E082E094
+:1039E00090E00E94462360E083E090E00E9446233E
+:1039F00060E084E090E00E94462360E085E090E093
+:103A00000C94462380E090E00E94402321E08D3E0C
+:103A10009E4F09F020E0822F089582E090E00C9400
+:103A20003823682F82E090E00C94462383E090E0F6
+:103A30000C943823682F83E090E00C94462384E0B4
+:103A400090E00C943823682F84E090E00C94462397
+:103A50008091D50180FF0BC06091130185E0689FC4
+:103A6000B001112475956795759567952BC081FFF9
+:103A700009C06091130185E0689FB001112475951C
+:103A8000679520C082FF07C06091130185E0689FA1
+:103A9000B001112417C09091D6019923D1F0609103
+:103AA0001201961788F72091130185E0289F900155
+:103AB0001124929FA001939F500D112470E0CA0120
+:103AC0000E940A236038710540F46115710539F0D0
+:103AD00002C065E070E0862F08958FE7089581E0C9
+:103AE00008958091D50180FF08C06091110170E0B8
+:103AF000759567957595679521C081FF06C06091A2
+:103B0000110170E07595679519C082FF04C060913E
+:103B1000110170E010C09091D6019923C1F060911D
+:103B200010019617A0F780911101899FC0011124FF
+:103B300070E00E940A236038710528F46115710550
+:103B400021F0862F08958FE7089581E0089561E0C0
+:103B500070E0F4CF803F21F40E94281D819504C0BD
+:103B6000813F29F40E94281D8093D9010895823F46
+:103B700021F40E94281D819504C0833F29F40E94EE
+:103B8000281D8093D8010895893F19F40E94711D62
+:103B900005C08A3F31F40E94711D81958093DA013E
+:103BA00008958B3F21F40E94711D819504C08C3FC4
+:103BB00029F40E94711D8093DB010895843F21F454
+:103BC0008091D701816017C0853F21F48091D70192
+:103BD000826011C0863F21F48091D70184600BC0C0
+:103BE000873F21F48091D701886005C0883F31F478
+:103BF0008091D70180618093D70108958D3F21F492
+:103C00008091D50181600BC08E3F21F48091D50158
+:103C1000826005C08F3F29F48091D5018460809334
+:103C2000D5010895803F39F48091D90187FF6CC098
+:103C30001092D90169C0813F29F48091D9011816E9
+:103C4000BCF362C09091D801823F29F497FF5CC019
+:103C50001092D80159C0833F19F41916CCF354C0FF
+:103C6000893F41F48091DA0118160CF04DC0109292
+:103C7000DA014AC08A3F29F48091DA0187FF44C003
+:103C8000F6CF8B3F39F48091DB0187FF3DC0109266
+:103C9000DB013AC08C3F29F48091DB011816BCF39C
+:103CA00033C0843F21F48091D7018E7F17C0853FB8
+:103CB00021F48091D7018D7F11C0863F21F480913E
+:103CC000D7018B7F0BC0873F21F48091D701877F7D
+:103CD00005C0883F31F48091D7018F7E8093D70152
+:103CE00013C08D3F21F48091D5018E7F0BC08E3F94
+:103CF00021F48091D5018D7F05C08F3F29F48091FB
+:103D0000D5018B7F8093D5018091D80181110EC0A0
+:103D10008091D90181110AC08091DA01811106C018
+:103D20008091DB01811102C01092D601089587EDC8
+:103D300091E00E94A80E0E94FE1A9093D4018093F5
+:103D4000D30108951F93CF93DF938091D301909176
+:103D5000D4010E940A1BAC019091D601992321F055
+:103D60002091140130E006C0209115018AE0289FBF
+:103D7000900111244217530708F486C08091D8019E
+:103D8000C091D901D091DA011091DB01811107C0F6
+:103D9000C11176C0D11174C0111172C075C09F3F9E
+:103DA00019F09F5F9093D601181624F40E94281DE5
+:103DB0008093D8018091D80187FF05C00E94281DFB
+:103DC00081958093D8011C1624F40E94281D8093AD
+:103DD000D9018091D90187FF05C00E94281D8195D6
+:103DE0008093D9016091D801662339F1C091D9013E
+:103DF000CC2319F1772767FD7095872F972F0E94A5
+:103E00001B2223E333E343E35FE30E947F220E940C
+:103E1000E8216093D8016C2F772767FD7095872F75
+:103E2000972F0E941B2223E333E343E35FE30E94C7
+:103E30007F220E94E8216093D9011D1624F40E947C
+:103E4000711D8093DA018091DA0187FF05C00E941D
+:103E5000711D81958093DA01111624F40E94711D61
+:103E60008093DB018091DB0187FF05C00E94711DFB
+:103E700081958093DB01DF91CF911F910C94971E68
+:103E80009F3F09F08ECF96CFDF91CF911F9108957C
+:103E9000E7EDF1E085E0DF011D928A95E9F71092E8
+:103EA000D6011092D5010895833081F128F4813034
+:103EB00059F08230D1F00895853009F449C0B8F145
+:103EC000863009F456C0089580911501262F30E000
+:103ED000280F311D2F3F310524F4680F6093150121
+:103EE00008958FEF80931501089580911401262F76
+:103EF00030E0280F311D2F3F310524F4680F609307
+:103F0000140108958FEF8093140108958091130197
+:103F1000262F30E0280F311D2F3F310524F4680F84
+:103F20006093130108958FEF80931301089580919A
+:103F30001201262F30E0280F311D2F3F310524F4C8
+:103F4000680F6093120108958FEF80931201089516
+:103F500080911101262F30E0280F311D2F3F3105B0
+:103F600024F4680F6093110108958FEF809311017D
+:103F7000089580911001262F30E0280F311D2F3F2A
+:103F8000310524F4680F6093100108958FEF80933A
+:103F900010010895833011F128F4813049F0823006
+:103FA00091F00895853081F120F18630C1F10895B6
+:103FB00080911501681720F4861B809315010895E0
+:103FC00010921501089580911401681720F4861B42
+:103FD00080931401089510921401089580911301A3
+:103FE000681720F4861B8093130108951092130123
+:103FF000089580911201681720F4861B80931201A6
+:10400000089510921201089580911101681720F40B
+:10401000861B8093110108951092110108958091DB
+:104020001001681720F4861B8093100108951092E8
+:10403000100108950F931F938D3109F46AC008F0A1
+:104040003FC08E3009F484C0C0F4873009F46DC0DD
+:1040500068F4863009F0B5C08091CD01817F8E7FF4
+:104060008093CD0181E08093DD01ACC0883009F4FC
+:1040700057C08B3009F46AC0A4C0863109F466C009
+:1040800078F4803109F477C0813109F09AC00E9438
+:10409000211490910D0181E0892780930D0156C074
+:1040A000893109F453C08B3109F08BC08091CD0167
+:1040B00081FB222720F991E0922790FB81F951C0E2
+:1040C000853309F475C048F4873209F471C008F4E7
+:1040D0005EC0893209F46CC074C0833430F48A3312
+:1040E00008F053C0883391F16CC0833409F460C088
+:1040F000883409F066C00E9421140FEF13ED20E30D
+:10410000015010402040E1F700C000000E94591B00
+:104110001DC00E94A2210E94910E0E948A0716C013
+:104120000E940D1D0E941F1D11C09091CD01892F6D
+:104130008095817080FB90F929F09660986090934B
+:10414000CD0140C0997F977F9093CD0181E03AC027
+:104150008091CD0182FB222720F991E0922790FBEC
+:1041600082F98093CD01992389F38091CD018160FB
+:104170008093CD01EBCF8091CD0183FB222720F9E5
+:1041800091E0922790FB83F9ECCF895301C08D51C8
+:1041900041E050E060E070E08A019B0104C0000F44
+:1041A000111F221F331F8A95D2F7C901B80104C01D
+:1041B00061E070E080E090E00E94DD170E94211431
+:1041C000C5CF80E01F910F91089580E0089580E0B1
+:1041D0000895CF93C82F8091DD01813079F018F0D8
+:1041E0008230E9F187C0E0910E01F0910F018081EA
+:1041F000813169F0823209F07FC009C0E0910E017F
+:10420000F0910F018081813111F0823261F48C2FA5
+:104210000E94E520811104C08C2F0E941A201DC02D
+:1042200081E090E01AC08C2F0E94E720811114C019
+:10423000C43179F048F4CB3079F0C03109F060C076
+:1042400082E08093DD0108C0C93219F0C83321F043
+:1042500057C01092DD0154C081E0817053C0C93253
+:1042600089F118F5C43171F1A8F4C73009F046C0DE
+:104270008AE08093150194E19093140193E0909368
+:1042800013018093120188E08093110188E28093EA
+:10429000100134C0CE51C63088F5EC2FF0E0E65D59
+:1042A000FE4F80818093DC0129C0CE34E9F020F4F8
+:1042B000CB3421F56AE013C0C13579F0C235F1F491
+:1042C00061E00DC08091DC01882319F01092DC01BF
+:1042D00015C081E08093DD0115C061E006C08091CA
+:1042E000DC010E94541F0AC06AE08091DC010E9438
+:1042F000CA1F04C01092DD0180E004C081E002C04A
+:1043000080E0ABCFCF910895E1E8F0E08081886054
+:1043100080838081816080838FB7F89493E090934D
+:10432000890090ED909388008FBF0895EFE6F0E04C
+:104330008081826080830895EFE6F0E080818D7F48
+:1043400080830895EFE6F0E0908182E08927808302
+:1043500008951F920F920FB60F9211242F933F933F
+:104360004F935F936F937F938F939F93AF93BF937D
+:10437000EF93FF938091DE019091DF01019690937E
+:10438000DF018093DE01811103C082E00E948A0771
+:10439000E091DF01E695E695F0E0EA5CFA4FE49102
+:1043A0008091DE018E1303C080E00E948A07FF9196
+:1043B000EF91BF91AF919F918F917F916F915F919D
+:1043C0004F913F912F910F900FBE0F901F90189516
+:1043D00004D06894B1118DC0089570D088F09F57B3
+:1043E00090F0B92F9927B751A0F0D1F0660F771F41
+:1043F000881F991F1AF0BA95C9F712C0B13081F021
+:1044000077D0B1E0089574C0672F782F8827B85F00
+:1044100039F0B93FCCF3869577956795B395D9F781
+:104420003EF490958095709561957F4F8F4F9F4F8B
+:104430000895E89409C097FB3EF490958095709597
+:1044400061957F4F8F4F9F4F9923A9F0F92F96E9E0
+:10445000BB279395F695879577956795B795F11155
+:10446000F8CFFAF4BB0F11F460FF1BC06F5F7F4FF2
+:104470008F4F9F4F16C0882311F096E911C0772304
+:1044800021F09EE8872F762F05C0662371F096E80D
+:10449000862F70E060E02AF09A95660F771F881FDC
+:1044A000DAF7880F9695879597F9089557FD9058F4
+:1044B000440F551F59F05F3F71F04795880F97FBE8
+:1044C000991F61F09F3F79F08795089512161306A2
+:1044D0001406551FF2CF4695F1DF08C016161706D1
+:1044E0001806991FF1CF8695710561050894089506
+:1044F000E894BB2766277727CB0197F908950BD05F
+:1045000078C069D028F06ED018F0952309F05AC011
+:104510005FC01124EECFCADFA0F3959FD1F3950FB2
+:1045200050E0551F629FF001729FBB27F00DB11D37
+:10453000639FAA27F00DB11DAA1F649F6627B00DC7
+:10454000A11D661F829F2227B00DA11D621F739FB0
+:10455000B00DA11D621F839FA00D611D221F749FBE
+:104560003327A00D611D231F849F600D211D822F05
+:10457000762F6A2F11249F5750408AF0E1F088234C
+:104580004AF0EE0FFF1FBB1F661F771F881F915059
+:104590005040A9F79E3F510570F014C0AACF5F3F6D
+:1045A000ECF3983EDCF3869577956795B795F7958C
+:1045B000E7959F5FC1F7FE2B880F911D9695879514
+:1045C00097F9089597F99F6780E870E060E0089593
+:1045D0009FEF80EC089500240A941616170618061B
+:1045E0000906089500240A941216130614060506F7
+:1045F0000895092E0394000C11F4882352F0BB0F88
+:1046000040F4BF2B11F460FF04C06F5F7F4F8F4FEA
+:104610009F4F089597FB072E16F4009407D077FD5F
+:1046200009D00E94242307FC05D03EF49095819583
+:104630009F4F0895709561957F4F0895EE0FFF1F6E
+:104640000590F491E02D0994AA1BBB1B51E107C012
+:10465000AA1FBB1FA617B70710F0A61BB70B881F12
+:10466000991F5A95A9F780959095BC01CD010895A1
+:10467000F999FECF92BD81BDF89A992780B508952A
+:10468000A8E1B0E042E050E00C945B23262FF999BA
+:10469000FECF1FBA92BD81BD20BD0FB6F894FA9A25
+:1046A000F99A0FBE019608950E944623272F0C9475
+:1046B0004723DC01CB01FC01F999FECF06C0F2BD16
+:1046C000E1BDF89A319600B40D9241505040B8F7D0
+:0646D0000895F894FFCFED
+:1046D60020028C071A08F707C3078F070101BA01E2
+:1046E60028080A03140A3F4D3639F704AA0474044D
+:1046F6003B04CE03E7030004190401020304050684
+:044706000708090097
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png Binary files differnew file mode 100644 index 0000000000..cdc535f79e --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md index 9eb4c24db3..804c52a767 100644 --- a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md +++ b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md @@ -5,7 +5,10 @@ There are four layers: - **BASE** is [Norman layout](https://normanlayout.info/). - **SYMB** for numbers and symbols. - **PLVR** is optimized for [Plover](http://www.openstenoproject.org). -- **ARRW** for navigation. +- **ARRW** for navigation (same fingers for arrows as IJKL on QWERTY). + +Looking for HJKL arrows? [Here we +go](../romanzolotarev-norman-plover-osx-hjkl/). [![keyboard-layout](romanzolotarev-norman-plover-osx.png)](http://www.keyboard-layout-editor.com/#/gists/8ebcb701ecb763944417) @@ -28,11 +31,11 @@ There are four layers: - Tap `F2` to copy screenshot to the clipboard. - Hold `SHIFT` and tap `F2` to save screenshot as a file. - Tap `F3`, `F4`, `F5`, `F6` to resize a window via [Divvy](http://mizage.com/divvy/). -- Tap `F14`, `F15` to adjust display brightness. - -**IMPORTANT**: If you have another keyboard connected via Bluetooth, then `F14` and `F15` will not work. -Turn off that Bluetooth keyboard. Re-plug you ErgoDox. Enjoy! +- Tap `F14`, `F15` to adjust display brightness. +**IMPORTANT**: If you have another keyboard connected via Bluetooth, then +`F14` and `F15` will not work. Turn off that Bluetooth keyboard. Re-plug +you ErgoDox. Enjoy! ## CTRL/ESC diff --git a/keyboard/ergodox_ez/keymaps/twey/keymap.c b/keyboard/ergodox_ez/keymaps/twey/keymap.c new file mode 100644 index 0000000000..75d264bdbe --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/twey/keymap.c @@ -0,0 +1,225 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_plover.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys +#define STEN 3 // steno + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,---------------------------------------------------. ,---------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | STEN | | NONE | 6 | 7 | 8 | 9 | 0 | \ | + * |--------+------+------+------+-------+-------------| |-------+------+------+------+------+------+--------| + * | Del | ' | , | . | P | Y | Esc | | Caps | F | G | C | R | L | / | + * |--------+------+------+------+-------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | O | E | U | I |------| |-------| D | H | T | N |S / L2|- / Cmd | + * |--------+------+------+------+-------+------| Tab | | Enter |------+------+------+------+------+--------| + * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift | + * `--------+------+------+------+-------+-------------' `--------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right | | Up | Down | [ | ] | ~L1 | + * `-----------------------------------' `----------------------------------' + * ,-------------. ,---------------. + * | PgUp | PgDn | | Home | End | + * ,------|------|------| |-------+-------+------. + * | | | NONE | | NONE | | | + * | Alt | NONE |------| |-------| Space | Ctrl | + * | | | Supr | | AltGr | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, M(0), + KC_DELT, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_ESC, + KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_TAB, + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + KC_PGUP,KC_PGDN, + KC_NO, + KC_LALT,KC_ENT ,KC_LGUI, + // right hand + KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_CAPS, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, + KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), GUI_T(KC_MINS), + KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z , KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_HOME,KC_END, + KC_NO, + KC_RALT,KC_SPC,KC_RCTL + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), + +[STEN] = KEYMAP( // layout: layer 4: Steno for Plover + // left hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_STAR, + KC_NO, PV_LS, PV_LT, PV_LP, PV_LH, PV_STAR, + KC_NO, PV_LS, PV_LK, PV_LW, PV_LR, PV_STAR, PV_STAR, + KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, + KC_NO, KC_NO, + KC_NO, + PV_A, PV_O, KC_NO, + // right hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + PV_STAR, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, + PV_STAR, PV_RF, PV_RP, PV_RL, PV_RT, PV_RD, + PV_STAR, PV_STAR, PV_RR, PV_RB, PV_RG, PV_RS, PV_RZ, + KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_NO, PV_E, PV_U +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +void toggle_steno(int pressed) +{ + uint8_t layer = biton32(layer_state); + + if (pressed) { + if (layer != STEN) layer_on(STEN); else layer_off(STEN); + + register_code(PV_LS); + register_code(PV_LH); + register_code(PV_RF); + register_code(PV_RT); + } else { + unregister_code(PV_LS); + unregister_code(PV_LH); + unregister_code(PV_RF); + unregister_code(PV_RT); + } +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + toggle_steno(record->event.pressed); + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + case 3: + ergodox_right_led_3_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/twey/readme.md b/keyboard/ergodox_ez/keymaps/twey/readme.md new file mode 100644 index 0000000000..d44c0a2382 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/twey/readme.md @@ -0,0 +1,19 @@ +# Twey's Home Configuration +## Layers +- Layer 0: Non-ANSI Dvorak layout, with modified modifiers — all + modifiers on thumb keys, as well as return and space. +- Layer 1: Default symbol layout. +- Layer 2: Default media/mouse layout. +- Layer 3: Plover-oriented stenography layer. + +## Unusual features +The Plover key (top right key on the left half) also sends my Plover +‘toggle’ chord (SH-FT) when pressed, as well as toggling the steno +layer, so you can toggle between steno and typing modes with a single +keypress. + +If you want to use this feature, you'll need to add: + + "SH-FT": "{PLOVER:TOGGLE}" + +to your Plover dictionary. diff --git a/keyboard/ergodox_ez/keymaps/twey/twey.hex b/keyboard/ergodox_ez/keymaps/twey/twey.hex new file mode 100644 index 0000000000..14f5b7c798 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/twey/twey.hex @@ -0,0 +1,1122 @@ +:100000000C9465020C94A9020C94A9020C94A90208
+:100010000C94A9020C94A9020C94A9020C94A902B4
+:100020000C94A9020C94A9020C94C50B0C94970C87
+:100030000C94A9020C94A9020C94A9020C94A90294
+:100040000C94A9020C9422210C94A9020C94A902EC
+:100050000C94A9020C94C41A0C94A9020C94A90241
+:100060000C94A9020C94A9020C94A9020C94A90264
+:100070000C94A9020C94A9020C94A9020C94A90254
+:100080000C94A9020C94A9020C94A9020C94A90244
+:100090000C94A9020C94A9020C94A9020C94A90234
+:1000A0000C94A9020C94A9020C94A902FC0C1E0D3C
+:1000B000090E1E0D090E600D830D090ED80DEB0DF6
+:1000C000D810D81006110611481184118413841316
+:1000D0009C118413931293125E138413841372136E
+:1000E0000000F0A12E004C002A00E1003581000044
+:1000F0001E00140004001D7134004D001F001A0082
+:1001000016001B00E1042A0020000800070006007A
+:1001100050002C0021001500090019004F004A0072
+:10012000220017000A000500000065745000015409
+:100130000000007F0000E3004F0001540000007742
+:100140000000E20023001C000B00110000002971D8
+:10015000240018000D00100052004B0025000C0078
+:100160000E00360051002800260012000F00370054
+:100170002F002B00270013003382387130004E000F
+:100180002D0031003478E500C100000001000100BD
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:10020000010001004100250022001F00370001000D
+:1002100042002600230020002700010043002502A1
+:100220002E0231002E0001004400450001000100B3
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F2000100010001000100F000F1000100C6
+:10026000F400010001000100F3000100F5000100AD
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A0000100010001000100A9000100010001009E
+:1002B0000100AC00AA00B600010001000100AB0083
+:1002C000A80001000100010001000100010001007F
+:1002D00001000100AE00010001000000160345000E
+: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
+:10052000FFE3099511E0A0E0B1E0E8ECF5E402C0DA
+:1005300005900D92A433B107D9F711E0A4E3B1E01F
+:1005400001C01D92AE3EB107E1F70E940B090C9469
+:10055000E2220C94000061110BC0FC01828188230F
+:1005600021F085EE0E946C0F03C085EE0E943410CE
+:1005700080E090E0089508956091B1017091B2011A
+:100580008091B3019091B4010E94F01956985E9841
+:1005900025982D9826982E9827982F98813019F015
+:1005A000823021F00895259A2D9A0895269A2E9A40
+:1005B00008958CEB92E0892B11F00E94BC0280E040
+:1005C00090E0089556985E9825982D9826982E9834
+:1005D00027982F988FEF90E0909389008093880060
+:1005E00090938B0080938A0090938D0080938C0071
+:1005F000259A2D9A2FEF80E792E02150804090407D
+:10060000E1F700C00000269A2E9A2FEF80E792E0D3
+:10061000215080409040E1F700C00000279A2F9AB7
+:100620002FEF80E792E0215080409040E1F700C03A
+:10063000000025982D982FEF80E792E02150804010
+:100640009040E1F700C0000026982E982FEF80E739
+:1006500092E0215080409040E1F700C000002798D0
+:100660002F9856985E9825982D9826982E9827981A
+:100670002F98089589EA8093800089E08093810013
+:1006800024982C983F988AB18F748AB96E98479AAB
+:100690008BB1806B8BB9769A0E94E2028BEB92E071
+:1006A000892B11F00E94BB0280E090E0089580E267
+:1006B000809300018091340181110EC00E94A60335
+:1006C00081E0809334012FEF83ED90E3215080404F
+:1006D0009040E1F700C0000080E40E94AC038093EA
+:1006E000000181112EC00E94D60380930001811168
+:1006F00028C00E94D60380930001811122C08FE39D
+:100700000E94D6038093000181111BC00E94CE037A
+:1007100080E40E94AC0380930001811112C08CE040
+:100720000E94D6038093000181110BC00E94D60362
+:1007300080930001811105C08FE30E94D60380934E
+:1007400000010E94CE038091000108951092B9002B
+:100750008AE08093B800089594EA9093BC00909149
+:10076000BC0097FFFCCF9091B900987F983021F0A2
+:10077000903111F081E008958093BB0084E880936C
+:10078000BC008091BC0087FFFCCF8091B900887FBE
+:10079000883111F0803471F780E0089584E9809306
+:1007A000BC008091BC0084FDFCCF08958093BB0009
+:1007B00084E88093BC008091BC0087FFFCCF9091BF
+:1007C000B900987F81E0983209F480E0089584E8C8
+:1007D0008093BC008091BC0087FFFCCF8091BB0060
+:1007E000089580910001811115C080E40E94AC033E
+:1007F0008093000181110CC082E10E94D603809396
+:100800000001811105C08FEF0E94D6038093000183
+:100810000E94CE0384B1807F84B985B1807F85B981
+:100820008AB1837F8AB98BB1837F8BB93E98469812
+:1008300008950E945703809300010E94F10380B342
+:100840008C7080BB81B3836F81BBE4E4F1E0A6E3ED
+:10085000B1E011921D9281E0E235F807D1F78AE309
+:1008600093E0892B11F00C943A030895BF92CF9234
+:10087000DF92EF92FF920F931F93CF93DF938091BC
+:100880000001882379F0809135018F5F80933501D5
+:10089000811108C00E94570380930001811102C09A
+:1008A0000E94E20206E311E0C0E0D0E0DD24D39430
+:1008B00082E0C82EEE24E394F12CC73000F580913D
+:1008C0000001811162C080E40E94AC0380930001AA
+:1008D000811112C082E10E94D60380930001811130
+:1008E0000BC0C7010C2E01C0880F0A94EAF780954F
+:1008F0000E94D603809300010E94CE0346C0CA30F6
+:10090000A1F028F4C83059F0C93061F005C0CC30EE
+:1009100089F070F0CD3089F0209A289810C0219A83
+:1009200029980DC0229A2A980AC0239A2B9807C0AA
+:10093000529A01C0539A5B9802C03E9A4698E0EAE8
+:10094000EA95F1F78FB1799960C092E081708D25B9
+:10095000892B7C9B02C090E001C094E0892B7D9B99
+:1009600002C090E001C098E0892B7E9B02C090E01D
+:1009700001C090E1892B9FB19095991F9927991FEC
+:100980009295990F907E892B0FC080910001811163
+:1009900051C080E40E94AC03809300018823B9F128
+:1009A000B12C0E94CE038B2DF8019081981719F07D
+:1009B0008083C09201010E94F10321960F5F1F4FB7
+:1009C000CE30D10509F079CF809101018823B1F0B3
+:1009D000815080930101882339F08FE99FE00197CE
+:1009E000F1F700C000000AC0A4E4B1E0E6E3F1E0E2
+:1009F00081918D9391E0E434F907D1F789ED92E08C
+:100A0000892BD1F00E94D90217C090E09FCF83E1DB
+:100A10000E94D603809300018111C2CF81E40E941D
+:100A2000AC03809300018111BBCF0E94E703B82E75
+:100A3000B094B7CF80E0B8CF81E0DF91CF911F9124
+:100A40000F91FF90EF90DF90CF90BF900895E82F27
+:100A5000F0E0EC5BFE4F8081089508958B3B91059B
+:100A600078F4883A910540F5853A9105D0F48430C0
+:100A7000910508F0B1C08130910509F4ADC06BC09B
+:100A8000803E910508F467C0883E910508F4A4C033
+:100A90009C01205F31092031310508F05CC0906570
+:100AA0000895853A910509F459C0863A910509F4EB
+:100AB00058C083E890E40895883A910509F454C039
+:100AC000893A910509F453C08A3A910509F452C054
+:100AD0008B3A910509F451C08C3A910509F450C044
+:100AE0008D3A910509F44FC0803B910509F44EC041
+:100AF0008E3A910509F44DC08F3A910509F44CC026
+:100B0000813B910509F44BC0823B910509F44AC031
+:100B1000833B910509F449C0843B910509F448C021
+:100B2000853B910509F447C0863B910509F446C011
+:100B3000873B910509F445C0883B910509F444C001
+:100B4000893B910509F443C08A3B910509F042C0F5
+:100B50008AE296E4089580E090E0089581E890E4C8
+:100B6000089582E890E4089582EE94E4089589EE71
+:100B700094E408958AEE94E4089585EB94E408954E
+:100B800086EB94E4089587EB94E408958CEC94E468
+:100B900008958DEC94E4089583E895E408958AE837
+:100BA00095E4089582E995E4089584E995E408952B
+:100BB00081E296E4089583E296E4089584E296E45F
+:100BC000089585E296E4089586E296E4089587E222
+:100BD00096E4089580E094E40895089596E0799F5E
+:100BE000F001112494E5899FE00DF11D1124E60F19
+:100BF000F11DEE0FFF1FEC51FF4F85919491089569
+:100C0000880F991F805A9040FC0185919491089516
+:100C1000880F991F80529F4FFC01859194910895F0
+:100C200026E0729FF001112444E5849FE00DF11D40
+:100C30001124E60FF11DEE0FFF1FEC51FF4F259120
+:100C40003491C9019A9581159F4110F4C901089505
+:100C5000C90190528115904128F4C9019F700E94EA
+:100C600008060895C90190538115904120F4C901E7
+:100C70009927906C0895211580E5380769F40E9442
+:100C8000A5139FEF24E34CE0915020404040E1F752
+:100C900000C000000C94E91A213080E5380731F4D7
+:100CA0008091CC0181608093CC010895C901905559
+:100CB0008115904108F050C0832F99278F70992794
+:100CC00081309105D9F4A9014370552702C0880FDE
+:100CD000991F4A95E2F79C68A90164E0440F551FEB
+:100CE0006A95E1F744275370842B952B73E0220F0C
+:100CF000331F7A95E1F7207633271DC082309105A6
+:100D000029F4922F8827816F906A08958330910586
+:100D1000A9F4A9014370552781E090E002C0880F33
+:100D2000991F4A95E2F79C6843E0220F331F4A95CA
+:100D3000E1F7207E3770822B932B08950497F1F40E
+:100D4000A9014370552781E090E002C0880F991FE8
+:100D50004A95E2F79A68E8CFC9019057811590410A
+:100D600020F4C9019F7090620895C90190588115BF
+:100D7000904120F4C9019F70906A0895203E31058A
+:100D8000E0F4203C310558F52133310509F470C0F9
+:100D900048F42932310509F464C02A32310509F4D6
+:100DA0006EC074C029333105F1F022383105D9F015
+:100DB0002533310509F44EC069C0233E310589F160
+:100DC00038F4203E3105C1F0223E3105E1F05EC02D
+:100DD000263E310569F1273E3105A9F157C0C90109
+:100DE0000E94000608958091DF0180FD02C081FF0E
+:100DF0004DC080EE90E04BC08091DF0180FFF9CFC5
+:100E000089E390E044C08091DF0182FF0EC08091B1
+:100E1000DF0184FF03C080E090E039C083EE90E002
+:100E200036C08091DF0182FFF2CF82EE90E02FC0CA
+:100E30008091DF0183FF0BC08091DF0184FDEBCF48
+:100E400087EE90E024C08091DF0183FFF5CF86EE2E
+:100E500090E01DC08091DF0185FF07C089E290E02E
+:100E600016C08091DF0185FFF9CF85E390E00FC0C8
+:100E70008091DF0186FF07C08AE290E008C0809180
+:100E8000DF0186FFF9CF81E390E001C0C9010E9434
+:100E90002E0508950895809162010895CF93DF9300
+:100EA00000D01F92CDB7DEB72091E501243019F5AF
+:100EB00023E029839B838A832093E9008FEF90911D
+:100EC000E800815095FD06C095ED9A95F1F7000078
+:100ED0008111F5CF8091E80085FF0DC040E050E022
+:100EE00063E070E0CE0101960E94B8098091E800AD
+:100EF0008E778093E8000F900F900F90DF91CF9145
+:100F00000895CF93DF9300D01F92CDB7DEB7209125
+:100F1000E501243021F522E029839B838A8383E045
+:100F20008093E9008FEF9091E800815095FD06C015
+:100F300095ED9A95F1F700008111F5CF8091E800C9
+:100F400085FF0DC040E050E063E070E0CE01019607
+:100F50000E94B8098091E8008E778093E8000F9096
+:100F60000F900F90DF91CF9108952091E5012430EB
+:100F7000F1F422E02093E9002FEF3091E8002150B6
+:100F800035FD06C035ED3A95F1F700002111F5CF9A
+:100F90002091E80025FF0BC040E050E065E070E0E4
+:100FA0000E94B8098091E8008E778093E800089548
+:100FB000CF93DF93EC018091E501843009F046C0C6
+:100FC00090910C019923D9F090910D019923B9F0DA
+:100FD0008093E9008FEF9091E800815095FD06C065
+:100FE00095E19A95F1F700008111F5CF8091E80025
+:100FF00085FF2CC040E050E060E170E017C081E068
+:101000008093E9008FEF9091E800815095FD06C034
+:1010100095ED9A95F1F700008111F5CF8091E800E8
+:1010200085FF14C040E050E068E070E0CE010E940F
+:10103000B8098091E8008E778093E80080E1FE0196
+:10104000A2E5B1E001900D928A95E1F7DF91CF9191
+:1010500008958091E401811109C00E944A0B0E9409
+:10106000A70B8091E20084608093E20008951092C3
+:10107000E401089508950C940F210E94801A0E94A3
+:1010800015210E94440E0C944A0742E061EC81E075
+:101090000E94C40A42E061EC82E00E94C40A42E07D
+:1010A00061EC83E00E94C40A42E161EC84E00C94AC
+:1010B000C40A8091E701833009F455C030F48130CF
+:1010C00071F0823009F48EC008958A3009F47AC034
+:1010D0008B3009F460C0893009F09CC020C0809139
+:1010E000E601813A09F096C08091E800877F8093FD
+:1010F000E8008091EA019091EB01892B21F060E0FA
+:1011000080E090E003C060E182E591E070E00E9441
+:10111000010A8091E8008B778093E8000895809120
+:10112000E601813209F076C08091EA019091EB01ED
+:10113000009719F0039709F06DC08091E800877F50
+:101140008093E8008091E80082FD05C08091E50170
+:101150008111F8CF5FC08091F1008093620180918E
+:10116000E8008B7753C08091E601813A09F052C0C4
+:101170008091EA019091EB01892B09F04BC080919D
+:10118000E800877F8093E8008091E80080FFFCCF33
+:1011900080910C0136C08091E6018132D9F58091B1
+:1011A000EA019091EB01892BA9F58091E800877FF6
+:1011B0008093E8000E94F90A8091E80180930C0175
+:1011C0000C94A5138091E601813221F58091E8000D
+:1011D000877F8093E8000E94F90A8091E90180935B
+:1011E000630108958091E601813AA1F48091E800BD
+:1011F000877F8093E8008091E80080FFFCCF80919A
+:1012000063018093F1008091E8008E778093E8007D
+:101210000C94F90A089584B7877F84BF88E10FB6DC
+:10122000F89480936000109260000FBE90E080E818
+:101230000FB6F89480936100909361000FBE0E94F6
+:10124000930E0E944A0B0E94A70B8091E2008460DB
+:101250008093E20078940E94220E0E94950E82E014
+:1012600091E00E943F0E0E94FD208091E5018530B3
+:1012700069F40E94431A8091E3018823B1F30E942C
+:101280006B1A882391F30E94A209EFCF0E949B0E54
+:10129000ECCF292F332723303105A9F06CF421300E
+:1012A000310509F442C02230310509F043C08DE612
+:1012B00090E020E133E042C021323105C9F0223212
+:1012C000310519F137C099278130910541F08230FD
+:1012D000910541F0892B71F5ECE0F3E005C0E4EFF6
+:1012E000F2E002C0ECEDF2E0849190E09F0126C0B4
+:1012F000643000F5E62FF0E0EE0FFF1FEE5DFE4FCD
+:101300002081318189E090E019C0643098F4E62FA3
+:10131000F0E0DF01AA0FBB1FA65EBE4F2D913C91EE
+:10132000EA5EFE4F808190E009C082E190E02DE707
+:1013300033E004C080E090E020E030E0FA01318347
+:101340002083089580E189BD82E189BD09B400FE52
+:10135000FDCF8091D8008F7D8093D8008091E000F0
+:1013600082608093E0008091E00081FDFCCF0895D1
+:10137000CF92DF92EF92FF920F931F93CF93DF9361
+:101380007C018B01EA010E941A0B811131C0209768
+:1013900031F088819981081B190BE80EF91EC12CC8
+:1013A000D12C0115110519F18091E80085FD14C0BB
+:1013B0008091E8008E778093E800209741F0888143
+:1013C00099818C0D9D1D9983888385E011C00E94B1
+:1013D0001A0B882331F30CC0F70181917F018093B0
+:1013E000F10001501109FFEFCF1ADF0ADACF80E0D8
+:1013F000DF91CF911F910F91FF90EF90DF90CF90F1
+:1014000008952091EC013091ED012617370748F03F
+:101410006115710539F42091E8002E772093E800DA
+:1014200001C0B901FC0120E061157105B9F180919D
+:10143000E501882309F440C0853009F43FC080915C
+:10144000E80083FD3DC08091E80082FF06C08091E6
+:10145000E80082FF26C080E008958091E80080FFC8
+:10146000E3CF2091F3008091F20090E0922B611580
+:10147000710551F08830910538F421912093F100E5
+:10148000615071090196F3CF21E0089709F020E03F
+:101490008091E8008E778093E800C6CF2111C7CFF6
+:1014A000D6CF8091E501882339F0853039F08091DD
+:1014B000E80083FFCCCF04C082E0089583E0089564
+:1014C00081E008952091EC013091ED012617370756
+:1014D00048F06115710539F42091E8002E772093CA
+:1014E000E80001C0B901FC0120E061157105C1F1FE
+:1014F0008091E501882309F441C0853009F440C09A
+:101500008091E80083FD3EC08091E80082FF06C024
+:101510008091E80082FF27C080E008958091E80074
+:1015200080FFE3CF2091F3008091F20090E0922BB6
+:101530006115710559F08830910540F4249120938C
+:10154000F1003196615071090196F2CF21E00897C0
+:1015500009F020E08091E8008E778093E800C5CF05
+:101560002111C6CFD5CF8091E501882339F0853090
+:1015700039F08091E80083FFCBCF04C082E008956A
+:1015800083E0089581E00895982F973058F590935F
+:10159000E900981739F07091EC002091ED0050911E
+:1015A000F00003C0242F762F50E021FF19C03091A6
+:1015B000EB003E7F3093EB003091ED003D7F3093A8
+:1015C000ED003091EB0031603093EB007093EC0054
+:1015D0002093ED005093F0002091EE0027FF07C00C
+:1015E0009F5FD3CF8F708093E90081E0089580E002
+:1015F00008958091E60187FD05C08091E80080FF95
+:101600000EC012C08091E80082FD05C08091E50106
+:101610008111F8CF08958091E8008B7708C0809100
+:10162000E5018111EACF08958091E8008E778093DB
+:10163000E80008958091E4009091E50045E620914E
+:10164000EC0020FF21C02091E80020FD21C0209166
+:10165000E501222389F0253089F02091EB0025FD5A
+:101660000FC02091E4003091E5002817390739F3C5
+:10167000415041F0C901E3CF82E0089583E008952D
+:1016800081E0089584E008952091E80022FFDFCFF3
+:1016900080E008950E94B80B0E94C00BE0EEF0E0DD
+:1016A000808181608083E8EDF0E080818F778083A6
+:1016B00019BCA7EDB0E08C918E7F8C9380818F7EDA
+:1016C00080831092E40108950F931F93CF93DF93CB
+:1016D0000E94B80B0E94C00BC8EDD0E088818F77C4
+:1016E000888388818068888388818F7D888319BCFE
+:1016F0001092E5011092E1011092E3011092E201D3
+:1017000000EE10E0F80180818B7F8083888181600A
+:10171000888342E060E080E00E94C40AE1EEF0E0ED
+:1017200080818E7F8083E2EEF0E080818160808323
+:10173000808188608083F80180818E7F80838881AA
+:1017400080618883DF91CF911F910F910895E8ED1B
+:10175000F0E080818F7E8083E7EDF0E08081816022
+:10176000808384E082BF81E08093E4010C94640B69
+:10177000E8EDF0E080818E7F80831092E200089592
+:101780001092DA001092E10008951F920F920FB6A6
+:101790000F9211242F933F934F935F936F937F93F7
+:1017A0008F939F93AF93BF93EF93FF938091E1004B
+:1017B00082FF0BC08091E20082FF07C08091E100B0
+:1017C0008B7F8093E1000E94210E8091DA0080FFE0
+:1017D0001FC08091D80080FF1BC08091DA008E7FEF
+:1017E0008093DA008091D90080FF0DC080E189BD2F
+:1017F00082E189BD09B400FEFDCF81E08093E5015F
+:101800000E94290805C019BC1092E5010E94370802
+:101810008091E10080FF19C08091E20080FF15C037
+:101820008091E2008E7F8093E2008091E2008061EF
+:101830008093E2008091D80080628093D80019BC28
+:1018400085E08093E5010E943B088091E10084FFE0
+:1018500030C08091E20084FF2CC080E189BD82E12C
+:1018600089BD09B400FEFDCF8091D8008F7D8093A3
+:10187000D8008091E1008F7E8093E1008091E200AA
+:101880008F7E8093E2008091E20081608093E2008D
+:101890008091E101882311F084E007C08091E3008A
+:1018A00087FF02C083E001C081E08093E5010E94D0
+:1018B0003D088091E10083FF29C08091E20083FF11
+:1018C00025C08091E100877F8093E10082E08093D2
+:1018D000E5011092E1018091E1008E7F8093E100AB
+:1018E0008091E2008E7F8093E2008091E20080612F
+:1018F0008093E20042E060E080E00E94C40A8091B0
+:10190000F00088608093F0000E943A08FF91EF9108
+:10191000BF91AF919F918F917F916F915F914F9107
+:101920003F912F910F900FBE0F901F9018951F920F
+:101930000F920FB60F9211242F933F934F935F9303
+:101940006F937F938F939F93AF93BF93CF93EF93B7
+:10195000FF93C091E900CF708091EC001092E900F4
+:101960008091F000877F8093F00078940E94D30CE0
+:101970001092E9008091F00088608093F000C0939D
+:10198000E900FF91EF91CF91BF91AF919F918F911E
+:101990007F916F915F914F913F912F910F900FBE6B
+:1019A0000F901F9018951F93CF93DF93CDB7DEB79D
+:1019B000AA970FB6F894DEBF0FBECDBFE6EEF1E0FA
+:1019C0008091F100819321E0EE3EF207C9F70E9479
+:1019D00059088091E80083FF1CC12091E6013091F5
+:1019E000E701832F90E08A30910508F012C1FC01D5
+:1019F000EA5AFF4F0C949722203881F0223809F0E0
+:101A000008C18091EA018F708093E9008091EB001A
+:101A100085FB882780F91092E90006C08091E201D9
+:101A20009091E301911182609091E800977F9093EB
+:101A3000E8008093F1001092F100C5C0822F8D7FE5
+:101A400009F0E7C0222319F0223061F0E2C0809152
+:101A5000E801813009F0DDC0333009F080E0809387
+:101A6000E30128C08091E801811124C02091EA019E
+:101A70002F7009F4CEC02093E9008091EB0080FF25
+:101A800019C08091EB00333011F4806211C0806185
+:101A90008093EB0081E090E0022E01C0880F0A9451
+:101AA000EAF78093EA001092EA008091EB008860E8
+:101AB0008093EB001092E9008091E800877F86C058
+:101AC0002111A7C01091E8011F778091E300807871
+:101AD000812B8093E3008091E800877F8093E8006A
+:101AE0000E94F90A8091E80080FFFCCF8091E3001A
+:101AF00080688093E300112311F083E001C082E04D
+:101B00008093E50186C02058223008F082C0809181
+:101B1000E8019091E9018C3D23E0920779F583E09B
+:101B20008A838AE289834FB7F894DE01139620E016
+:101B30003EE051E2E32FF0E050935700E49120FFA4
+:101B400003C0E295EF703F5FEF708E2F90E0EA30B8
+:101B500010F0C79601C0C0968D939D932F5F2431DE
+:101B600049F74FBF8091E800877F8093E8006AE2E1
+:101B700070E0CE0101960E94010A14C0AE014F5FD1
+:101B80005F4F6091EA010E944909009709F441C042
+:101B90002091E800277F2093E800BC0189819A8189
+:101BA0000E94620A8091E8008B778093E80031C040
+:101BB000203879F58091E800877F8093E800809154
+:101BC000E1018093F1008091E8008E778093E80036
+:101BD0000E94F90A1EC021111CC09091E8019230A8
+:101BE000C0F48091E800877F8093E8009093E10142
+:101BF0000E94F90A8091E101811104C08091E30003
+:101C000087FF02C084E001C081E08093E5010E946B
+:101C100045088091E80083FF0AC08091E800877F33
+:101C20008093E8008091EB0080628093EB00AA969D
+:101C30000FB6F894DEBF0FBECDBFDF91CF911F91DD
+:101C400008950895CF938091E5018823B1F08091A4
+:101C5000E9008F709091EC0090FF02C090E801C005
+:101C600090E0C92FC82B1092E9008091E80083FD15
+:101C70000E94D30CCF70C093E900CF910895909348
+:101C80006901809368010895E0916801F09169010C
+:101C9000309721F00190F081E02D099480E00895C3
+:101CA000E0916801F0916901309721F00280F381A1
+:101CB000E02D09940895E0916801F0916901309751
+:101CC00021F00480F581E02D0994089520916601AA
+:101CD000309167018217930771F0909367018093A9
+:101CE0006601E0916801F0916901309721F006806A
+:101CF000F781E02D099408952091640130916501E8
+:101D00008217930771F09093650180936401E091CD
+:101D10006801F0916901309721F00084F185E02D90
+:101D20000994089508950C94920E0E94861A0E94B8
+:101D300019040C944C1BCF92DF92EF92FF920F93F9
+:101D40001F93CF93DF93CDB7DEB72B970FB6F894E1
+:101D5000DEBF0FBECDBF0E9436043BE6E32E31E06E
+:101D6000F32E00E010E0C02E802F0E942705F7011F
+:101D7000D1907F01D826B1F40F5F1F4F0E301105AF
+:101D800091F78FEF89838A831B820E948F1A81606B
+:101D9000782F9D838C8349815A816B818D810E942C
+:101DA0003E0F41C09091CC0191FF04C08B870E94EF
+:101DB0002D058B8520E030E04D2D50E0922FBA01AB
+:101DC000022E02C0759567950A94E2F760FF25C060
+:101DD0002E83CF82EE24E394F12C02C0EE0CFF1C84
+:101DE0009A95E2F790E08E219F2121E0892B09F45A
+:101DF00020E028870E948F1A8160782F9A87898730
+:101E00004E815F8168858A850E943E0FF801E55901
+:101E1000FE4F80818E25808306C02F5F3F4F263086
+:101E2000310561F6A9CF0E94301E10916A010E940F
+:101E3000440E1817A1F00E94440E80936A012B965D
+:101E40000FB6F894DEBF0FBECDBFDF91CF911F91CB
+:101E50000F91FF90EF90DF90CF900C944A072B9654
+:101E60000FB6F894DEBF0FBECDBFDF91CF911F91AB
+:101E70000F91FF90EF90DF90CF900895CF93DF9375
+:101E8000CDB7DEB72B970FB6F894DEBF0FBECDBF30
+:101E90004F83588769877A878B87DE01119686E0A2
+:101EA000FD0111928A95E9F785E0FE0137960190D0
+:101EB0000D928A95E1F749815A816B817C818D81F0
+:101EC0009E810E9471162B960FB6F894DEBF0FBE4E
+:101ED000CDBFDF91CF910895CF93C82F882309F408
+:101EE000C1C0823859F40E94440E81FDBBC089E311
+:101EF0000E9410190E94CA1989E30CC0833879F432
+:101F00000E94440E80FDAEC083E50E9410190E941D
+:101F1000CA1983E50E945019CF910C94CA198438CC
+:101F200059F40E94440E82FD9DC087E40E9410195E
+:101F30000E94CA1987E4EECF8CEF8C0F813A48F4E7
+:101F40008C2F0E94652081118DC08C2F0E9410194A
+:101F5000E3CF80E28C0F883048F4C77081E001C085
+:101F6000880FCA95EAF70E949119D6CF8BE58C0F9E
+:101F7000833078F4C53A29F0C63A31F482E890E02B
+:101F800005C081E890E002C083E890E0CF910C9416
+:101F9000660E88E58C0F833108F064C0C83A39F1C9
+:101FA000C93A41F1CA3A49F1CB3A51F1CC3A59F127
+:101FB000CD3A61F1C03B69F1CE3A71F1CF3A79F196
+:101FC000C13B81F1C23B89F1C33B91F1C43B99F123
+:101FD000C53BA1F1C63BA9F1C73BB1F1C83BB9F183
+:101FE000C93BC1F1CA3BC9F58AE292E038C082EE32
+:101FF00090E035C089EE90E032C08AEE90E02FC0CC
+:1020000085EB90E02CC086EB90E029C087EB90E058
+:1020100026C08CEC90E023C08DEC90E020C083E8DB
+:1020200091E01DC08AE891E01AC082E991E017C0F2
+:1020300084E991E014C081E292E011C083E292E071
+:102040000EC084E292E00BC085E292E008C086E216
+:1020500092E005C087E292E002C080E090E0CF917C
+:102060000C947C0ECF910895882309F44BC08238DC
+:1020700059F40E94440E81FF45C089E30E94101963
+:102080000E94CA1989E30CC0833871F40E94440E7F
+:1020900080FF38C083E50E9410190E94CA1983E5A9
+:1020A0000E9450190C94CA19843859F40E94440EA5
+:1020B00082FF28C087E40E9410190E94CA1987E491
+:1020C000EFCF9CEF980F913A58F390E2980F983029
+:1020D00050F4877091E001C0990F8A95EAF7892F33
+:1020E0000E949719DFCF9BE5980F933020F480E092
+:1020F00090E00C94660E885A833120F480E090E0E2
+:102100000C947C0E0895882321F00E9491190C9460
+:10211000CA190895882321F00E9497190C94CA19AE
+:102120000895CF92DF92EF92FF920F931F93CF9378
+:10213000DF93CDB7DEB728970FB6F894DEBF0FBE9A
+:10214000CDBF8C0185E0F801DE01119601900D9262
+:102150008A95E1F7F80140813181F280258122954D
+:102160002F7083819481892B31F03F3F31F481E0DE
+:102170004F3F19F403C081E001C080E080FDC4C27C
+:1021800049833A8389819A812F830E94CE189E8346
+:1021900088870E94CD180E94A0174E81E42FE295F7
+:1021A000EF70F0E0E05AFF4F2F8168850C94972282
+:1021B000842F807F142F1F70882311F01295107FB9
+:1021C000FF2059F0112309F454C2812F68870E941F
+:1021D000A1190E94CA1968854CC2862F0E9434102A
+:1021E000112309F491C2812F0E94A71928960FB6D6
+:1021F000F894DEBF0FBECDBFDF91CF911F910F913D
+:10220000FF90EF90DF90CF900C94CA19342F307F5D
+:10221000842F8F70303211F08295807F662319F001
+:10222000613019F12BC0FF20B1F0222309F493C1D2
+:10223000213009F090C128960FB6F894DEBF0FBE8A
+:10224000CDBFDF91CF911F910F91FF90EF90DF9065
+:10225000CF900C94B119222319F0213009F454C203
+:102260008E830E94B4198E8189C1FF2021F0223013
+:1022700008F04AC270C1211147C280C1FF2021F07D
+:10228000222309F468C1F5C1222309F477C105C2EC
+:10229000242F26952695237030E02115310521F055
+:1022A00021303105C9F030C2FF2021F0862F942F54
+:1022B000937002C080E090E028960FB6F894DEBFDD
+:1022C0000FBECDBFDF91CF911F910F91FF90EF9087
+:1022D000DF90CF900C94660EFF2021F0862F942F74
+:1022E000937002C080E090E028960FB6F894DEBFAD
+:1022F0000FBECDBFDF91CF911F910F91FF90EF9057
+:10230000DF90CF900C947C0E862FFF2019F00E9456
+:10231000381D02C00E94A01D28960FB6F894DEBF9B
+:102320000FBECDBFDF91CF911F910F91FF90EF9026
+:10233000DF90CF900C94251E842F837009F076C017
+:10234000F110E2C1262F229526952770220F220F29
+:10235000862F8F70C82ED12CE12CF12C022E04C0B8
+:10236000CC0CDD1CEE1CFF1C0A94D2F764FF10C0DD
+:102370006FE070E080E090E004C0660F771F881F78
+:10238000991F2A95D2F7609570958095909503C016
+:1023900060E070E0CB01242F269526952370422F14
+:1023A00050E042305105D1F04330510559F16C29CC
+:1023B0007D298E299F294130510541F128960FB67C
+:1023C000F894DEBF0FBECDBFDF91CF911F910F916B
+:1023D000FF90EF90DF90CF900C94C5176C297D296A
+:1023E0008E299F2928960FB6F894DEBF0FBECDBF69
+:1023F000DF91CF911F910F91FF90EF90DF90CF90E1
+:102400000C94DF170E94C517C701B60128960FB6B6
+:10241000F894DEBF0FBECDBFDF91CF911F910F911A
+:10242000FF90EF90DF90CF900C94AB17FF2019F046
+:10243000842F817001C08695882309F465C1262FF9
+:10244000229526952770220F220F862F8F70C82E77
+:10245000D12CE12CF12C022E04C0CC0CDD1CEE1C86
+:10246000FF1C0A94D2F764FF10C06FE070E080E0B8
+:1024700090E004C0660F771F881F991F2A95D2F736
+:10248000609570958095909503C060E070E0CB01F9
+:10249000242F269526952370422F50E04230510577
+:1024A000D1F04330510559F16C297D298E299F299E
+:1024B0004130510541F128960FB6F894DEBF0FBEAA
+:1024C000CDBFDF91CF911F910F91FF90EF90DF90E3
+:1024D000CF900C9499186C297D298E299F292896D4
+:1024E0000FB6F894DEBF0FBECDBFDF91CF911F9125
+:1024F0000F91FF90EF90DF90CF900C94B3180E9453
+:102500009918C701B60128960FB6F894DEBF0FBE22
+:10251000CDBFDF91CF911F910F91FF90EF90DF9092
+:10252000CF900C947F18603FC9F118F4603E50F4CE
+:102530009BC0623F09F460C008F44AC0633F09F4DD
+:102540006FC092C0162F1F70842F8F71FF2099F0DB
+:102550000E941818812F28960FB6F894DEBF0FBE80
+:10256000CDBFDF91CF911F910F91FF90EF90DF9042
+:10257000CF900C9483100E943918812F28960FB6A3
+:10258000F894DEBF0FBECDBFDF91CF911F910F91A9
+:10259000FF90EF90DF90CF900C948A10FF20A1F075
+:1025A0002111B2C0842F8F7128960FB6F894DEBF28
+:1025B0000FBECDBFDF91CF911F910F91FF90EF9094
+:1025C000DF90CF900C945E18223008F09DC0EACFC7
+:1025D000FF20A1F0842F8F7128960FB6F894DEBFEC
+:1025E0000FBECDBFDF91CF911F910F91FF90EF9064
+:1025F000DF90CF900C941818FF2061F3842F8F7117
+:1026000028960FB6F894DEBF0FBECDBFDF91CF91F5
+:102610001F910F91FF90EF90DF90CF900C9439189D
+:10262000FF2091F0842F8F7128960FB6F894DEBFAB
+:102630000FBECDBFDF91CF911F910F91FF90EF9013
+:10264000DF90CF900C94031828960FB6F894DEBF55
+:102650000FBECDBFDF91CF911F910F91FF90EF90F3
+:10266000DF90CF900C94F917FF20A1F0222309F4FA
+:10267000B1CF862F28960FB6F894DEBF0FBECDBF20
+:10268000DF91CF911F910F91FF90EF90DF90CF904E
+:102690000C946C0F222309F4B1CF862F28960FB625
+:1026A000F894DEBF0FBECDBFDF91CF911F910F9188
+:1026B000FF90EF90DF90CF900C9434104F70C801D2
+:1026C0000E94AB0228960FB6F894DEBF0FBECDBFB6
+:1026D000DF91CF911F910F91FF90EF90DF90CF90FE
+:1026E0000C941E174F70C80128960FB6F894DEBFE1
+:1026F0000FBECDBFDF91CF911F910F91FF90EF9053
+:10270000DF90CF900C94ED0528960FB6F894DEBFBD
+:102710000FBECDBFDF91CF911F910F91FF90EF9032
+:10272000DF90CF9008950E94AE190E9483190E94F5
+:10273000CA190E94D11E0E94251E80E090E00E94CE
+:10274000660E80E090E00C947C0E0E949E190C9422
+:1027500093130E94CE18292F22952F7030E02C3031
+:1027600031054CF42A3031056CF422503109223005
+:10277000310590F407C02C30310551F02F30310570
+:1027800039F00AC0803E10F0803F31F481E00895B6
+:1027900093FB882780F9089580E00895CF93DF9315
+:1027A00000D000D01F92CDB7DEB70F900F900F90E2
+:1027B0000F900F90DF91CF910895CF93DF9300D0CA
+:1027C00000D000D0CDB7DEB726960FB6F894DEBFA6
+:1027D0000FBECDBFDF91CF9108951F93CF93DF93AD
+:1027E000C091790116E080917A01C81799F0D0E084
+:1027F0001C9FF0011D9FF00D1124E558FE4F4081F4
+:10280000518162817381848195810E94DD132196BB
+:10281000C770E9CFDF91CF911F9108954091AB012F
+:102820005091AC016091AD017091AE018091AF010A
+:102830009091B0010C94DD13CF938091B0018295FB
+:102840008F7009F05FC08091AD01882309F45AC0F0
+:1028500020917901A0917A016091AB017091AC0156
+:102860008091AE019091AF0131E06F3F09F030E00F
+:10287000B32FC6E02A1709F445C0009721F07F3F27
+:1028800021F44B2F03C041E001C040E030E040FDA7
+:1028900035C0C29FF001C39FF00D1124E558FE4FD3
+:1028A000418174132BC04081641328C042814111BF
+:1028B00025C0438154814817590710F441505109EC
+:1028C000481B590B483C5105C8F48091B0018F70EA
+:1028D00080618093B00186E0829FF001839FF00DBC
+:1028E0001124E058FE4F80818F70806180838BEAD5
+:1028F00091E00E949110CF910C94ED132F5F3F4F08
+:102900002770B8CFCF910895CF92DF92EF92FF92C8
+:102910000F931F93CF93DF93CDB7DEB762970FB6B8
+:10292000F894DEBF0FBECDBF8C0185E0F801DE015B
+:102930001D9601900D928A95E1F7D8014C91119660
+:102940005C91119712966C9112971396ED90FC90F2
+:1029500014977091AB01E091AC012091AE013091E0
+:10296000AF012115310531F0EF3F31F481E07F3FB8
+:1029700019F403C081E001C080E0B82FB170CB2E04
+:1029800080FD6CC1D090AD01DD2009F4F5C0F0915F
+:10299000B001E216F30638F0C701821B930B883CA6
+:1029A000910548F09BC0209530952E0D3F1D283C89
+:1029B000310508F093C08F2F807F09F052C0E513D6
+:1029C00014C0741312C0D62E61110FC0FF70F061D5
+:1029D000F093B0010E940E148BEA91E00E949110D6
+:1029E0008091B001F80185836CC1EF2831F05F3F21
+:1029F00031F481E04F3F19F403C081E001C080E071
+:102A000080FD03C081E0862701C080E0F82FF170CF
+:102A1000FF2E80FF1CC08091790120917A0136E061
+:102A2000821709F428C190E0389FF001399FF00D1A
+:102A30001124E558FE4F7181571306C0708147136A
+:102A400003C07281671303C001968770E9CFD62E49
+:102A5000662309F436C18091B00181608093B00192
+:102A600053C0E51308C0741306C0611104C0D80137
+:102A70001596FC93AEC04D875E878D859E856A8BCB
+:102A80000E94A9136A89882329F1D62E662311F1A1
+:102A90002091B001822F82958F7090E002970CF404
+:102AA00060C08091AB019091AC0198878F831986AB
+:102AB000FB86EA862C87CE01079651C0E51731F1D7
+:102AC0004D875E878D859E856A8B0E94A9136A89D2
+:102AD00081112EC0C8010E949110A4C08F2F807F49
+:102AE00069F77E2DF98AE88A89890E94CE138BEADC
+:102AF00091E00E949110EBEAF1E086E0DF011D9287
+:102B00008A95E9F70E940E14D12CDBC07413D8CF3C
+:102B10006111D6CFD8011596FC93C8010E9491107F
+:102B2000EBEAF1E086E0DF011D928A95E9F7C9C082
+:102B3000D62E662379F22091B001822F82958F7074
+:102B400090E0029774F08091AB019091AC019A8370
+:102B500089831B82FD82EC822E83CE0101960E9426
+:102B6000911086E0F801ABEAB1E001900D928A95F0
+:102B7000E1F70E941C146FC0E216F30628F0C701AB
+:102B8000821B930B9C0104C0209530952E0D3F1D98
+:102B9000283C310508F052C0D62E662309F49ACF9E
+:102BA000E5132CC074132AC08091B00180FD1DC0B4
+:102BB000982F92959F70C9F0D80115968C93159710
+:102BC0009F3039F09F5F9295907F8F70892B15967B
+:102BD0008C93C8010E94911086E0F801ABEAB1E045
+:102BE00001900D928A95E1F736C086E0F801ABEAD4
+:102BF000B1E001900D928A95E1F763C04D875E8741
+:102C00008D859E850E94A913882379F086E0F801BE
+:102C1000ABEAB1E001900D928A95E1F70E941C1495
+:102C20000E940E14DD24D3944CC08091B0018160C9
+:102C30008093B001C8010E94911043C07E2DF98A93
+:102C4000E88A89890E94CE13EBEAF1E086E0DF0191
+:102C50001D928A95E9F70E940E1433C0662309F489
+:102C600039CF4D875E878D859E850E94A913882365
+:102C700009F430CFCBCF4D875E878D859E850E942E
+:102C8000CE18292F22952F7030E0223031052CF4F8
+:102C90009F7041F0811106C00CC0243031052CF426
+:102CA0009F7049F4805E883020F0C8010E94911026
+:102CB000CF2CDC2C06C0D80115969C91907F91F703
+:102CC000F8CF8D2D62960FB6F894DEBF0FBECDBF44
+:102CD000DF91CF911F910F91FF90EF90DF90CF90F8
+:102CE00008951F93CF93DF93CDB7DEB72C970FB620
+:102CF000F894DEBF0FBECDBF4F83588769877A87B0
+:102D00008B879C87CE0107960E9484148823C1F08C
+:102D10002F8138858A859B85892B31F03F3F11F0C3
+:102D200080E003C02F3FE1F781E0811147C04F8170
+:102D3000588569857A858B859C850E94DD133EC008
+:102D400086E0FE013796DE01119601900D928A957C
+:102D5000E1F7FF81E8854A855B854115510531F032
+:102D6000EF3F31F481E0FF3F19F403C081E001C07F
+:102D700080E080FD23C020917A0130E0C9010196F6
+:102D8000877099276091790170E086179707F1F1B4
+:102D9000F983EA835D834C8396E0929FD001939FF1
+:102DA000B00D1124A558BE4FFE01319601900D9231
+:102DB0009A95E1F780937A010E94ED1316E08091D5
+:102DC000790190917A01891779F1189FC001112436
+:102DD00085589E4F0E948414882331F1E091790137
+:102DE0001E9FF0011124E558FE4F40815181628100
+:102DF0007381848195810E94DD138091790190E037
+:102E000001968770992780937901D9CF0E94A513E5
+:102E100010927A0110927901EBEAF1E086E0DF018D
+:102E20001D928A95E9F7CACF2C960FB6F894DEBFAB
+:102E30000FBECDBFDF91CF911F910895EF92FF920A
+:102E40000F931F93CF93DF939C01009709F471C0F8
+:102E5000F12CEE24E394E9012196F9018491843761
+:102E600040F4843008F056C0813081F0823021F186
+:102E700060C0853709F449C0C0F19CE7980F9037CE
+:102E800008F057C08F770E94341046C089010E5F4A
+:102E90001F4FFE01849190E2980F983050F4877094
+:102EA000FE2D01C0FF0F8A95EAF78F2F0E94A1190E
+:102EB00015C00E946C0F14C089010E5F1F4FFE01E8
+:102EC000849190E2980F983068F48770FE2D01C0CD
+:102ED000FF0F8A95EAF78F2F0E94A7190E94CA193F
+:102EE000E8011AC00E943410FBCF2E5F3F4FFE0155
+:102EF000C491CC2341F08FE99FE00197F1F700C026
+:102F00000000C150F6CFE90107C0FE01F490E901CD
+:102F1000229602C00E946C0F8F2D882341F0EFE9AA
+:102F2000FFE03197F1F700C000008150F6CF9E011D
+:102F300092CFDF91CF911F910F91FF90EF90089565
+:102F400008956093B5017093B6018093B701909393
+:102F5000B8010C9493130F931F930091B501109136
+:102F6000B6012091B7013091B801062B172B282B01
+:102F7000392B0093B5011093B6012093B70130931C
+:102F8000B8011F910F910C9493130F931F9300910D
+:102F9000B5011091B6012091B7013091B801062317
+:102FA0001723282339230093B5011093B6012093EA
+:102FB000B7013093B8011F910F910C9493130F93A5
+:102FC0001F930091B5011091B6012091B701309186
+:102FD000B80106271727282739270093B501109332
+:102FE000B6012093B7013093B8011F910F910C9453
+:102FF00093131092B1011092B2011092B30110928A
+:10300000B4010C94931341E050E060E070E004C020
+:10301000440F551F661F771F8A95D2F74093B10161
+:103020005093B2016093B3017093B4010C94931365
+:1030300041E050E060E070E004C0440F551F661F9F
+:10304000771F8A95D2F78091B1019091B201A0913A
+:10305000B301B091B401842B952BA62BB72B809391
+:10306000B1019093B201A093B301B093B4010C9459
+:10307000931341E050E060E070E004C0440F551F3E
+:10308000661F771F8A95D2F7409550956095709589
+:103090008091B1019091B201A091B301B091B401BE
+:1030A00084239523A623B7238093B1019093B20183
+:1030B000A093B301B093B4010C94931341E050E09A
+:1030C00060E070E004C0440F551F661F771F8A95AB
+:1030D000D2F78091B1019091B201A091B301B0916A
+:1030E000B40184279527A627B7278093B101909331
+:1030F000B201A093B301B093B4010C9493130F9356
+:103100001F930091B1011091B2012091B301309150
+:10311000B401062B172B282B392B0093B1011093E8
+:10312000B2012093B3013093B4011F910F910C941D
+:1031300093130F931F930091B1011091B20120914D
+:10314000B3013091B40106231723282339230093B8
+:10315000B1011093B2012093B3013093B4011F91D8
+:103160000F910C9493130F931F930091B101109141
+:10317000B2012091B3013091B40106271727282707
+:1031800039270093B1011093B2012093B30130931A
+:10319000B4011F910F910C9493130895CF92DF9275
+:1031A000EF92FF920F931F93CF93DF93EC01C090A8
+:1031B000B501D090B601E090B701F090B8018091D0
+:1031C000B1019091B201A091B301B091B401C82AAC
+:1031D000D92AEA2AFB2A0FE110E0B701A601002E46
+:1031E00004C076956795579547950A94D2F740FFA6
+:1031F00007C0BE01802F0E9410068130910539F46E
+:103200000150110950F7BE0180E00E941006DF91C5
+:10321000CF911F910F91FF90EF90DF90CF90089585
+:1032200090910C019923D9F090910D019923B9F057
+:10323000982F9695969596959F3088F5E0910E017A
+:10324000F0910F01E90FF11D877021E030E001C01E
+:10325000220F8A95EAF78181822B8183089540911C
+:103260000E0150910F0120E030E09FEFFA01E20FD4
+:10327000F31F6281681799F09F3F19F4611101C033
+:10328000922F2F5F3F4F2E30310581F79F3F39F04E
+:10329000FA01E90FF11D97FDFA95828308950895CB
+:1032A00090910C019923E1F090910D019923C1F0C7
+:1032B000982F9695969596959F3020F5E0910E0162
+:1032C000F0910F01E90FF11D877021E030E001C09E
+:1032D000220F8A95EAF7209581812823218308957A
+:1032E00040910E0150910F0120E030E0FA01E20F11
+:1032F000F31F9281981301C012822F5F3F4F2E302F
+:103300003105A1F7089581E090E0E0910E01F09180
+:103310000F01E80FF91F1082019680319105A9F77E
+:1033200008959091CB01982B9093CB0108958095AF
+:103330009091CB0198239093CB0108951092CB01EB
+:1033400008959091CA01982B9093CA010895809591
+:103350009091CA0198239093CA0108951092CA01CE
+:1033600008958093B90108951092B901089540918C
+:103370000E0150910F0120E030E080E0FA01E20FF1
+:10338000F31F918191118F5F2F5F3F4F2F303105D8
+:10339000A9F70895E0910E01F0910F018091CB0102
+:1033A0008083E0910E01F0910F0180819091CA011C
+:1033B000892B80839091B901992361F0E0910E01EE
+:1033C000F0910F018081892B80830E94B7198111B0
+:1033D0001092B90180910E0190910F010C94500E42
+:1033E000CF92DF92EF92FF920F931F936C01EE2426
+:1033F000FF24C114D104E104F10421F46B017C0128
+:1034000080E001C080E133272F2D1E2D0D2D0115E9
+:1034100011052105310519F0885F680179019701CF
+:103420008601A4E03695279517950795AA95D1F7BB
+:10343000011511052105310519F08C5F680179012D
+:1034400097018601F2E03695279517950795FA952D
+:10345000D1F7011511052105310519F08E5F6801BD
+:103460007901B701A6017695679557954795452B44
+:10347000462B472B09F08F5F1F910F91FF90EF9024
+:10348000DF90CF9008958091E501843009F110928A
+:10349000CD0120E488E190E00FB6F894A8958093E0
+:1034A00060000FBE2093600083B7817F846083BF7C
+:1034B00083B7816083BF7894889583B78E7F83BFFD
+:1034C00088E10FB6F89480936000109260000FBE00
+:1034D000089508950895CF930E94691A0E943604B2
+:1034E0000E946A1AC0E08C2F0E942705811105C036
+:1034F000CF5FCE30C1F780E001C081E0CF91089569
+:103500000E94A5130E94440E0C944A0782E084BDD9
+:1035100093E095BD9AEF97BD80936E0008952FB705
+:10352000F8948091CE019091CF01A091D001B091FB
+:10353000D1012FBF0895CF92DF92EF92FF920F93A8
+:103540001F932FB7F8944091CE015091CF01609115
+:10355000D0017091D1012FBF6A017B01EE24FF24BD
+:103560008C0120E030E0C016D106E206F30610F42C
+:1035700041505109481B590BCA011F910F91FF90EF
+:10358000EF90DF90CF9008951F920F920FB60F9299
+:1035900011248F939F93AF93BF938091CE0190910D
+:1035A000CF01A091D001B091D1010196A11DB11D13
+:1035B0008093CE019093CF01A093D001B093D1011D
+:1035C000BF91AF919F918F910F900FBE0F901F9061
+:1035D00018950E944A0BF8942FEF87EA91E6215044
+:1035E00080409040E1F700C0000087E090EBDC01F4
+:1035F0008093EE019093EF01A093F001B093F1015D
+:103600002CE088E190E00FB6F894A89580936000D4
+:103610000FBE20936000FFCFEF92FF920F931F9396
+:10362000CF93DF93E82EF12C8F2D0E942705C0E069
+:10363000D0E0082F10E098010C2E02C03595279598
+:103640000A94E2F720FD05C02196C630D10599F70E
+:1036500009C06C2F7F2D80E00E94EE05E812F4CFA8
+:1036600081E005C0F3948EE0F812DECF80E0DF91B8
+:10367000CF911F910F91FF90EF900895CF93C82F96
+:103680008CE20E940C1B882321F08C2FCF910C948C
+:103690000C1B80E0CF910895CF930E94911C811163
+:1036A00002C00E94771CC5E6C15049F00E94360452
+:1036B0008FE39CE90197F1F700C00000F5CF89E2A4
+:1036C0000E943E1B811111C18AE20E943E1B8111A2
+:1036D0000E94771C85E00E943E1B81110E94E91A1E
+:1036E0000E949C1C8093CC0187E00E943E1B882393
+:1036F00099F18BE10E943E1B882351F09091CC01FF
+:1037000091FB882780F921E0822780FB91F922C074
+:103710008EE00E943E1B882351F09091CC0192FBD9
+:10372000882780F921E0822780FB92F913C080E18D
+:103730000E943E1B9091CC01882341F093FB882787
+:1037400080F921E0822780FB93F904C0892F8095BE
+:1037500080FB90F99093CC018091CC010E94A01C39
+:103760000E94AE1C8093DF0180EE0E943E1B8823E6
+:1037700041F08091DF01982F909590FB80F9809324
+:10378000DF0189E30E943E1B882359F09091DF01FD
+:1037900091FB882780F921E0822780FB91F99093A3
+:1037A000DF0182EE0E943E1B882359F09091DF01D9
+:1037B00092FB882780F921E0822780FB92F9909381
+:1037C000DF0186EE0E943E1B882359F09091DF01B5
+:1037D00093FB882780F921E0822780FB93F990935F
+:1037E000DF0183EE0E943E1B882359F09091DF0198
+:1037F00094FB882780F921E0822780FB94F990933D
+:10380000DF0185E30E943E1B882359F09091DF0180
+:1038100095FB882780F921E0822780FB95F990931A
+:10382000DF0181E30E943E1B882359F09091DF0164
+:1038300096FB882780F921E0822780FB96F99093F8
+:10384000DF0181E10E943E1B882359F09091DF0146
+:1038500097FB882780F921E0822780FB97F99093D6
+:10386000DF018091DF010E94B21C8091DF0187FBA4
+:10387000882780F980930D0187E20E943E1BC82FA4
+:103880008EE10E943E1B8111C2608FE10E943E1BAF
+:103890008111C46080E20E943E1B8111C86081E2F8
+:1038A0000E943E1B8111C06182E20E943E1B811179
+:1038B000C06283E20E943E1B8111C06484E20E94C8
+:1038C0003E1B882311F0C06802C0CC2329F08C2F46
+:1038D0000E94A91C6C2F03C00E94A51C682F70E0D9
+:1038E00080E090E0CF910C94A117CF9108956DEEF8
+:1038F0007EEF80E090E00E94CD2260E082E090E0E8
+:103900000E94BF2260E083E090E00E94BF2260E05E
+:1039100084E090E00E94BF2260E085E090E00C949B
+:10392000BF2280E090E00E94B92221E08D3E9E4FB0
+:1039300009F020E0822F089582E090E00C94B122FB
+:10394000682F82E090E00C94BF2283E090E00C941A
+:10395000B122682F83E090E00C94BF2284E090E0D5
+:103960000C94B122682F84E090E00C94BF228091E7
+:10397000D40180FF0BC06091130185E0689FB00106
+:10398000112475956795759567952AC081FF09C0C3
+:103990006091130185E0689FB001112475956795CA
+:1039A0001FC082FF07C06091130185E0689FB001CE
+:1039B000112416C04091D5014423C9F06091120131
+:1039C000461788F72091130185E0289F9001112464
+:1039D000429FC001439F900D112470E00E948322FA
+:1039E0006038710540F46115710539F002C065E079
+:1039F00070E0862F08958FE7089581E00895809103
+:103A0000D40180FF08C06091110170E07595679541
+:103A10007595679521C081FF06C06091110170E026
+:103A20007595679519C082FF04C06091110170E01F
+:103A300010C08091D5018823C1F0609110018617D4
+:103A4000A0F790911101989FC001112470E00E948D
+:103A500083226038710528F46115710521F0862FE5
+:103A600008958FE7089581E0089561E070E0F4CF54
+:103A7000803F21F40E94B71C819504C0813F29F446
+:103A80000E94B71C8093D8010895823F21F40E94C0
+:103A9000B71C819504C0833F29F40E94B71C809312
+:103AA000D7010895893F19F40E94FF1C05C08A3F81
+:103AB00031F40E94FF1C81958093D90108958B3FBA
+:103AC00021F40E94FF1C819504C08C3F29F40E94C0
+:103AD000FF1C8093DA010895843F21F48091D60180
+:103AE000816017C0853F21F48091D601826011C0AA
+:103AF000863F21F48091D60184600BC0873F21F47A
+:103B00008091D601886005C0883F31F48091D6014C
+:103B100080618093D60108958D3F21F48091D40176
+:103B200081600BC08E3F21F48091D401826005C07A
+:103B30008F3F29F48091D40184608093D40108954B
+:103B4000803F39F48091D80187FF6CC01092D80172
+:103B500069C0813F29F48091D8011816BCF362C076
+:103B60009091D701823F29F497FF5CC01092D70152
+:103B700059C0833F19F41916CCF354C0893F41F45E
+:103B80008091D90118160CF04DC01092D9014AC08D
+:103B90008A3F29F48091D90187FF44C0F6CF8B3F3B
+:103BA00039F48091DA0187FF3DC01092DA013AC002
+:103BB0008C3F29F48091DA011816BCF333C0843F9E
+:103BC00021F48091D6018E7F17C0853F21F480912A
+:103BD000D6018D7F11C0863F21F48091D6018B7F65
+:103BE0000BC0873F21F48091D601877F05C0883FB5
+:103BF00031F48091D6018F7E8093D60113C08D3F22
+:103C000021F48091D4018E7F0BC08E3F21F48091EE
+:103C1000D4018D7F05C08F3F29F48091D4018B7F23
+:103C20008093D4018091D70181110EC08091D80179
+:103C300081110AC08091D901811106C08091DA01F9
+:103C4000811102C01092D501089586ED91E00E9485
+:103C50005B0E0E948F1A9093D3018093D201089536
+:103C60001F93CF93DF938091D2019091D3010E9453
+:103C70009B1A4091D501442321F02091140130E09A
+:103C800006C0209115015AE0259F9001112482174A
+:103C9000930708F482C08091D7011091D801D09188
+:103CA000D901C091DA01811107C0111105C0D111EC
+:103CB00003C0CC2309F471C04F3F19F04F5F40930C
+:103CC000D501181624F40E94B71C8093D701809167
+:103CD000D70187FF05C00E94B71C81958093D7014B
+:103CE000111624F40E94B71C8093D8018091D8014A
+:103CF00087FF05C00E94B71C81958093D801609111
+:103D0000D701662339F11091D801112319F17727D2
+:103D100067FD7095872F972F0E94942123E333E34B
+:103D200043E35FE30E94F8210E9461216093D70181
+:103D3000612F772767FD7095872F972F0E94942119
+:103D400023E333E343E35FE30E94F8210E94612110
+:103D50006093D8011D1624F40E94FF1C8093D901A2
+:103D60008091D90187FF05C00E94FF1C8195809337
+:103D7000D9011C1624F40E94FF1C8093DA01809163
+:103D8000DA0187FF05C00E94FF1C81958093DA014C
+:103D9000DF91CF911F910C94251EDF91CF911F9140
+:103DA0000895E6EDF1E085E0DF011D928A95E9F7DF
+:103DB0001092D5011092D4010895833081F128F436
+:103DC000813059F08230D1F00895853009F449C02E
+:103DD000B8F1863009F456C0089520911501862F58
+:103DE00090E0820F911D8F3F910520F4620F609348
+:103DF000150108958FEF8093150108952091140106
+:103E0000862F90E0820F911D8F3F910520F4620F65
+:103E10006093140108958FEF809314010895209109
+:103E20001301862F90E0820F911D8F3F910520F4A2
+:103E3000620F6093130108958FEF8093130108952B
+:103E400020911201862F90E0820F911D8F3F9105E6
+:103E500020F4620F6093120108958FEF8093120196
+:103E6000089520911101862F90E0820F911D8F3FC0
+:103E7000910520F4620F6093110108958FEF8093F4
+:103E80001101089520911001862F90E0820F911D5D
+:103E90008F3F910520F4620F6093100108958FEF1A
+:103EA000809310010895833011F128F4813049F096
+:103EB000823091F00895853081F120F18630C1F192
+:103EC000089580911501681720F4861B80931501D1
+:103ED000089510921501089580911401681720F437
+:103EE000861B809314010895109214010895809107
+:103EF0001301681720F4861B809313010895109214
+:103F00001301089580911201681720F4861B809395
+:103F100012010895109212010895809111016817FD
+:103F200020F4861B809311010895109211010895C9
+:103F300080911001681720F4861B8093100108956A
+:103F40001092100108958D3109F442C020F58E3091
+:103F500009F479C070F4873009F45EC020F486302B
+:103F600009F442C033C08830D1F18B3009F4A7C0C6
+:103F70002DC0863109F4A3C038F4803109F46DC036
+:103F8000813109F47BC022C0893109F498C08B319A
+:103F900009F44FC01BC0853309F479C048F4873257
+:103FA00009F475C008F478C0893209F470C00EC0F5
+:103FB000833438F48A3308F071C0883309F47FC041
+:103FC00005C0833409F463C08834C1F080E00895EB
+:103FD0000E941B210E94440E0E944A0770C00E944A
+:103FE0009C1C0E94AE1C6BC08091CC01817F8E7F97
+:103FF0008093CC0181E08093DC0108950E94A51399
+:104000002FEF83ED90E3215080409040E1F700C016
+:1040100000000E94E91A53C09091CC01892F817051
+:1040200090FF03C0917F9E7F26C091609093CC014A
+:1040300046C09091CC0191FB882780F921E082272E
+:1040400080FB91F913C09091CC0192FB882780F9F5
+:1040500021E0822780FB92F909C09091CC0193FB6B
+:10406000882780F921E0822780FB93F99093CC0187
+:10407000882329F191609093CC0108950E94A513A3
+:1040800080910D0191E0892780930D0118C061E0B6
+:1040900070E080E090E00FC023EE01C027EC280F15
+:1040A00061E070E080E090E004C0660F771F881F39
+:1040B000991F2A95D2F70E94A1170E94A51381E0AB
+:1040C000089580E0089580E00895CF93C82F8091EF
+:1040D000DC01813079F018F08230D1F184C0A091F8
+:1040E0000E01B0910F018C91813169F0823209F09B
+:1040F0007CC009C0A0910E01B0910F018C9181315B
+:1041000011F0823249F48C2F0E94612081111DC070
+:104110008C2F0E94A31F1AC08C2F0E946320811134
+:1041200014C0C43179F048F4CB3079F0C03109F0D3
+:1041300060C082E08093DC0108C0C93219F0C83346
+:1041400021F057C01092DC0154C081E0817053C04F
+:10415000C93289F118F5C43171F1A8F4C73009F0FA
+:1041600046C08AE08093150194E19093140193E096
+:10417000909313018093120188E08093110188E2EB
+:104180008093100134C0CE51C63088F5EC2FF0E09A
+:10419000E65DFE4F80818093DB0129C0CE34E9F0DB
+:1041A00020F4CB3421F56AE013C0C13579F0C23573
+:1041B000F1F461E00DC08091DB01882319F01092C9
+:1041C000DB0115C081E08093DC0115C061E006C011
+:1041D0008091DB010E94DD1E0AC06AE08091DB0154
+:1041E0000E94531F04C01092DC0180E004C081E0F3
+:1041F00002C080E0ABCFCF910895E1E8F0E080818C
+:10420000886080838081816080838FB7F89493E099
+:104210009093890090ED909388008FBF0895EFE60A
+:10422000F0E08081826080830895EFE6F0E0808195
+:104230008D7F80830895EFE6F0E0808192E089270A
+:10424000808308951F920F920FB60F9211242F931F
+:104250003F934F935F936F937F938F939F93AF930E
+:10426000BF93EF93FF938091DD019091DE01019662
+:104270009093DE018093DD01811103C082E00E94F2
+:104280004A07E091DE01E695E695F0E0E657FB4F40
+:10429000E4918091DD018E1303C080E00E944A0703
+:1042A000FF91EF91BF91AF919F918F917F916F910E
+:1042B0005F914F913F912F910F900FBE0F901F90E4
+:1042C000189504D06894B1118DC0089570D088F00D
+:1042D0009F5790F0B92F9927B751A0F0D1F0660FF2
+:1042E000771F881F991F1AF0BA95C9F712C0B1300D
+:1042F00081F077D0B1E0089574C0672F782F8827B8
+:10430000B85F39F0B93FCCF3869577956795B3954B
+:10431000D9F73EF490958095709561957F4F8F4FBA
+:104320009F4F0895E89409C097FB3EF490958095BF
+:10433000709561957F4F8F4F9F4F9923A9F0F92F6B
+:1043400096E9BB279395F695879577956795B795E9
+:10435000F111F8CFFAF4BB0F11F460FF1BC06F5FCF
+:104360007F4F8F4F9F4F16C0882311F096E911C0E1
+:10437000772321F09EE8872F762F05C0662371F002
+:1043800096E8862F70E060E02AF09A95660F771F16
+:10439000881FDAF7880F9695879597F9089557FD46
+:1043A0009058440F551F59F05F3F71F04795880FA3
+:1043B00097FB991F61F09F3F79F08795089512163A
+:1043C00013061406551FF2CF4695F1DF08C01616E6
+:1043D00017061806991FF1CF869571056105089497
+:1043E0000895E894BB2766277727CB0197F90895AE
+:1043F0000BD078C069D028F06ED018F0952309F062
+:104400005AC05FC01124EECFCADFA0F3959FD1F34D
+:10441000950F50E0551F629FF001729FBB27F00D72
+:10442000B11D639FAA27F00DB11DAA1F649F6627C7
+:10443000B00DA11D661F829F2227B00DA11D621F16
+:10444000739FB00DA11D621F839FA00D611D221FD0
+:10445000749F3327A00D611D231F849F600D211DB4
+:10446000822F762F6A2F11249F5750408AF0E1F057
+:1044700088234AF0EE0FFF1FBB1F661F771F881FA0
+:1044800091505040A9F79E3F510570F014C0AACF3B
+:104490005F3FECF3983EDCF3869577956795B7958B
+:1044A000F795E7959F5FC1F7FE2B880F911D9695B5
+:1044B000879597F9089597F99F6780E870E060E025
+:1044C00008959FEF80EC089500240A9416161706AD
+:1044D00018060906089500240A94121613061406F5
+:1044E00005060895092E0394000C11F4882352F058
+:1044F000BB0F40F4BF2B11F460FF04C06F5F7F4F10
+:104500008F4F9F4F089597FB072E16F4009407D006
+:1045100077FD09D00E949D2207FC05D03EF49095BE
+:1045200081959F4F0895709561957F4F0895EE0F87
+:10453000FF1F0590F491E02D0994AA1BBB1B51E1CC
+:1045400007C0AA1FBB1FA617B70710F0A61BB70B03
+:10455000881F991F5A95A9F780959095BC01CD01A8
+:104560000895F999FECF92BD81BDF89A992780B53B
+:104570000895A8E1B0E042E050E00C94D422262F48
+:10458000F999FECF1FBA92BD81BD20BD0FB6F89438
+:10459000FA9AF99A0FBE019608950E94BF22272F1A
+:1045A0000C94C022DC01CB01FC01F999FECF06C0BE
+:1045B000F2BDE1BDF89A319600B40D9241505040E1
+:0845C000B8F70895F894FFCF4D
+:1045C80020024B07D807B50781074E070101BA013A
+:1045D80028080A03140A3F4D36394B04FE03C80362
+:1045E8008F0322033B0354036D03010203040506F2
+:0445F80007080900A7
+:00000001FF
diff --git a/keyboard/ergodox_ez/readme.md b/keyboard/ergodox_ez/readme.md index c1d0bd5dcf..4afb42c8fd 100644 --- a/keyboard/ergodox_ez/readme.md +++ b/keyboard/ergodox_ez/readme.md @@ -15,7 +15,7 @@ This requires a little bit of familiarity with coding. 1. Go to https://github.com/jackhumbert/qmk_firmware and read the Readme at the base of this repository, top to bottom. Then come back here :) 2. Clone the repository (download it) -3. Set up a build environment as per [pjrc.com/teensy/gcc.html](https://www.pjrc.com/teensy/gcc.html) +3. Set up a build environment as per [the build guide](/BUILD_GUIDE.md) - Using a Mac and have homebrew? just run `brew tap osx-cross/avr && brew install avr-libc` 4. Copy `keymaps/default/keymap.c` into `keymaps/your_name/keymap.c` (for example, `keymaps/german/keymap.c`) 5. Edit this file, changing keycodes to your liking (see "Finding the keycodes you need" below). Try to edit the comments as well, so the "text graphics" represent your layout correctly. See below for more tips on sharing your work. |