Stephan Bösebeck 9 years ago
commit f6dab10288

@ -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
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | = | | - | 6 | 7 | 8 | 9 | 0 | Enter |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | BkSp | A | S | D | F | G |------| |------| H | J | K | L | ; | '" |
* |--------+------+------+------+------+------| LGui | | LGui |------+------+------+------+------+--------|
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | L1 | ` | { | } | '" | | Left | Up | Down | Right| L2 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | Del | Alt | | Alt | Ctrl |
* ,------|------|------| |------+--------+------.
* | | | 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
KC_TAB, 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, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI,
TG(SYMB), KC_GRV, KC_LBRC, KC_RBRC,KC_QUOT,
KC_DELT,KC_LALT,
KC_HOME,
KC_SPC,KC_BSPC,KC_END,
// right hand
KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT,
TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LGUI, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
KC_LEFT,KC_UP, KC_DOWN,KC_RIGHT, TG(MDIA),
KC_RALT, KC_RCTL,
KC_PGUP,
KC_PGDN,KC_TAB, KC_ENT
),
/* Keymap 1: Symbol Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | . | 0 | = | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// SYMBOLS
[SYMB] = KEYMAP(
// left hand
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,
KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,
// right hand
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
/* Keymap 2: Media and mouse keys
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | MsUp | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | Prev | Next | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | |Brwser|
* | | |------| |------| |Back |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// MEDIA AND MOUSE
[MDIA] = KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_WBAK
),
};
const uint16_t PROGMEM fn_actions[] = {
[1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
switch(id) {
case 0:
if (record->event.pressed) {
register_code(KC_RSFT);
} else {
unregister_code(KC_RSFT);
}
break;
}
return MACRO_NONE;
};
// Runs just one time when the keyboard initializes.
void * matrix_init_user(void) {
};
// Runs constantly in the background, in a loop.
void * matrix_scan_user(void) {
uint8_t layer = biton32(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (layer) {
// TODO: Make this relevant to the ErgoDox EZ.
case 1:
ergodox_right_led_1_on();
break;
case 2:
ergodox_right_led_2_on();
break;
default:
// none
break;
}
};

@ -0,0 +1,5 @@
# ErgoDox EZ OS X Simplified Configuration
This keyboard configuration replaces the hyper and meh keys with the command key. It also removes all of the meta keys that require a "hold" because I found that I hesitate when I type, which can accidentally fire those combinations. On the upper left of the left hand, I mimicked the Mac placement of tab and escape, and on the upper right of the right hand, I placed an additional enter key for convenience when breezing through prompts.
This is my standard working configuration for now, but I can see myself tweaking it as I use it more. I highly recommend you do the same.

@ -0,0 +1,1471 @@
:100000000C9400070C9444070C9444070C94440788
:100010000C9444070C9444070C9444070C94440734
:100020000C9444070C9444070C9458120C942A1313
:100030000C9444070C9444070C9444070C94440714
:100040000C9444070C94002C0C9444070C94440723
:100050000C9444070C94F8210C9444070C94440726
:100060000C9444070C9444070C9444070C944407E4
:100070000C9444070C9444070C9444070C944407D4
:100080000C9444070C9444070C9444070C944407C4
:100090000C9444070C9444070C9444070C944407B4
:1000A0000C9444070C9444070C9444079713B91319
:1000B000A714B913A714FE132114A71476148914D6
:1000C000D017D017FF17FF1742188018991A991ADE
:1000D0009918991A9A199A196D1A991A991A841ACB
:1000E0000000F0A129002B002A00E10001540000CB
:1000F0001E00140004001D0035004D001F001A00F2
:1001000016001B002F002A00200008000700060030
:1001100030002C00210015000900190034004A00AD
:10012000220017000A00050000004C002E000154B8
:100130000000E3000000E2002D0001540000E30095
:100140000000E60023001C000B0011000000E4008A
:10015000240018000D00100050004B0025000C007A
:100160000E00360052002800260012000F00370053
:1001700051002B0027001300330038004F004E00C1
:10018000280031003400E5000254000001000100A5
:1001900001000100010000003A001E0220022202BC
:1001A000010001003B001F022102230201000100A7
:1001B0003C002F0226022F00010001003D0030020A
:1001C00027023000010001003E00310235003502F7
:1001D000000001000100010000000100000001001A
:1001E0000100010000000100000001003F0052007A
:1001F00051002402000001004000240021001E00E4
:10020000010001004100250022001F00370001000D
:1002100042002600230020002700010043002502A1
:100220002E0231002E0001004400450001000100B3
:1002300001000000010001000100010001000000B8
:1002400001000100010001000100010001000100A6
:10025000F2000100010001000100F000F1000100C6
:10026000F400010001000100F3000100F5000100AD
:100270000100010001000100000001000100010077
:100280000000010000000100010001000000010069
:100290000000010001000100010001000000010058
:1002A0000100010001000100A9000100010001009E
:1002B0000100AC00AA00B600010001000100AB0083
:1002C000A80001000100010001000100010001007F
:1002D00001000100AE000100010000000A0025300D
:1002E000313662003A200025303258000A722F63FE
:1002F0002030313233343536373839414243444582
:10030000460A000A002530325800626F756E636538
:10031000213A20006C6566742073696465206174FD
:100320007461636865640A006C656674207369644F
:1003300065206E6F7420726573706F6E64696E678E
:100340000A00747279696E6720746F207265736534
:1003500074206D637032333031380A000A444542EC
:1003600055473A20656E61626C65642E0A005B73C6
:100370005D004B6579626F617264207374617274A1
:100380002E0A005B575D005B535D005B525D005BB6
:10039000445D005B435D0016034500720067006F1B
:1003A0000044006F007800200045005A000000164D
:1003B000034500720067006F0044006F0078002062
:1003C0000045005A0000000403090409028D0005DD
:1003D0000100A0FA09040000010301010009211134
:1003E000010001223F000705810308000A090401FA
:1003F000000103010200092111010001224D000743
:1004000005820308000A0904020001030000000934
:1004100021110100012236000705830308000A09A3
:100420000403000203000000092111010001222041
:1004300000070584032000010705040320000109CB
:100440000404000103000000092111010001223908
:1004500000070585031000011201100100000008CB
:10046000EDFE071301000102000105010906A101CB
:10047000050719E029E71500250195087501810296
:100480000508190129059505750191029501750366
:100490009101050719002977150025019578750147
:1004A0008102C00631FF0974A1010975150025FFFD
:1004B0009520750881020976150025FF952075089D
:1004C0009102C005010980A101850216010026B72D
:1004D000001A01002AB700751095018100C0050CB3
:1004E0000901A1018503160100269C021A01002AB8
:1004F0009C02751095018100C005010902A1010946
:1005000001A10005091901290515002501950575A9
:100510000181029501750381010501093009311539
:1005200081257F95027508810609381581257F95FB
:100530000175088106050C0A38021581257F950191
:1005400075088106C0C005010906A101050719E06B
:1005500029E71500250195087501810295017508A7
:10056000810105081901290595057501910295017B
:10057000750391010507190029FF150025FF950650
:1005800075088100C00A002530325820006B65795B
:10059000626F6172645F7265706F72743A20000AF4
:1005A0000025303258006B6579626F6172645F7349
:1005B00065745F6C65643A200064656C5F6B657997
:1005C0005F6269743A2063616E27742064656C3AD7
:1005D00020253032580A006164645F6B65795F6280
:1005E00069743A2063616E2774206164643A20253F
:1005F0003032580A00646F6E652E0A00626F6F67B2
:100600006D61676963207363616E3A202E2E2E2020
:1006100000290A002575002F002575005D2800259A
:10062000640020002564002000256400200025646B
:10063000007C0025303258006D6F7573656B6579ED
:10064000205B62746E7C782079207620685D287249
:1006500065702F61636C293A205B006D6B5F776872
:1006600065656C5F74696D655F746F5F6D6178203F
:100670003D2025640A006D6B5F776865656C5F6D72
:1006800061785F7370656564203D2025640A006DA4
:100690006B5F74696D655F746F5F6D6178203D207D
:1006A00025640A006D6B5F6D61785F7370656564CA
:1006B000203D2025640A006D6B5F696E746572765B
:1006C000616C203D2025640A006D6B5F64656C6180
:1006D00079203D2025640A006D6B5F776865656C45
:1006E0005F74696D655F746F5F6D6178203D202573
:1006F000640A006D6B5F776865656C5F6D61785F3C
:100700007370656564203D2025640A006D6B5F741D
:10071000696D655F746F5F6D6178203D2025640AA7
:10072000006D6B5F6D61785F7370656564203D205F
:1007300025640A006D6B5F696E74657276616C206A
:100740003D2025640A006D6B5F64656C6179203D16
:100750002025640A000A00257500363A207768656E
:10076000656C5F74696D655F746F5F6D61783A2069
:10077000000A00257500353A20776865656C5F6D65
:1007800061785F73706565643A20000A0025750022
:10079000343A2074696D655F746F5F6D61783A20DB
:1007A000000A00257500333A206D61785F7370652B
:1007B00065643A20000A00257500323A20696E749B
:1007C000657276616C286D73293A20000A002575E0
:1007D00000313A2064656C6179282A31306D7329C3
:1007E0003A20000A092D2056616C756573202D0A88
:1007F000004D3E004D25643E20003F00736574208F
:1008000064656661756C740A00433E200077686514
:1008100072652064656C74613A20637572736F72DF
:100820003D25642C20776865656C3D25640A536519
:100830006520687474703A2F2F656E2E77696B6926
:1008400070656469612E6F72672F77696B692F4DD0
:100850006F7573655F6B6579730A000A092D204D0A
:100860006F7573656B6579202D0A4553432F713A77
:1008700009717569740A313A0964656C6179282ACD
:1008800031306D73290A323A09696E746572766186
:100890006C286D73290A333A096D61785F7370654E
:1008A00065640A343A0974696D655F746F5F6D61E0
:1008B000780A353A09776865656C5F6D61785F73B2
:1008C000706565640A363A09776865656C5F7469B6
:1008D0006D655F746F5F6D61780A0A703A097072B6
:1008E000696E742076616C7565730A643A09736584
:1008F000742064656661756C74730A75703A092BAF
:10090000310A646F776E3A092D310A706775703A53
:10091000092B31300A7067646F776E3A092D3130D8
:100920000A0A7370656564203D2064656C746120FB
:100930002A206D61785F7370656564202A202872B3
:100940006570656174202F2074696D655F746F5FD9
:100950006D6178290A003F004D3E2000433E200093
:100960004C25640A000A092D20436F6E736F6C6575
:10097000202D0A4553432F713A09717569740A6D28
:100980003A096D6F7573656B65790A000A092D2048
:100990004D61676963202D0A643A09646562756771
:1009A0000A783A096465627567206D6174726978C6
:1009B0000A6B3A096465627567206B6579626F61DD
:1009C00072640A6D3A096465627567206D6F7573AC
:1009D000650A763A0976657273696F6E0A733A0929
:1009E0007374617475730A633A09636F6E736F6C25
:1009F00065206D6F64650A302D343A096C61796544
:100A000072302D34284631302D4634290A50617514
:100A1000733A09626F6F746C6F616465720A653A4C
:100A200009656570726F6D0A6E3A094E4B524F0A36
:100A30007A3A09736C656570204C4544207465737F
:100A4000740A000A002575002E6E6B726F3A200042
:100A50000A002575002E737761705F6261636B73A6
:100A60006C6173685F6261636B73706163653A2088
:100A7000000A002575002E737761705F67726176DA
:100A8000655F6573633A20000A002575002E6E6F5E
:100A90005F6775693A20000A002575002E7377613B
:100AA000705F72616C745F726775693A20000A004A
:100AB0002575002E737761705F6C616C745F6C6775
:100AC00075693A20000A002575002E636170736C09
:100AD0006F636B5F746F5F636F6E74726F6C3A20DD
:100AE000000A002575002E737761705F636F6E7466
:100AF000726F6C5F636170736C6F636B3A20000A96
:100B00000025303258006B65796D61705F636F6EE0
:100B10006669672E7261773A20000A002575002EFB
:100B20006D6F7573653A20000A002575002E6B65A0
:100B300079626F6172643A20000A002575002E6D9B
:100B400061747269783A20000A002575002E656E7E
:100B500061626C653A20000A0025303258006465F5
:100B60006275675F636F6E6669672E7261773A20A0
:100B7000000A0025750064656661756C745F6C61C0
:100B80007965723A20003F004E4B524F3A206F6613
:100B9000660A004E4B524F3A206F6E0A0074696D20
:100BA00065725F636F756E743A202530346C580A35
:100BB000006B6579626F6172645F6E6B726F3A2071
:100BC00025580A006B6579626F6172645F69646CB5
:100BD000653A2025580A006B6579626F6172645F1F
:100BE00070726F746F636F6C3A2025580A00686FDB
:100BF00073745F6B6579626F6172645F6C65647357
:100C000028293A2025580A000A092D2053746174B6
:100C10007573202D0A004743433A20342E392E3372
:100C2000204156522D4C4942433A20312E382E3124
:100C3000204156525F415243483A20617672350A4C
:100C4000004F5054494F4E533A204C554641204294
:100C50004F4F544D41474943204D4F5553454B4508
:100C6000592045585452414B455920434F4E534FFC
:100C70004C4520434F4D4D414E44204E4B524F204A
:100C80003531320A004255494C443A2066643732C5
:100C9000613436202832323A35363A3234204A61CD
:100CA0006E2032342032303136290A005649443A17
:100CB00020307846454544284572676F446F782058
:100CC000455A29205049443A20307831333037286A
:100CD0004572676F446F7820455A29205645523A2D
:100CE000203078303030310A00444553433A207484
:100CF0002E6D2E6B2E206B6579626F61726420669B
:100D000069726D7761726520666F72204572676FD8
:100D1000646F780A000A092D2056657273696F6E38
:100D2000202D0A000A6D6F7573653A206F66660A9A
:100D3000000A6D6F7573653A206F6E0A000A6B6565
:100D400079626F6172643A206F66660A000A6B65A9
:100D500079626F6172643A206F6E0A000A6D617485
:100D60007269783A206F66660A000A6D617472696A
:100D7000783A206F6E0A000A64656275673A206FE0
:100D80006E0A000A64656275673A206F66660A003B
:100D90000A0A626F6F746C6F616465722E2E2E206A
:100DA00000433E20006565636F6E6669673A0A001E
:100DB000536C656570204C454420746573740A005B
:100DC0000000000000000000000000010204060A0C
:100DD0000F17202C3A4A5D71879DB3C7DAE9F5FCFD
:100DE000FFFCF5E9DAC7B39D87715D4A3A2C2017FD
:100DF0000F0A0604020100000000000000000000CD
:100E000011241FBECFEFDAE0DEBFCDBF04B603FE74
:100E100024C08091F9019091FA01A091FB01B09159
:100E2000FC018730904BA740B04BB9F41092F90108
:100E30001092FA011092FB011092FC0114BE84B7CB
:100E4000877F84BF88E10FB6F8948093600010928A
:100E500060000FBEE0E0FFE3099511E0A0E0B1E023
:100E6000ECE9FBE502C005900D92AA33B107D9F772
:100E700011E0AAE3B1E001C01D92A93FB107E1F77B
:100E80000E94900F0C94CC2D0C940000FF93EF93D4
:100E9000E0913A01F0913B01309709F00995EF910B
:100EA000FF910895FC018591803011F0EFDFFBCFB9
:100EB0000895FF27E0E230E247FF0CC0419597FF1D
:100EC00009C0EDE26095709580959095611D711D4A
:100ED000811D911D27FF02C0219530E350E2AA2712
:100EE000660F771F881F991FAA1FA41710F0A41B55
:100EF00063955A95A9F7AA3008F0A95FA05DAF9352
:100F0000F395611571058105910541F7ED3211F4F5
:100F1000EF93F395F21718F43F93F395FBCF8F916E
:100F2000B5DFFA95E1F70895E991F991859180305F
:100F300021F0853219F0AADFF9CF089520E0E89476
:100F400055915532C1F3503311F4689455915A3389
:100F500048F4505390F3220F022E220F220F200D3F
:100F6000250FF4CF0EF4219589919991533619F3F9
:100F7000533729F1533559F1BC0188279927E89453
:100F80005C3621F48991999168945591543639F4DD
:100F900046EF7EF077FF0DC08FEF9FEF0AC0553709
:100FA0004AE039F0583540E121F0523642E009F08C
:100FB0000895FF93EF937DDFEF91FF91B7CFFF93FC
:100FC000EF93FC0181918030B9F360DFFBCFFF9399
:100FD000EF9368DFF1CFDF93CF93CDB7DEB72596E0
:100FE000A3DFCF91DF91089561110BC0FC018281D5
:100FF000882321F085EE0E946D1603C085EE0E94C5
:10100000351780E090E0089508956091BC017091DB
:10101000BD018091BE019091BF010E94FB205698B6
:101020005E9825982D9826982E9827982F9881308D
:1010300019F0823021F00895259A2D9A0895269A64
:101040002E9A089585E098E0892B11F00E940508FA
:1010500080E090E0089556985E9825982D982698FF
:101060002E9827982F988FEF90E090938900809387
:10107000880090938B0080938A0090938D008093DA
:101080008C00259A2D9A2FEF80E792E02150804026
:101090009040E1F700C00000269A2E9A2FEF80E7DB
:1010A00092E0215080409040E1F700C00000279A74
:1010B0002F9A2FEF80E792E0215080409040E1F797
:1010C00000C0000025982D982FEF80E792E0215076
:1010D00080409040E1F700C0000026982E982FEF46
:1010E00080E792E0215080409040E1F700C000008E
:1010F00027982F9856985E9825982D9826982E9880
:1011000027982F98089589EA8093800089E080933A
:10111000810024982C983F988AB18F748AB96E9870
:10112000479A8BB1806B8BB9769A0E942B0884E02A
:1011300098E0892B11F00E94040880E090E0089567
:1011400080E28093000180913C0181110EC00E94D9
:10115000EF0881E080933C012FEF83ED90E3215075
:1011600080409040E1F700C0000080E40E94F50854
:101170008093000181112EC00E941F0980930001FD
:10118000811128C00E941F0980930001811122C093
:101190008FE30E941F098093000181111BC00E94F0
:1011A000170980E40E94F50880930001811112C0A4
:1011B0008CE00E941F098093000181110BC00E94E6
:1011C0001F0980930001811105C08FE30E941F0950
:1011D000809300010E9417098091000108951092E8
:1011E000B9008AE08093B800089594EA9093BC0017
:1011F0009091BC0097FFFCCF9091B900987F9830F8
:1012000021F0903111F081E008958093BB0084E8D3
:101210008093BC008091BC0087FFFCCF8091B90017
:10122000887F883111F0803471F780E0089584E977
:101230008093BC008091BC0084FDFCCF0895809316
:10124000BB0084E88093BC008091BC0087FFFCCF8A
:101250009091B900987F81E0983209F480E0089578
:1012600084E88093BC008091BC0087FFFCCF809114
:10127000BB00089580910001811115C080E40E9497
:10128000F5088093000181110CC082E10E941F09C2
:1012900080930001811105C08FEF0E941F09809388
:1012A00000010E94170984B1807F84B985B1807FD5
:1012B00085B98AB1837F8AB98BB1837F8BB93E9818
:1012C000469808950E94A008809300010E943A0960
:1012D00080B38C7080BB81B3836F81BBAEE3B1E020
:1012E000ECE4F1E08EE08E0F11921D928E13FCCF94
:1012F00083E898E0892B11F00C94830808959F925D
:10130000AF92BF92CF92DF92EF92FF920F931F9313
:10131000CF93DF93809100018823E1F080913D011C
:101320008F5F80933D01811115C082E493E00E949C
:1013300052070E94A00880930001882329F088E2C8
:1013400093E00E94520706C084E193E00E94520796
:101350000E942B080EE311E0C0E0D0E0BB24B39460
:1013600082E0A82ECC24C394D12C25E0E22E23E0E9
:10137000F22EC730D10500F580910001811164C0C3
:1013800080E40E94F50880930001811112C082E17F
:101390000E941F098093000181110BC0C6010C2E11
:1013A00001C0880F0A94EAF780950E941F09809374
:1013B00000010E94170948C0CA30A1F028F4C830C3
:1013C00059F0C93061F005C0CC3089F070F0CD30F3
:1013D00089F0209A289810C0219A29980DC0229A45
:1013E0002A980AC0239A2B9807C0529A01C0539A90
:1013F0005B9802C03E9A469890EA9A95F1F79FB1A1
:10140000799902C082E001C080E091709B25982B01
:101410007C9902C084E001C080E0892B7D9902C0E4
:1014200038E001C030E0832B7E9902C020E101C08A
:1014300020E0822B9FB19095991F9927991F929533
:10144000990F907E892B10C080910001811174C08A
:1014500080E40E94F50880930001882309F459C0B4
:10146000912C0E941709892DF8019081981739F164
:10147000808380910101882301F18091D70180FF51
:1014800004C08AE093E00E9452078091D70180FF58
:101490000CC0809101011F928F93FF92EF920E94E6
:1014A000EB070F900F900F900F908091D70180FF66
:1014B00004C083E093E00E945207A09201010E94C1
:1014C0003A0921960F5F1F4FCE30D10509F051CF59
:1014D000809101018823B1F081508093010188231C
:1014E00039F08FE99FE00197F1F700C000000AC0D2
:1014F000ACE4B1E0EEE3F1E0CF01825F91919D9326
:101500008E13FCCF82E298E0892BC1F00E94220862
:1015100015C083E10E941F09809300018111A0CFB3
:1015200081E40E94F50880930001811199CF0E9407
:101530003009982E909495CF80E096CF81E0DF918E
:10154000CF911F910F91FF90EF90DF90CF90BF90C0
:10155000AF909F900895E82FF0E0E45BFE4F80810C
:101560000895CF92DF92EF92FF920F931F93CF9344
:10157000DF938CEE92E00E9452078CE4E82E81E02B
:10158000F82EC0E0D0E097EEC92E92E0D92E0EEDF5
:1015900012E0DF93CF93DF92CF920E94EB0784EEAD
:1015A00092E00E945207F70181917F0190E00E9432
:1015B00061219F938F931F930F930E94EB078CEDF4
:1015C00092E00E94520721968DB79EB708960FB6FB
:1015D000F8949EBF0FBE8DBFCE30D105D1F6DF91FE
:1015E000CF911F910F91FF90EF90DF90CF900895D2
:1015F0008B3B910578F4883A910540F5853A910541
:10160000D0F48430910508F0B1C08130910509F41F
:10161000ADC06BC0803E910508F467C0883E91055F
:1016200008F4A4C09C01205F31092031310508F085
:101630005CC090650895853A910509F459C0863AD1
:10164000910509F058C082E890E40895883A910520
:1016500009F454C0893A910509F453C08A3A9105B6
:1016600009F452C08B3A910509F451C08C3A9105A6
:1016700009F450C08D3A910509F44FC0803B9105A3
:1016800009F44EC08E3A910509F44DC08F3A910588
:1016900009F44CC0813B910509F44BC0823B910594
:1016A00009F44AC0833B910509F449C0843B910584
:1016B00009F448C0853B910509F447C0863B910574
:1016C00009F446C0873B910509F445C0883B910564
:1016D00009F444C0893B910509F443C08A3B910554
:1016E00009F442C080E094E4089580E090E0089519
:1016F00081E890E4089583E890E4089582EE94E40C
:10170000089589EE94E408958AEE94E4089585EBB3
:1017100094E4089586EB94E4089587EB94E40895A7
:101720008CEC94E408958DEC94E4089583E895E4BA
:1017300008958AE895E4089582E995E4089584E996
:1017400095E4089581E296E4089583E296E408958D
:1017500084E296E4089585E296E4089586E296E4AC
:10176000089587E296E408958AE296E4089508953C
:1017700096E0799FF001112494E5899FE00DF11D19
:101780001124E60FF11DEE0FFF1FEC51FF4F859165
:1017900094910895880F991FFC01E05AF0408591BB
:1017A00094910895880F991FFC01E052FF4F859195
:1017B0009491089526E0729FF001112444E5849FDE
:1017C000E00DF11D1124E60FF11DEE0FFF1FEC518E
:1017D000FF4F859194919C013A9521154FE1340773
:1017E00008F41EC13F512115304120F49F700E9422
:1017F000D20B08959C0130532115304118F49927DC
:10180000906C0895811520E5920769F40E94BB1A37
:101810004FEF84E39CE0415080409040E1F700C0EE
:1018200000000C941D22813020E5920751F48CE5D4
:1018300093E00E9452078091D70181608093D70185
:1018400008959C0130552115304108F051C0292FD1
:1018500033272F70332721303105D9F4AC01437081
:10186000552702C0220F331F4A95E2F73C68AC01AE
:1018700064E0440F551F6A95E1F744275370242B09
:10188000352B73E0880F991F7A95E1F780769927B9
:101890001DC02230310529F4982F8827816F906A66
:1018A000089523303105A9F4AC014370552721E098
:1018B00030E002C0220F331F4A95E2F73C6843E054
:1018C000880F991F4A95E1F7807E9770822B932BA2
:1018D000089524303105E1F4AC014370552721E02F
:1018E00030E002C0220F331F4A95E2F73A68E7CF93
:1018F0009C0130572115304118F49F709062089573
:101900009C0130582115304118F49F70906A089559
:10191000803E9105E0F4803C910558F581339105B6
:1019200009F46FC048F48932910509F463C08A3222
:10193000910509F46DC072C089339105E9F08238D0
:101940009105D1F08533910509F44DC067C0833E00
:10195000910581F138F4803E9105B9F0823E910500
:10196000D9F05CC0863E910561F1873E9105A1F1F9
:1019700055C00E94CA0B08952091EA0120FD02C0C3
:1019800021FF4CC080EE90E049C08091EA0180FFC9
:10199000F9CF89E390E042C08091EA0182FF0EC056
:1019A0008091EA0184FF03C080E090E037C083EEBD
:1019B00090E034C08091EA0182FFF2CF82EE90E0A5
:1019C0002DC08091EA0183FF0BC08091EA0184FD64
:1019D000EBCF87EE90E022C08091EA0183FFF5CF44
:1019E00086EE90E01BC08091EA0185FF07C089E286
:1019F00090E014C08091EA0185FFF9CF85E390E083
:101A00000DC08091EA0186FF07C08AE290E006C01F
:101A10008091EA0186FFF9CF81E390E00E94F80A05
:101A20000895089580916D0108959FB7F8941092DC
:101A30005C019FBF9091F001943009F057C09091E4
:101A4000E9009F703091EC00232F217030FD20E8D9
:101A5000922B24E02093E9002091EB0020FF43C06B
:101A60002091EE0027FF3FC020915A01222321F050
:101A70002091E80025FF37C010925A0126E03091EE
:101A8000E80035FD15C03091F001343061F530913A
:101A9000EB0035FD28C0215021F481E080935A01EC
:101AA00022C0EFE9FFE03197F1F700C00000E7CF77
:101AB0008093F1008091E80085FD0AC08091E800E4
:101AC00080FFFCCF8091E8008E778093E80006C00D
:101AD0008FB7F89421E020935C018FBF9F709093A3
:101AE000E90080E008959F709093E9008FEF0895DA
:101AF000CF93DF9300D01F92CDB7DEB79C018091CA
:101B0000F001843019F593E099833B832A83909305
:101B1000E9008FEF9091E800815095FD06C095EDAA
:101B20009A95F1F700008111F5CF8091E80085FFCB
:101B30000DC040E050E063E070E0CE0101960E94ED
:101B400048108091E8008E778093E8000F900F9006
:101B50000F90DF91CF910895CF93DF9300D01F9224
:101B6000CDB7DEB72091F001243021F522E02983A2
:101B70009B838A8383E08093E9008FEF9091E80054
:101B8000815095FD06C095ED9A95F1F70000811101
:101B9000F5CF8091E80085FF0DC040E050E063E0A4
:101BA00070E0CE0101960E9448108091E8008E7787
:101BB0008093E8000F900F900F90DF91CF910895E0
:101BC0002091F0012430F1F422E02093E9002FEF7E
:101BD0003091E800215035FD06C035ED3A95F1F71A
:101BE00000002111F5CF2091E80025FF0BC040E057
:101BF00050E065E070E00E9448108091E8008E7728
:101C00008093E8000895CF93DF932091F001243072
:101C100009F048C0EC0180910C018823E1F080912B
:101C20000D018823C1F085E08093E9008FEF90914A
:101C3000E800815095FD06C095E19A95F1F7000006
:101C40008111F5CF8091E80085FF2CC040E050E085
:101C500060E170E017C081E08093E9008FEF909120
:101C6000E800815095FD06C095ED9A95F1F70000CA
:101C70008111F5CF8091E80085FF14C040E050E06D
:101C800068E070E0CE010E9448108091E8008E77F5
:101C90008093E80080E1FE01ADE5B1E001900D9296
:101CA0008A95E1F7DF91CF91089583E993E00E944F
:101CB00052078091EF01811109C00E94DD110E943D
:101CC0003A128091E20084608093E20008958FE8E8
:101CD00093E00E9452071092EF0108958BE893E081
:101CE0000C94520787E893E00E9452070C94ED2B66
:101CF00083E893E00E9452070E94B7210E94F32BD1
:101D00000E94DF140C94110D20915B012F5F822F34
:101D100062E30E94612D992319F020935B010895DD
:101D200010925B0180915C01882371F18091F00138
:101D3000843041F58091E9008F702091EC00922F62
:101D4000917020FD90E8892B94E09093E9009091A8
:101D5000EB0090FF14C09091EE0097FF10C090919F
:101D6000E80095FF03C01092F100F9CF9091E800D0
:101D700090FF05C09091E8009E779093E8008F70E7
:101D80008093E90010925C01089542E061EC81E0EB
:101D90000E94571142E061EC82E00E94571142E03C
:101DA00061EC83E00E94571142E261EC84E00E9402
:101DB000571142E161EC85E00C9457118091F201DA
:101DC000833009F455C030F4813071F0823009F469
:101DD0008EC008958A3009F47AC08B3009F460C04F
:101DE000893009F09CC020C08091F101813A09F04E
:101DF00096C08091E800877F8093E8008091F5018C
:101E00009091F601892B21F460E18DE591E003C00A
:101E100060E080E090E070E00E9493108091E80024
:101E20008B778093E80008958091F101813209F069
:101E300076C08091F5019091F601009719F0049712
:101E400009F06DC08091E800877F8093E800809161
:101E5000E80082FD05C08091F0018111F8CF5FC0DC
:101E60008091F10080936D018091E8008B7753C0E1
:101E70008091F101813A09F052C08091F501909171
:101E8000F601892B09F04BC08091E800877F809391
:101E9000E8008091E80080FFFCCF80910C0136C003
:101EA0008091F1018132D9F58091F5019091F6018F
:101EB000892BA9F58091E800877F8093E8000E9434
:101EC0008C118091F30180930C010C94BB1A8091CA
:101ED000F101813221F58091E800877F8093E8004D
:101EE0000E948C118091F40180936E01089580917D
:101EF000F101813AA1F48091E800877F8093E800A6
:101F00008091E80080FFFCCF80916E018093F1000A
:101F10008091E8008E778093E8000C948C110895EE
:101F200084B7877F84BF88E10FB6F8948093600000
:101F3000109260000FBE90E080E80FB6F894809396
:101F40006100909361000FBE0E946C150E94DD112C
:101F50000E943A128091E20084608093E20085E161
:101F60009DE00E94F62078940E94BF140E946E1596
:101F700082E091E00E94DA140E94DB2B82E793E07A
:101F80000E9452078091F001853089F48EE693E03B
:101F90000E9452070E947B218091EE01882391F3D9
:101FA0000E94A321882371F30E943210EBCF0E947C
:101FB0009C15E8CF292F332723303105C9F064F46D
:101FC0002130310581F02230310509F043C08DE820
:101FD00090E02BEC33E042C021323105F1F02232A7
:101FE000310541F137C082E190E028E534E036C0A8
:101FF00099278130910541F08230910541F0892B7C
:1020000049F5E7ECF3E005C0EFEAF3E002C0E7E9E9
:10201000F3E0849190E09F0121C06530D8F4E62F71
:10202000F0E0EE0FFF1FEB5DFE4F2081318189E074
:1020300090E014C0653070F470E0FB01EE0FFF1FFC
:10204000E55EFE4F20813181FB01EA5EFE4F80811B
:1020500090E004C080E090E020E030E0FA013183BD
:102060002083089580E189BD82E189BD09B400FE25
:10207000FDCF8091D8008F7D8093D8008091E000C3
:1020800082608093E0008091E00081FDFCCF0895A4
:10209000CF92DF92EF92FF920F931F93CF93DF9334
:1020A000EC018B016A010E94AB11811133C0C11494
:1020B000D10439F0F60180819181081B190BC80FFA
:1020C000D91FE12CF12C0115110519F18091E800BF
:1020D00085FD16C08091E8008E778093E800C114DA
:1020E000D10449F0F60180819181E80EF91EF18258
:1020F000E08285E00FC00E94AB11882321F30AC063
:1021000089918093F10001501109FFEFEF1AFF0A46
:10211000DACF80E0DF91CF911F910F91FF90EF9088
:10212000DF90CF9008952091F7013091F8012617A4
:10213000370748F06115710539F42091E8002E77D2
:102140002093E80001C0B90140E061157105A9F1D3
:102150002091F001222309F443C0253009F442C044
:102160002091E80023FD40C02091E80022FD32C00C
:102170002091E80020FFE9CF4091F3002091F20088
:1021800030E0342BFC01CF016115710559F0283086
:10219000310540F481918093F100615071092F5F06
:1021A0003F4FF1CF41E02830310509F040E0209168
:1021B000E8002E772093E800C8CF4111C9CF0AC0AC
:1021C0008091F001882361F0853061F08091E80012
:1021D00083FD0AC08091E80082FFF2CF80E008957D
:1021E00082E0089583E0089581E008952091F70149
:1021F0003091F8012617370748F06115710539F459
:102200002091E8002E772093E80001C0B901FC017D
:1022100020E06115710591F18091F001882309F4A6
:1022200040C0853009F43FC08091E80083FD3DC087
:102230008091E80082FD2FC08091E80080FFE9CF07
:102240002091F3008091F20090E0922B61157105CE
:1022500059F08830910540F424912093F100319693
:10226000615071090196F2CF21E0089709F020E052
:102270008091E8008E778093E800CBCF2111CCCFFE
:102280000AC08091F001882361F0853061F080916F
:10229000E80083FD0AC08091E80082FFF2CF80E071
:1022A000089582E0089583E0089581E00895982FCD
:1022B000973058F59093E900981739F07091EC0039
:1022C0002091ED005091F00003C0242F762F50E0B4
:1022D00021FF19C03091EB003E7F3093EB0030912D
:1022E000ED003D7F3093ED003091EB003160309395
:1022F000EB007093EC002093ED005093F0002091E0
:10230000EE0027FF07C09F5FD3CF8F708093E90057
:1023100081E0089580E008958091F10187FF11C068
:102320008091E80082FD05C08091F0018111F8CF15
:1023300011C08091E8008B770BC08091F001882359
:1023400049F08091E80080FFF8CF8091E8008E7717
:102350008093E80008952091E4003091E50095E62F
:102360004091EC00842F817040FF22C08091E800F2
:1023700080FD1CC08091F001882391F0853091F0A0
:102380008091EB0085FD10C04091E4005091E50084
:102390004217530729F39A01915011F784E00895E9
:1023A00082E0089583E0089581E0089580E0089533
:1023B0004091E80042FFDECF08950E944B120E9438
:1023C0005312E0EEF0E0808181608083E8EDF0E080
:1023D00080818F77808319BCA7EDB0E08C918E7FD0
:1023E0008C9380818F7E80831092EF0108950F93EC
:1023F0001F93CF93DF930E944B120E945312C8ED9C
:10240000D0E088818F7788838881806888838881FD
:102410008F7D888319BC1092F0011092EC0110920C
:10242000EE011092ED0100EE10E0F80180818B7F4B
:10243000808388818160888342E060E080E00E9440
:102440005711E1EEF0E080818E7F8083E2EEF0E0D4
:10245000808181608083808188608083F8018081B1
:102460008E7F8083888180618883DF91CF911F91E7
:102470000F910895E8EDF0E080818F7E8083E7ED95
:10248000F0E080818160808384E082BF81E080937E
:10249000EF010C94F711E8EDF0E080818E7F8083EE
:1024A0001092E20008951092DA001092E10008956F
:1024B0001F920F920FB60F9211242F933F934F93B9
:1024C0005F936F937F938F939F93AF93BF93EF939C
:1024D000FF938091E10082FF0BC08091E20082FFB8
:1024E00007C08091E1008B7F8093E1000E94840E01
:1024F0008091DA0080FF1FC08091D80080FF1BC050
:102500008091DA008E7F8093DA008091D90080FF7D
:102510000DC080E189BD82E189BD09B400FEFDCF17
:1025200081E08093F0010E94550E05C019BC109205
:10253000F0010E94670E8091E10080FF19C0809138
:10254000E20080FF15C08091E2008E7F8093E20060
:102550008091E20080618093E2008091D8008062E7
:102560008093D80019BC85E08093F0010E94720E20
:102570008091E10084FF30C08091E20084FF2CC094
:1025800080E189BD82E189BD09B400FEFDCF809163
:10259000D8008F7D8093D8008091E1008F7E80935A
:1025A000E1008091E2008F7E8093E2008091E20062
:1025B00081608093E2008091EC01882311F084E037
:1025C00007C08091E30087FD02C081E001C083E085
:1025D0008093F0010E94780E8091E10083FF29C072
:1025E0008091E20083FF25C08091E100877F809386
:1025F000E10082E08093F0011092EC018091E10013
:102600008E7F8093E1008091E2008E7F8093E200D4
:102610008091E20080618093E20042E060E080E02F
:102620000E9457118091F00088608093F0000E9412
:102630006E0EFF91EF91BF91AF919F918F917F911E
:102640006F915F914F913F912F910F900FBE0F901F
:102650001F9018951F920F920FB60F9211242F936F
:102660003F934F935F936F937F938F939F93AF931A
:10267000BF93CF93DF93EF93FF93C091E900CF70A7
:102680008091EC00D82FD17080FDD0E81092E90045
:102690008091F000877F8093F00078940E946E1301
:1026A0001092E9008091F00088608093F000CD2BBB
:1026B000CF70C093E900FF91EF91DF91CF91BF916F
:1026C000AF919F918F917F916F915F914F913F91CA
:1026D0002F910F900FBE0F901F9018951F93CF93BF
:1026E000DF93CDB7DEB7AA970FB6F894DEBF0FBE63
:1026F000CDBFE1EFF1E088E08E0F9091F100919372
:102700008E13FBCF0E94DE0E8091E80083FF1FC175
:102710008091F1019091F201492F50E04A3051052A
:1027200008F015C1FA01EA5AFF4F0C94812D803848
:1027300081F0823809F00BC18091F5018F70809390
:10274000E9008091EB0085FB882780F91092E90071
:1027500006C08091ED019091EE01911182609091FF
:10276000E800977F9093E8008093F1001092F100C9
:10277000C8C0282F2D7F09F0EAC0882319F08230C5
:1027800061F0E5C08091F301813009F0E0C0933041
:1027900009F080E08093EE012BC08091F30181115C
:1027A00027C08091F5018F7009F4D1C08093E900B2
:1027B0002091EB0020FF1CC0933021F48091EB00AE
:1027C000806214C09091EB0090619093EB0021E047
:1027D00030E0A90102C0440F551F8A95E2F74093EB
:1027E000EA001092EA008091EB0088608093EB0091
:1027F0001092E9008091E800877F86C08111A7C010
:102800001091F3011F778091E3008078812B8093F2
:10281000E3008091E800877F8093E8000E948C119C
:102820008091E80080FFFCCF8091E3008068809376
:10283000E300111102C082E001C083E08093F00147
:1028400086C08058823008F082C08091F301909158
:10285000F4018C3D53E0950779F583E08A838AE2A1
:1028600089834FB7F894DE01139620E03EE051E2F1
:10287000E32FF0E050935700E49120FF03C0E2956E
:10288000EF703F5FEF708E2F90E0EA3010F0C79648
:1028900001C0C0968D939D932F5F243149F74FBFA0
:1028A0008091E800877F8093E8006AE270E0CE01C3
:1028B00001960E94931014C0AE014F5F5F4F60916C
:1028C000F5010E94DA0FBC01892B09F440C09091F8
:1028D000E800977F9093E80089819A810E94F61022
:1028E0008091E8008B778093E80031C0803879F5DB
:1028F0008091E800877F8093E8008091EC018093CD
:10290000F1008091E8008E778093E8000E948C119E
:102910001EC081111CC09091F3019230C0F48091CF
:10292000E800877F8093E8009093EC010E948C116F
:102930008091EC01811106C08091E30087FD02C007
:1029400081E001C084E08093F0010E94C50E809177
:10295000E80083FF0AC08091E800877F8093E80049
:102960008091EB0080628093EB00AA960FB6F894FA
:10297000DEBF0FBECDBFDF91CF911F910895CF93E2
:102980008091F0018823A1F0C091E900CF7090916F
:10299000EC00892F817090FD80E8C82B1092E9002F
:1029A0008091E80083FD0E946E13CF70C093E90010
:1029B000CF91089590937401809373010895E091ED
:1029C0007301F0917401309721F00190F081E02DB6
:1029D000099480E00895EF92FF920F931F93CF9395
:1029E000DF93E0917301F09174013097B1F18C01A4
:1029F0000280F381E02D09958091D70182FF2DC0DF
:102A000080FF04C08DE895E00E945207E80110E1C4
:102A100087E8E82E85E0F82E8091D70180FF0BC073
:102A200088811F928F93FF92EF920E94EB070F9085
:102A30000F900F900F90115021961111EDCF8091B2
:102A4000D70180FF0AC085E895E0DF91CF911F9103
:102A50000F91FF90EF900C945207DF91CF911F914F
:102A60000F91FF90EF900895E0917301F091740140
:102A7000309721F00480F581E02D0994089520918C
:102A80007101309172018217930771F09093720176
:102A900080937101E0917301F0917401309721F0FE
:102AA0000680F781E02D0994089520916F013091FF
:102AB00070018217930771F09093700180936F01FA
:102AC000E0917301F0917401309721F00084F18559
:102AD000E02D0994089508950C946B150E94B92176
:102AE0000E9462090C947F22CF93C82F8091D70156
:102AF00082FF1EC080FF04C086EA95E00E94520754
:102B00008091D70180FF0CC01F92CF9381EA95E09E
:102B10009F938F930E94EB070F900F900F900F9051
:102B20008091D70180FF04C08FE995E00E94520791
:102B30008C2FCF910C94110DCF92DF92EF92FF92D8
:102B40000F931F93CF93DF93CDB7DEB72B970FB6BD
:102B5000F894DEBF0FBECDBF0E947F0986E7C82E66
:102B600081E0D82E00E010E0E02E802F0E94AB0A1A
:102B7000F60141916F01F42EF826B1F40F5F1F4F5B
:102B80000E30110589F78FEF89838A831B820E949B
:102B9000C2218160782F9D838C8349815A816B810A
:102BA0008D810E943F1640C09091D70191FF04C0D3
:102BB0008B870E94B10A8B8520E030E04F2D50E0DA
:102BC000922FBA01022E02C0759567950A94E2F71A
:102BD00060FF24C02E83EF8221E030E0690102C053
:102BE000CC0CDD1C9A95E2F790E08C219D21892B7D
:102BF00009F420E028870E94C2218160782F9A87FB
:102C000089874E815F8168858A850E943F16F80119
:102C1000EA58FE4F8081C826C08206C02F5F3F4F12
:102C20002630310569F6AACF0E94F0251091750172
:102C30000E94DF141817A1F00E94DF148093750121
:102C40002B960FB6F894DEBF0FBECDBFDF91CF91AC
:102C50001F910F91FF90EF90DF90CF900C9474151F
:102C60002B960FB6F894DEBF0FBECDBFDF91CF918C
:102C70001F910F91FF90EF90DF90CF900895CF9329
:102C8000DF93CDB7DEB72B970FB6F894DEBF0FBE3C
:102C9000CDBF4F83588769877A878B87DE0111966E
:102CA00086E0FD0111928A95E9F785E0FE013796ED
:102CB00001900D928A95E1F749815A816B817C815F
:102CC0008D819E810E94551D2B960FB6F894DEBF14
:102CD0000FBECDBFDF91CF910895CF93882309F424
:102CE000C2C0C82F823859F40E94DF1481FDBBC0D6
:102CF00089E30E94F11F0E94D02089E30CC0833831
:102D000079F40E94DF1480FDAEC083E50E94F11FBC
:102D10000E94D02083E50E944420CF910C94D020C3
:102D2000843859F40E94DF1482FD9DC087E40E941C
:102D3000F11F0E94D02087E4EECF8CEF8C0F813AF8
:102D400048F48C2F0E94832A81118DC08C2F0E9401
:102D5000F11FE3CF80E28C0F883048F4C77081E028
:102D600001C0880FCA95EAF70E949920D6CF8BE55B
:102D70008C0F833078F4C53A29F0C63A31F083E8F5
:102D800090E005C081E890E002C082E890E0CF9139
:102D90000C943F1588E58C0F833108F064C0C83A65
:102DA00039F1C93A41F1CA3A49F1CB3A51F1CC3A39
:102DB00059F1CD3A61F1C03B69F1CE3A71F1CF3AA8
:102DC00079F1C13B81F1C23B89F1C33B91F1C43B35
:102DD00099F1C53BA1F1C63BA9F1C73BB1F1C83B95
:102DE000B9F1C93BC1F1CA3BC9F180E090E038C0FC
:102DF00082EE90E035C089EE90E032C08AEE90E03D
:102E00002FC085EB90E02CC086EB90E029C087EBCB
:102E100090E026C08CEC90E023C08DEC90E020C0C8
:102E200083E891E01DC08AE891E01AC082E991E050
:102E300017C084E991E014C081E292E011C083E2FE
:102E400092E00EC084E292E00BC085E292E008C0FE
:102E500086E292E005C087E292E002C08AE292E058
:102E6000CF910C945515CF910895882309F44BC048
:102E7000823859F40E94DF1481FF45C089E30E9423
:102E8000F11F0E94D02089E30CC0833871F40E94A6
:102E9000DF1480FF38C083E50E94F11F0E94D0201C
:102EA00083E50E9444200C94D020843859F40E9479
:102EB000DF1482FF28C087E40E94F11F0E94D02007
:102EC00087E4EFCF9CEF980F913A58F390E2980F78
:102ED000983050F4877091E001C0990F8A95EAF715
:102EE000892F0E949F20DFCF9BE5980F933020F41D
:102EF00080E090E00C943F15885A833120F480E004
:102F000090E00C9455150895882321F00E94992093
:102F10000C94D0200895882321F00E949F200C94C7
:102F2000D0200895BF92CF92DF92EF92FF920F933D
:102F30001F93CF93DF9300D000D000D0CDB7DEB782
:102F400025E0FC01DE01119601900D922A95E1F732
:102F5000FC01408131810281258122952F7063819E
:102F60007481672B09F4E5C23F3F19F44F3F09F420
:102F7000E0C27C0149833A8389819A812E830E9431
:102F8000B01F182FB92E0E94AF1F0E94761EEB2D86
:102F9000E295EF70F0E0E05AFF4F2E810C94812D06
:102FA0008B2D807F9B2D9F70F92E882319F0F29432
:102FB00080EFF822002349F0FF2009F467C28F2D2B
:102FC0000E94A9200E94D02061C2812F0E94351743
:102FD000FF2009F4AEC28F2D0E94AF2026960FB6B7
:102FE000F894DEBF0FBECDBFDF91CF911F910F913F
:102FF000FF90EF90DF90CF90BF900C94D0203B2DAE
:10300000307F8B2D8F70303211F08295807F1123AD
:1030100019F0113021F12CC00023B9F0222309F45A
:10302000A0C1213009F09DC126960FB6F894DEBFED
:103030000FBECDBFDF91CF911F910F91FF90EF9009
:10304000DF90CF90BF900C94B920222319F021304B
:1030500009F46FC28E830E94BC208E8196C100232A
:1030600021F0223008F065C27CC1211162C28DC1FD
:10307000002321F0222309F474C108C2222309F499
:1030800084C119C22B2D26952695237030E0211579
:10309000310521F021303105D1F04BC2002321F060
:1030A000812F9B2D937002C080E090E026960FB692
:1030B000F894DEBF0FBECDBFDF91CF911F910F916E
:1030C000FF90EF90DF90CF90BF900C943F150023BE
:1030D00021F0812F9B2D937002C080E090E0269616
:1030E0000FB6F894DEBF0FBECDBFDF91CF911F9119
:1030F0000F91FF90EF90DF90CF90BF900C945515FB
:10310000812F002319F00E94762402C00E94DE2441
:1031100026960FB6F894DEBF0FBECDBFDF91CF91DC
:103120001F910F91FF90EF90DF90CF90BF900C9484
:1031300063258B2D837009F07BC00111FAC1812FAB
:10314000829586958770880F880F912F9F70C92E62
:10315000D12CE12CF12C082E04C0CC0CDD1CEE1C73
:10316000FF1C0A94D2F714FF12C04FE050E060E059
:1031700070E004C0440F551F661F771F8A95D2F771
:10318000CB01BA01609570958095909503C060E081
:1031900070E0CB012B2D269526952370422F50E011
:1031A00042305105D9F04330510569F16C297D2930
:1031B0008E299F294130510551F126960FB6F8947A
:1031C000DEBF0FBECDBFDF91CF911F910F91FF905A
:1031D000EF90DF90CF90BF900C949D1E6C297D29BD
:1031E0008E299F2926960FB6F894DEBF0FBECDBF5D
:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
:10320000BF900C94B91E0E949D1EC701B601269660
:103210000FB6F894DEBF0FBECDBFDF91CF911F91E7
:103220000F91FF90EF90DF90CF90BF900C94811E94
:10323000002319F08B2D817001C08695882309F435
:1032400078C1812F829586958770880F880F912F7E
:103250009F70C92ED12CE12CF12C082E04C0CC0C6F
:10326000DD1CEE1CFF1C0A94D2F714FF12C04FE0C5
:1032700050E060E070E004C0440F551F661F771FE8
:103280008A95D2F7CB01BA0160957095809590959B
:1032900003C060E070E0CB012B2D269526952370AE
:1032A000422F50E042305105D9F04330510569F1C9
:1032B0006C297D298E299F294130510551F126968F
:1032C0000FB6F894DEBF0FBECDBFDF91CF911F9137
:1032D0000F91FF90EF90DF90CF90BF900C94771FED
:1032E0006C297D298E299F2926960FB6F894DEBF7A
:1032F0000FBECDBFDF91CF911F910F91FF90EF9047
:10330000DF90CF90BF900C94931F0E94771FC7014E
:10331000B60126960FB6F894DEBF0FBECDBFDF9183
:10332000CF911F910F91FF90EF90DF90CF90BF90C2
:103330000C945B1F103FD1F118F4103E50F4A1C063
:10334000123F09F463C008F44CC0133F09F473C082
:1033500098C01F708B2D8F710023A1F00E94F41E66
:10336000812F26960FB6F894DEBF0FBECDBFDF913A
:10337000CF911F910F91FF90EF90DF90CF90BF9072
:103380000C9484170E94151F812F26960FB6F8946F
:10339000DEBF0FBECDBFDF91CF911F910F91FF9088
:1033A000EF90DF90CF90BF900C948B170023A9F083
:1033B0002111BFC08B2D8F7126960FB6F894DEBFFA
:1033C0000FBECDBFDF91CF911F910F91FF90EF9076
:1033D000DF90CF90BF900C943A1F223008F0A9C024
:1033E000E9CF0023A9F08B2D8F7126960FB6F894A4
:1033F000DEBF0FBECDBFDF91CF911F910F91FF9028
:10340000EF90DF90CF90BF900C94F41E002359F3FF
:103410008B2D8F7126960FB6F894DEBF0FBECDBFF1
:10342000DF91CF911F910F91FF90EF90DF90CF90A0
:10343000BF900C94151F002399F08B2D8F71269649
:103440000FB6F894DEBF0FBECDBFDF91CF911F91B5
:103450000F91FF90EF90DF90CF90BF900C94DF1E04
:1034600026960FB6F894DEBF0FBECDBFDF91CF9189
:103470001F910F91FF90EF90DF90CF90BF900C9431
:10348000D51E0023A9F0222309F4ADCF812F269663
:103490000FB6F894DEBF0FBECDBFDF91CF911F9165
:1034A0000F91FF90EF90DF90CF90BF900C946D162E
:1034B000222309F4ADCF812F26960FB6F894DEBFF4
:1034C0000FBECDBFDF91CF911F910F91FF90EF9075
:1034D000DF90CF90BF900C9435174B2D4F70612F1C
:1034E000C7010E94F40726960FB6F894DEBF0FBE00
:1034F000CDBFDF91CF911F910F91FF90EF90DF90A3
:10350000CF90BF900C94F91D4B2D4F70612FC701C8
:1035100026960FB6F894DEBF0FBECDBFDF91CF91D8
:103520001F910F91FF90EF90DF90CF90BF900C9480
:10353000B70B26960FB6F894DEBF0FBECDBFDF9156
:10354000CF911F910F91FF90EF90DF90CF90BF90A0
:1035500008950E94B6200E948B200E94D0200E94D5
:1035600096260E94632580E090E00E943F1580E04F
:1035700090E00C9455150E94A6200C94A91A0E9464
:10358000B01F292F22952F7030E02C3031054CF4DC
:103590002A3031056CF4225031092230310588F48B
:1035A00007C02C30310549F02F30310531F009C00A
:1035B000803E48F0803F29F406C093FB882780F9BD
:1035C000089580E0089581E00895CF93DF9300D0BF
:1035D00000D01F92CDB7DEB70F900F900F900F90D5
:1035E0000F90DF91CF910895CF93DF9300D000D05B
:1035F00000D0CDB7DEB726960FB6F894DEBF0FBE6B
:10360000CDBFDF91CF9108951F93CF93DF93C091EA
:10361000840116E080918501C81799F0D0E01C9FC5
:10362000F0011D9FF00D1124EA57FE4F408151819A
:1036300062817381848195810E94F41A2196C770FA
:10364000E9CFDF91CF911F9108954091B60150913C
:10365000B7016091B8017091B9018091BA01909160
:10366000BB010C94F41A8091BB0182958F7009F014
:1036700054C08091B801882309F44FC0809184011F
:10368000A09185016091B6017091B7014091B90197
:103690005091BA01B6E08A1709F43FC090E0411595
:1036A0005105C1F17F3F11F46F3FA1F1B89FF001C7
:1036B000B99FF00D1124EA57FE4F218172132AC0E1
:1036C0002081621327C02281211124C023813481EB
:1036D0002417350710F421503109241B350B283CE1
:1036E0003105C0F42091BB012F7020612093BB01F4
:1036F00026E0289FF001299FF00D1124E557FE4F89
:1037000080818F708061808386EB91E00E949217A8
:103710000C94041B01968770BECF0895CF92DF9260
:10372000EF92FF920F931F93CF93DF93CDB7DEB746
:1037300062970FB6F894DEBF0FBECDBF8C0185E057
:10374000F801DE011D9601900D928A95E1F7D801EE
:103750004C9111965C91119712966C911297139659
:10376000CD90DC9014973091B6017091B7018091A3
:10377000B9019091BA01009709F46BC17F3F19F428
:103780003F3F09F466C1E090B801EE2009F4C0C0E3
:103790002091BB01C816D90628F0F601E81BF90BE9
:1037A000CF0104C0809590958C0D9D1DFF24F3944E
:1037B000883C910578F0F12C207F09F0C6C07C2D63
:1037C000D98AC88A89890E94E51A86EB91E00E940D
:1037D0009217B1C0822F807F09F046C0751314C0C4
:1037E000341312C0611110C02F7020612093BB01EF
:1037F0000E94251B86EB91E00E9492178091BB01ED
:10380000D80115968C932EC0CD2819F15F3F11F485
:103810004F3FF9F0F62E61111CC080918401209178
:10382000850136E0821709F45AC090E0389FF00114
:10383000399FF00D1124EA57FE4F7181571306C0CE
:103840007081471303C07281711103C001968770A4
:10385000E9CFF62E662309F418C18091BB0181607F
:103860008093BB01F12C11C1751308C0341306C03D
:10387000611104C08091BB01D801C3C04D875E8730
:103880008D859E856A8B0E94BF1A6A898823E1F123
:103890006623D1F12091BB01822F82958F7090E039
:1038A000029774F08091B6019091B70198878F8349
:1038B0001986DB86CA862C87CE0107960E9492174E
:1038C00086E0F801A6EBB1E001900D928A95E1F750
:1038D0000E94331B0E94251BFF24F394D6C04D8702
:1038E0005E878D859E850E94B01F292F22952F709F
:1038F00030E0223031050CF0BCC09F7009F0B6C03A
:10390000805E883008F4C1C0C8010E949217E4CFDD
:10391000C816D90608F453C0F601E81BF90BCF010D
:10392000883C910508F450C0F12C7C2DD98AC88AB6
:1039300089890E94E51AE6EBF1E086E0DF011D923D
:103940008A95E9F70E94251BA0C0751314C0341393
:1039500012C0611110C08091BB01F8018583C801BC
:103960000E94921786E0E6EBF1E0DF011D928A9556
:10397000E9F7FE2C8AC04D875E878D859E856A8B10
:103980000E94BF1A6A89882309F4BECF662309F40E
:10399000BBCF2091BB01822F82958F7090E0029760
:1039A0000CF48ECF8091B6019091B7019A838983F0
:1039B0001B82DD82CC822E83CE0101967FCF809543
:1039C00090958C0D9D1DACCFF62E662309F49CCFEF
:1039D00075132EC034132CC02091BB0120FD1FC0D5
:1039E000822F82958F70D9F0D80115962C93159758
:1039F0008F3049F08F5F982F9295907F822F8F7034
:103A0000892B15968C93C8010E94921786E0F801C5
:103A1000A6EBB1E001900D928A95E1F793CF86E095
:103A2000F801A6EBB1E001900D928A95E1F72DC067
:103A30004D875E878D859E850E94BF1A811140CF7C
:103A40008091BB0181608093BB01C8010E949217E5
:103A50001CC0662309F458CF4D875E878D859E85EF
:103A60000E94BF1A882309F44FCF2ACF811148CF73
:103A70000CC0243031050CF047CF9F7009F440CFC3
:103A8000F8019581907F09F03BCF8F2D62960FB69C
:103A9000F894DEBF0FBECDBFDF91CF911F910F9184
:103AA000FF90EF90DF90CF9008951F93CF93DF9317
:103AB000CDB7DEB72C970FB6F894DEBF0FBECDBFE3
:103AC0004F83588769877A878B879C87CE010796B3
:103AD0000E948E1B882369F08F8198852A853B85FB
:103AE000232BF1F19F3F09F063C08F3F09F060C0C5
:103AF00037C086E0FE013796DE01119601900D92E7
:103B00008A95E1F76F817885EA85FB85309741F1E9
:103B10007F3F11F46F3F21F12091850130E0C90111
:103B20000196877099274091840150E0841795078A
:103B300009F447C069837A83FD83EC8396E0929F02
:103B4000D001939FB00D1124AA57BE4FFE013196AC
:103B500001900D929A95E1F7809385010E94041BD4
:103B600016E080918401909185018917C1F1189F19
:103B7000C00111248A579E4F0E948E1B882379F121
:103B8000E09184011E9FF0011124EA57FE4F40810D
:103B9000518162817381848195810E94F41A8091A0
:103BA000840190E001968770992780938401D9CF92
:103BB0004F81588569857A858B859C850E94F41A8A
:103BC000CFCF0E94BB1A1092850110928401E6EBC0
:103BD000F1E086E0DF011D928A95E9F7C1CF2C96CE
:103BE0000FB6F894DEBF0FBECDBFDF91CF911F910E
:103BF0000895EF92FF920F931F93CF93DF938C0161
:103C0000892B09F46CC0F12CEE24E394E801219691
:103C1000F8018491843740F4843008F051C0813039
:103C200081F0823019F15BC0853709F444C0A8F1F6
:103C30009CE7980F903708F052C08F770E94351795
:103C400041C00E5F1F4FFE01C49180E28C0F88308F
:103C500048F4C7708E2D01C0880FCA95EAF70E94FC
:103C6000A92014C08C2F0E946D162DC00E5F1F4F0F
:103C7000FE01C49180E28C0F883058F4C7708E2DFD
:103C800001C0880FCA95EAF70E94AF200E94D02099
:103C90001AC08C2F0E94351716C00E5F1F4FFE01F1
:103CA000C491CC2381F08FE99FE00197F1F700C028
:103CB0000000C150F6CF0E5F1F4FFE01F49003C00D
:103CC0000E946D168E018F2D882309F49FCFEFE996
:103CD000FFE03197F1F700C000008150F5CFDF9190
:103CE000CF911F910F91FF90EF90089508956093E9
:103CF000C0017093C1018093C2019093C3010C94E1
:103D0000A91A0F931F930091C0011091C101209136
:103D1000C2013091C301DC01CB01802B912BA22B7E
:103D2000B32B8093C0019093C101A093C201B093C3
:103D3000C3011F910F910C94A91A0F931F93009127
:103D4000C0011091C1012091C2013091C301DC0179
:103D5000CB0180239123A223B3238093C0019093AE
:103D6000C101A093C201B093C3011F910F910C94A4
:103D7000A91A0F931F930091C0011091C1012091C6
:103D8000C2013091C301DC01CB0180279127A2271A
:103D9000B3278093C0019093C101A093C201B09357
:103DA000C3011F910F910C94A91A1092BC0110929B
:103DB000BD011092BE011092BF010C94A91A41E0FE
:103DC00050E060E070E004C0440F551F661F771F8D
:103DD0008A95D2F74093BC015093BD016093BE0118
:103DE0007093BF010C94A91A41E050E060E070E0CC
:103DF00004C0440F551F661F771F8A95D2F7809124
:103E0000BC019091BD01A091BE01B091BF01482BB2
:103E1000592B6A2B7B2B4093BC015093BD016093BF
:103E2000BE017093BF010C94A91A41E050E060E01C
:103E300070E004C0440F551F661F771F8A95D2F7A4
:103E400040955095609570958091BC019091BD0111
:103E5000A091BE01B091BF01482359236A237B235F
:103E60004093BC015093BD016093BE017093BF01AC
:103E70000C94A91A41E050E060E070E004C0440FE7
:103E8000551F661F771F8A95D2F78091BC019091CC
:103E9000BD01A091BE01B091BF01482759276A27F3
:103EA0007B274093BC015093BD016093BE0170938A
:103EB000BF010C94A91A0F931F930091BC0110919C
:103EC000BD012091BE013091BF01DC01CB01802BEF
:103ED000912BA22BB32B8093BC019093BD01A09397
:103EE000BE01B093BF011F910F910C94A91A0F93BB
:103EF0001F930091BC011091BD012091BE01309132
:103F0000BF01DC01CB0180239123A223B323809343
:103F1000BC019093BD01A093BE01B093BF011F915E
:103F20000F910C94A91A0F931F930091BC0110914B
:103F3000BD012091BE013091BF01DC01CB01802782
:103F40009127A227B3278093BC019093BD01A09332
:103F5000BE01B093BF011F910F910C94A91A08954F
:103F6000CF92DF92EF92FF920F931F93CF93DF9345
:103F70008C01C090C001D090C101E090C201F090CE
:103F8000C3014091BC015091BD016091BE0170918F
:103F9000BF01C42AD52AE62AF72ACFE1D0E0D7010B
:103FA000C6010C2E04C0B695A795979587950A94DF
:103FB000D2F780FF07C0B8018C2F0E94DA0B813046
:103FC000910531F4219758F7B80180E00E94DA0B8F
:103FD000DF91CF911F910F91FF90EF90DF90CF90E5
:103FE000089590910C01992321F090910D01911168
:103FF00009C020910E0130910F01F90132969FEF17
:1040000040E030C0982F9695969596959F30A0F4F5
:10401000E0910E01F0910F01E90FF11D877021E091
:1040200030E0A90102C0440F551F8A95E2F7CA018A
:104030009181892B818308959091D70190FF23C0AE
:104040001F928F9387ED95E09F938F930E94EB07CC
:104050000F900F900F900F9008959F3F39F04F5F92
:104060004E3041F051915813F8CF0DC05111F7CF98
:10407000942FF5CF9F3F39F0F901E90FF11D97FD1E
:10408000FA9582830895089590910C01992321F067
:1040900090910D01911109C020910E0130910F01F5
:1040A000F9013296205F3F4F30C0982F9695969534
:1040B00096959F30A8F4E0910E01F0910F01E90F61
:1040C000F11D877021E030E0A90102C0440F551FA7
:1040D0008A95E2F7CA0180959181892381830895A9
:1040E0009091D70190FF16C01F928F9389EB95E0B6
:1040F0009F938F930E94EB070F900F900F900F905C
:1041000008953196E217F30729F090819813F9CFBB
:104110001082F7CF089581E090E0E0910E01F091D8
:104120000F01E80FF91F1082019680319105A9F760
:1041300008959091D601892B8093D601089580959A
:104140009091D60189238093D60108951092D601CB
:1041500008959091D501892B8093D501089580957C
:104160009091D50189238093D50108951092D501AE
:1041700008958093C40108951092C4010895809118
:104180000E0190910F01FC0131969C01205F3F4F81
:1041900080E0919191118F5FE217F307D1F70895B5
:1041A000E0910E01F0910F018091D6018083E091A2
:1041B0000E01F0910F0190818091D501892B8083B0
:1041C0008091C401882361F0E0910E01F0910F010C
:1041D0009081892B80830E94BF2081111092C4019D
:1041E00080910E0190910F010C94EB1490933B0180
:1041F00080933A010895CF92DF92EF92FF926C0183
:10420000EE24FF24C114D104E104F10421F0C7011C
:10421000B60120E101C020E0C72ED82EE92EFF24F0
:10422000C114D104E104F10419F0285FC701B601FB
:104230006B017C0154E0F694E794D794C7945A95A7
:10424000D1F7C114D104E104F10419F02C5FC701C6
:10425000B6016B017C0142E0F694E794D794C794D1
:104260004A95D1F7C114D104E104F10419F02E5F8D
:10427000C701B601DC01CB01B695A7959795879547
:10428000892B8A2B8B2B09F02F5F822FFF90EF90C9
:10429000DF90CF9008958295982F9C7C392F36958A
:1042A0003695282F237344E0249FC0011124932FB7
:1042B000982B292F2A7A2695892F8575880F822B8E
:1042C00008951F93CF93DF931F92CDB7DEB79983E5
:1042D0000E944B21182F9981892F0E944B21212F59
:1042E00030E0322F2227A901482BCA010F90DF911D
:1042F000CF911F9108958091F001843009F11092BF
:10430000D80120E488E190E00FB6F894A895809356
:1043100060000FBE2093600083B7817F846083BFFD
:1043200083B7816083BF7894889583B78E7F83BF7E
:1043300088E10FB6F89480936000109260000FBE81
:10434000089508950895CF930E94A1210E947F09A6
:104350000E94A221C0E08C2F0E94AB0A811104C0F0
:10436000CF5FCE30C1F701C081E0CF9108950C94AA
:10437000BB1A82E084BD93E095BD9AEF97BD809310
:104380006E0008952FB7F8948091D9019091DA01C9
:10439000A091DB01B091DC012FBF0895CF92DF9295
:1043A000EF92FF920F931F932FB7F8944091D9018A
:1043B0005091DA016091DB017091DC012FBF6A013D
:1043C0007B01EE24FF248C0120E030E0C016D106F2
:1043D000E206F30610F4415051099A01281B390BEB
:1043E000C9011F910F91FF90EF90DF90CF9008953A
:1043F0001F920F920FB60F9211248F939F93AF933A
:10440000BF938091D9019091DA01A091DB01B09125
:10441000DC010196A11DB11D8093D9019093DA01B1
:10442000A093DB01B093DC01BF91AF919F918F917D
:104430000F900FBE0F901F9018950E94DD11F894F9
:104440002FEF87EA91E6215080409040E1F700C0CD
:10445000000087E090EBDC018093F9019093FA0172
:10446000A093FB01B093FC019CE088E10FB6F894A7
:10447000A895809360000FBE90936000FFCFEF92ED
:10448000FF920F931F93CF93DF93D82FC0E08C2F11
:104490000E94AB0A00E010E0E82EF12CC701002ECC
:1044A00002C0959587950A94E2F780FD06C00F5FDC
:1044B0001F4F0630110591F709C0602F7C2F80E057
:1044C0000E94B80BD813F3CF81E004C0CF5FCE3089
:1044D000F1F680E0DF91CF911F910F91FF90EF9067
:1044E0000895CF93C82F8CE20E943F22882321F0A9
:1044F0008C2FCF910C943F2280E0CF910895CF93E1
:104500000E94CE23811102C00E94B4238CEF95E05B
:104510000E945207C5E6C15049F00E947F098FE30F
:104520009CE90197F1F700C00000F5CF85EF95E019
:104530000E94520789E20E947122811113C18AE20E
:104540000E94712281110E94B42385E00E94712291
:1045500081110E941D220E94D9238093D70187E0F8
:104560000E9471228823A9F18BE10E947122882385
:1045700051F08091D70181FB222720F991E0922709
:1045800090FB81F90EC08EE00E947122882361F0B9
:104590008091D70182FB222720F991E0922790FB9E
:1045A00082F98093D70115C080E10E947122909119
:1045B000D701882341F093FB222720F981E082274D
:1045C00080FB93F904C0892F809580FB90F990932C
:1045D000D7018091D7010E94DD230E94EB238093B5
:1045E000EA0180EE0E947122882341F08091EA0165
:1045F000982F909590FB80F98093EA0189E30E94BF
:104600007122882359F08091EA0181FB222720F949
:1046100091E0922790FB81F98093EA0182EE0E945B
:104620007122882359F08091EA0182FB222720F928
:1046300091E0922790FB82F98093EA0186EE0E9436
:104640007122882359F08091EA0183FB222720F907
:1046500091E0922790FB83F98093EA0183EE0E9418
:104660007122882359F08091EA0184FB222720F9E6
:1046700091E0922790FB84F98093EA0185E30E9400
:104680007122882359F08091EA0185FB222720F9C5
:1046900091E0922790FB85F98093EA0181E30E94E3
:1046A0007122882359F08091EA0186FB222720F9A4
:1046B00091E0922790FB86F98093EA0181E10E94C4
:1046C0007122882359F08091EA0187FB222720F983
:1046D00091E0922790FB87F98093EA018091EA01AB
:1046E0000E94EF238091EA0187FB882780F980935D
:1046F0000D0187E20E947122C82F8EE10E94712273
:104700008111C2608FE10E9471228111C46080E238
:104710000E9471228111C86081E20E947122811180
:10472000C06182E20E9471228111C06283E20E9414
:1047300071228111C06484E20E947122882311F0E9
:10474000C06802C0CC2329F08C2F0E94E6236C2F76
:1047500003C00E94E223682F70E080E090E0CF91D8
:104760000C94771ECF9108956DEE7EEF80E090E07F
:104770000E94B72D60E082E090E00E94A92D60E0E9
:1047800083E090E00E94A92D60E084E090E00E9428
:10479000A92D60E085E090E00C94A92D80E090E0E8
:1047A0000E94A32D21E08D3E9E4F09F020E0822F34
:1047B000089582E090E00C949B2D682F82E090E0B9
:1047C0000C94A92D83E090E00C949B2D682F83E03E
:1047D00090E00C94A92D84E090E00C949B2D682F20
:1047E00084E090E00C94A92D8091DF0180FF0BC044
:1047F0006091130185E0689FB0011124759567955C
:10480000759567952BC081FF09C06091130185E004
:10481000689FB00111247595679520C082FF07C07D
:104820006091130185E0689FB001112417C0909139
:10483000E0019923D1F060911201961788F7209139
:10484000130185E0289F90011124929FA001939F5E
:10485000500D112470E0CA010E946D2D6038710561
:1048600040F46115710539F002C065E070E0862FF3
:1048700008958FE7089581E008958091DF0180FF1A
:1048800008C06091110170E0759567957595679501
:1048900021C081FF06C06091110170E07595679598
:1048A00019C082FF04C06091110170E010C09091A6
:1048B000E0019923C1F0609110019617A0F7809153
:1048C0001101899FC001112470E00E946D2D603894
:1048D000710528F46115710521F0862F08958FE781
:1048E000089581E0089561E070E0F4CF803F21F405
:1048F0000E94F423819504C0813F29F40E94F4238F
:104900008093E3010895823F21F40E94F42381956E
:1049100004C0833F29F40E94F4238093E2010895A8
:10492000893F19F40E943D2405C08A3F31F40E945A
:104930003D2481958093E40108958B3F21F40E94EA
:104940003D24819504C08C3F29F40E943D2480932E
:10495000E5010895843F21F48091E101816017C051
:10496000853F21F48091E101826011C0863F21F4EE
:104970008091E10184600BC0873F21F48091E101C7
:10498000886005C0883F31F48091E10180618093A7
:10499000E10108958D3F21F48091DF0181600BC01A
:1049A0008E3F21F48091DF01826005C08F3F29F4A2
:1049B0008091DF0184608093DF010895803F39F4A6
:1049C0008091E30187FF6CC01092E30169C0813FD1
:1049D00029F48091E3011816BCF362C09091E201C2
:1049E000823F29F497FF5CC01092E20159C0833FD7
:1049F00019F41916CCF354C0893F41F48091E401B5
:104A000018160CF04DC01092E4014AC08A3F29F4F8
:104A10008091E40187FF44C0F6CF8B3F39F4809149
:104A2000E50187FF3DC01092E5013AC08C3F29F4B3
:104A30008091E5011816BCF333C0843F21F48091C6
:104A4000E1018E7F17C0853F21F48091E1018D7FC8
:104A500011C0863F21F48091E1018B7F0BC0873F1D
:104A600021F48091E101877F05C0883F31F4809176
:104A7000E1018F7E8093E10113C08D3F21F480918D
:104A8000DF018E7F0BC08E3F21F48091DF018D7F8F
:104A900005C08F3F29F48091DF018B7F8093DF0178
:104AA0008091E20181110EC08091E30181110AC061
:104AB0008091E401811106C08091E501811102C05D
:104AC0001092E00108958091D70183FF7EC088E3B2
:104AD00096E00E9452078091E1011F928F9383E339
:104AE00096E09F938F930E94EB0781E396E00E94EC
:104AF00052078091E201282F332727FD30953F93FD
:104B00008F938EE296E09F938F930E94EB078CE247
:104B100096E00E9452078091E301282F332727FD5A
:104B200030953F938F9389E296E09F938F930E94F5
:104B3000EB0787E296E00E9452078091E401282F5C
:104B4000332727FD30953F938F9384E296E09F9320
:104B50008F930E94EB0782E296E00E9452078091B9
:104B6000E501282F332727FD30953F938F938FE161
:104B700096E09F938F930E94EB078CE196E00E9452
:104B800052078091E0011F928F9389E196E09F93F5
:104B90008F930E94EB0787E196E00E945207809175
:104BA000DF011F928F9384E196E09F938F930E9481
:104BB000EB0781E196E00E9452078DB79EB74C96B5
:104BC0000FB6F8949EBF0FBE8DBF81EE91E00E949C
:104BD00034150E94C2219093DE018093DD01089577
:104BE0001F93CF93DF938091DD019091DE010E94AE
:104BF000CE21AC019091E001992321F02091140184
:104C000030E006C0209115018AE0289F9001112410
:104C10004217530708F486C08091E201C091E30176
:104C2000D091E4011091E501811107C0C11176C056
:104C3000D11174C0111172C075C09F3F19F09F5FF0
:104C40009093E001181624F40E94F4238093E2016B
:104C50008091E20187FF05C00E94F4238195809333
:104C6000E2011C1624F40E94F4238093E301809156
:104C7000E30187FF05C00E94F42381958093E3013F
:104C80006091E201662339F1C091E301CC2319F16F
:104C9000772767FD7095872F972F0E94722C23E34B
:104CA00033E343E35FE30E94D62C0E943F2C6093E2
:104CB000E2016C2F772767FD7095872F972F0E9451
:104CC000722C23E333E343E35FE30E94D62C0E947C
:104CD0003F2C6093E3011D1624F40E943D24809331
:104CE000E4018091E40187FF05C00E943D24819585
:104CF0008093E401111624F40E943D248093E50181
:104D00008091E50187FF05C00E943D248195809335
:104D1000E501DF91CF911F910C9463259F3F09F02E
:104D20008ECF96CFDF91CF911F910895E1EEF1E004
:104D300085E0DF011D928A95E9F71092E00110925B
:104D4000DF0108958BE598E00E9452071F9281E0F1
:104D50008F931F9285E08F938DE098E09F938F93C0
:104D60000E94EB070F900F900F900F900F900F90F5
:104D700008958330E9F128F4813061F0823009F13F
:104D80000895853009F462C008F449C0863009F4FA
:104D900074C0089580911501262F30E0280F311D31
:104DA0002F3F310524F4680F6093150103C08FEF86
:104DB00080931501809115011F928F9386E497E0EF
:104DC00072C080911401262F30E0280F311D2F3F33
:104DD000310524F4680F6093140103C08FEF8093B2
:104DE0001401809114011F928F9384E397E05BC0BC
:104DF00080911301262F30E0280F311D2F3F310500
:104E000024F4680F6093130103C08FEF80931301A4
:104E1000809113011F928F9381E297E044C08091AB
:104E20001201262F30E0280F311D2F3F310524F4C9
:104E3000680F6093120103C08FEF8093120180917D
:104E400012011F928F938CE097E02DC08091110189
:104E5000262F30E0280F311D2F3F310524F4680F35
:104E60006093110103C08FEF8093110180911101B4
:104E70001F928F9383EF96E016C080911001262F2A
:104E800030E0280F311D2F3F310524F4680F609367
:104E9000100103C08FEF80931001809110011F92C9
:104EA0008F9388ED96E09F938F930E94EB070F906E
:104EB0000F900F900F900895833081F128F4813086
:104EC00059F08230D1F00895853009F449C0B8F125
:104ED000863009F456C0089580911501681720F4B2
:104EE000861B8093150102C0109215018091150157
:104EF0001F928F9389EC96E054C08091140168173B
:104F000020F4861B8093140102C01092140180913A
:104F100014011F928F9387EB96E043C08091130199
:104F2000681720F4861B8093130102C010921301AE
:104F3000809113011F928F9384EA96E032C0809192
:104F40001201681720F4861B8093120102C0109290
:104F50001201809112011F928F938FE896E021C079
:104F600080911101681720F4861B8093110102C003
:104F700010921101809111011F928F9386E796E0A4
:104F800010C080911001681720F4861B80931001D7
:104F900002C010921001809110011F928F938BE537
:104FA00096E09F938F930E94EB070F900F900F90C6
:104FB0000F900895CF93C82F1F928F9380E699E0AA
:104FC0009F938F930E94EB0781E090E0A0E0B0E018
:104FD000BC01CD0104C0660F771F881F991FCA95B9
:104FE000D2F70E94771E0F900F900F900F90CF91E5
:104FF0000C94BB1ACF938D3109F465C0B0F58E3097
:1050000009F4CCC100F5873009F49BC1A8F48630BF
:1050100009F06DC28091D701817F8E7F8093D70187
:1050200085E699E00E94520781EA9DE00E945207BE
:1050300081E08093E70180C1883009F44FC08B3054
:1050400009F47CC154C2863109F4F0C138F48031CE
:1050500009F4B8C1813109F430C249C2893109F477
:10506000CEC18B3109F486C142C2853309F437C2FF
:1050700048F4873209F433C208F433C2893209F4A0
:105080002EC235C2833438F48A3308F02CC28833F8
:1050900009F454C12CC2833409F421C2883409F0C4
:1050A00026C20E94BB1A80E99DE00E9452079FEF32
:1050B00023ED80E3915020408040E1F700C00000E4
:1050C0000E941D2239C180EB9DE00E9452070E9480
:1050D000F92B0E94DF140E94110D2EC185EA9DE07C
:1050E0000E94520786E79BE00E9452070E94E2233B
:1050F0001F928F9383E79BE09F938F930E94EB0710
:1051000081E79BE00E9452070E94D923C82F8EE5B9
:105110009BE00E9452071F92CF9389E59BE09F93EB
:105120008F930E94EB0787E59BE00E9452078DE476
:105130009BE00E9452078C2F81701F928F938AE40C
:105140009BE09F938F930E94EB0788E49BE00E9473
:1051500052078EE39BE00E945207C1FB882780F92B
:105160001F928F938BE39BE09F938F930E94EB079B
:1051700089E39BE00E9452078DE29BE00E94520768
:10518000C2FB882780F91F928F938AE29BE09F934E
:105190008F930E94EB0788E29BE00E9452078FE109
:1051A0009BE00E945207C3FBCC27C0F91F92CF930C
:1051B0008CE19BE09F938F930E94EB078AE19BE039
:1051C0000E9452070E94EB23C82F86E09BE00E94BA
:1051D00052071F92CF9381E09BE09F938F930E9491
:1051E000EB078FEF9AE00E94520786EE9AE00E944A
:1051F00052078C2F81701F928F9383EE9AE09F93BA
:105200008F930E94EB078DB79EB780960FB6F894E8
:105210009EBF0FBE8DBF81EE9AE00E9452078AECBE
:105220009AE00E945207C1FB882780F91F928F9352
:1052300087EC9AE09F938F930E94EB0785EC9AE0AE
:105240000E94520783EB9AE00E945207C2FB882714
:1052500080F91F928F9380EB9AE09F938F930E9427
:10526000EB078EEA9AE00E9452078CE99AE00E94CE
:105270005207C3FB882780F91F928F9389E99AE030
:105280009F938F930E94EB0787E99AE00E94520751
:105290008DE89AE00E945207C4FB882780F91F928C
:1052A0008F938AE89AE09F938F930E94EB0788E898
:1052B0009AE00E94520786E79AE00E945207C5FBD7
:1052C000882780F91F928F9383E79AE09F938F93AB
:1052D0000E94EB0781E79AE00E94520785E59AE079
:1052E0000E945207C6FB882780F91F928F9382E5A0
:1052F0009AE09F938F930E94EB0780E59AE00E94CB
:10530000520788E49AE00E945207C7FBCC27C0F9F5
:105310001F92CF9385E49AE09F938F930E94EB07AF
:1053200083E49AE00E9452078DB79EB74C960FB661
:10533000F8949EBF0FBE8DBFC1E0DEC08CE899E03F
:105340005BC08091D701C82FC17080FF09C083E87E
:105350009DE00E9452078091D701817F8E7F47C0D8
:1053600087E79DE00E9452078091D701816080937A
:10537000D701E2CF9091D70191FBCC27C0F981E012
:10538000C827892FC0FB81F98093D701CC2319F05E
:105390008AE69DE027C08CE59DE02EC09091D70164
:1053A00092FBCC27C0F981E0C827892FC0FB82F986
:1053B0008093D701CC2319F08DE49DE013C08DE3D9
:1053C0009DE01AC09091D70193FBCC27C0F981E0F2
:1053D000C827892FC0FB83F98093D701CC2351F0D4
:1053E00081E39DE00E9452078091D7018160809304
:1053F000D70182C084E29DE00E9452079DCF85E1E3
:105400009DE00E94520789EE9CE00E9452078CEAC0
:105410009CE00E94520785E89CE00E94520781E4CC
:105420009CE00E94520786E19CE0E6CF88E09CE089
:105430000E9452070E94DF141F928F938EEE9BE012
:105440009F938F930E94EB0780910C011F928F9383
:1054500087ED9BE09F938F930E94EB0780916E01F5
:105460001F928F9384EC9BE09F938F930E94EB0796
:1054700080910D011F928F9381EB9BE09F938F93FF
:105480000E94EB078091D9019091DA01A091DB0194
:10549000B091DC01BF93AF939F938F938DE99BE015
:1054A0009F938F930E94EB078DB79EB746960FB6DA
:1054B000F8949EBF0FBE8DBF3FCF0E94BB1AC09114
:1054C0000D0181E0C827C0930D01CC2329F083E9A9
:1054D0009BE00E94520710C088E89BE08DCF80E0DF
:1054E00003C08D5101C089530E94DA2725CF86E879
:1054F0009BE00E945207C0E08C2FCF91089580E07E
:10550000089580E00895CF93C82F8091E7018130FE
:1055100081F020F0823009F44FC045C1E0910E01C6
:10552000F0910F018081813169F0823209F03DC133
:1055300009C0E0910E01F0910F018081813111F0DD
:10554000823261F48C2F0E947F2A811104C08C2F3B
:105550000E94FA272FC081E090E02CC08C2F0E947F
:10556000812A811126C0C431E1F070F4CB3081F082
:10557000C031D1F40E94A22688E599E00E9452072A
:1055800082E08093E70115C0C93259F0C83361F455
:1055900085E699E00E9452078CE599E00E94520747
:1055A00008C01092E70103C186E599E00E94520706
:1055B000FEC081E08170FDC0C43220F5CE3108F01C
:1055C000C0C0CB3099F1C8F4C73009F0D2C08AE02E
:1055D0008093150194E19093140193E0909313014B
:1055E0008093120188E08093110188E2809310017A
:1055F0008CEF97E00E945207BFC0C33149F1C4311C
:10560000C1F0B7C0CB3409F4A9C028F4C93289F07D
:10561000C83361F0AEC0C13509F49EC0C23509F48B
:1056200099C0CE3409F0A5C06AE09EC00E94A226AF
:10563000A3C08091E601882319F01092E6019CC076
:1056400089E098E00E94520781E08093E701B1C0B1
:1056500083EE97E00E94520781ED97E00E94520787
:10566000809115011F928F938EEC97E09F938F93FB
:105670000E94EB078CEC97E00E9452078AEB97E0C0
:105680000E945207809114011F928F9387EB97E03D
:105690009F938F930E94EB0785EB97E00E94520740
:1056A00086EA97E00E945207809113011F928F9320
:1056B00083EA97E09F938F930E94EB0781EA97E03C
:1056C0000E94520780E997E00E94520780911201E0
:1056D0001F928F938DE897E09F938F930E94EB0723
:1056E0008BE897E00E94520786E797E00E945207F6
:1056F000809111011F928F9383E797E09F938F937F
:105700000E94EB0781E797E00E9452078AE597E045
:105710000E945207809110011F928F9387E597E0B6
:105720009F938F930E94EB0785E597E00E945207B5
:105730008DB79EB748960FB6F8949EBF0FBE8DBF2B
:105740001BC0CE51EC2FF0E0E15DFE4F80818093D5
:10575000E60112C061E003C061E006C06AE080912A
:10576000E6010E94B92608C08091E6010E945C27EC
:1057700003C08AEF97E013C08091E601882369F0A7
:105780001F928F9384EF97E09F938F930E94EB0774
:105790000F900F900F900F9004C081EF97E00E9440
:1057A000520781E006C01092E70180E002C080E06D
:1057B00001CFCF910895E1E8F0E080818860808397
:1057C0008081816080838FB7F89493E09093890003
:1057D00090ED909388008FBF0895EFE6F0E0808110
:1057E000826080830895EFE6F0E080818D7F808382
:1057F0000895EFE6F0E0908182E0892780830895A4
:105800001F920F920FB60F9211242F933F934F9335
:105810005F936F937F938F939F93AF93BF93EF9318
:10582000FF938091E8019091E90101969093E9013D
:105830008093E801811103C082E00E94110DE09184
:10584000E901E695E695F0E0E054F24FE4918091AD
:10585000E8018E1303C080E00E94110DFF91EF91CB
:10586000BF91AF919F918F917F916F915F914F9178
:105870003F912F910F900FBE0F901F90189504D05D
:105880006894B1118DC0089570D088F09F5790F042
:10589000B92F9927B751A0F0D1F0660F771F881F55
:1058A000991F1AF0BA95C9F712C0B13081F077D0BC
:1058B000B1E0089574C0672F782F8827B85F39F05A
:1058C000B93FCCF3869577956795B395D9F73EF4B4
:1058D00090958095709561957F4F8F4F9F4F08955C
:1058E000E89409C097FB3EF490958095709561957A
:1058F0007F4F8F4F9F4F9923A9F0F92F96E9BB2730
:105900009395F695879577956795B795F111F8CFAB
:10591000FAF4BB0F11F460FF1BC06F5F7F4F8F4F16
:105920009F4F16C0882311F096E911C0772321F00C
:105930009EE8872F762F05C0662371F096E8862FA4
:1059400070E060E02AF09A95660F771F881FDAF7FB
:10595000880F9695879597F9089557FD9058440FAD
:10596000551F59F05F3F71F04795880F97FB991FBE
:1059700061F09F3F79F0879508951216130614067B
:10598000551FF2CF4695F1DF08C016161706180608
:10599000991FF1CF86957105610508940895E894E3
:1059A000BB2766277727CB0197F908950BD078C0DE
:1059B00069D028F06ED018F0952309F05AC05FC066
:1059C0001124EECFCADFA0F3959FD1F3950F50E0DD
:1059D000551F629FF001729FBB27F00DB11D639FA1
:1059E000AA27F00DB11DAA1F649F6627B00DA11D47
:1059F000661F829F2227B00DA11D621F739FB00DED
:105A0000A11D621F839FA00D611D221F749F33275C
:105A1000A00D611D231F849F600D211D822F762FF5
:105A20006A2F11249F5750408AF0E1F088234AF0F2
:105A3000EE0FFF1FBB1F661F771F881F915050403E
:105A4000A9F79E3F510570F014C0AACF5F3FECF359
:105A5000983EDCF3869577956795B795F795E7952A
:105A60009F5FC1F7FE2B880F911D9695879597F93B
:105A7000089597F99F6780E870E060E008959FEFD0
:105A800080EC089500240A941616170618060906D5
:105A9000089500240A9412161306140605060895A4
:105AA000092E0394000C11F4882352F0BB0F40F42C
:105AB000BF2B11F460FF04C06F5F7F4F8F4F9F4F6C
:105AC0000895991B79E004C0991F961708F0961B5A
:105AD000881F7A95C9F78095089597FB072E16F4CD
:105AE000009407D077FD09D00E94872D07FC05D0D0
:105AF0003EF4909581959F4F0895709561957F4FE5
:105B00000895EE0FFF1F0590F491E02D0994AA1B54
:105B1000BB1B51E107C0AA1FBB1FA617B70710F098
:105B2000A61BB70B881F991F5A95A9F780959095CA
:105B3000BC01CD010895F999FECF92BD81BDF89ABF
:105B4000992780B50895A8E1B0E042E050E00C94B8
:105B5000BE2D262FF999FECF1FBA92BD81BD20BD63
:105B60000FB6F894FA9AF99A0FBE019608950E941A
:105B7000A92D272F0C94AA2DDC01CB01FC01F9994A
:105B8000FECF06C0F2BDE1BDF89A319600B40D9289
:0C5B900041505040B8F70895F894FFCF42
:105B9C002002120D030EE00DAC0D780D0101C501B4
:105BAC0028080A03140A3F4D3620394605F904C368
:105BBC0004A3046A04DD03F6030F0428044804015B
:0A5BCC0002030405060708090000A3
:00000001FF

@ -8,6 +8,7 @@
#include "suspend_avr.h" #include "suspend_avr.h"
#include "suspend.h" #include "suspend.h"
#include "timer.h" #include "timer.h"
#include "led.h"
#ifdef PROTOCOL_LUFA #ifdef PROTOCOL_LUFA
#include "lufa.h" #include "lufa.h"
#endif #endif
@ -64,6 +65,10 @@ static void power_down(uint8_t wdto)
// Watchdog Interrupt Mode // Watchdog Interrupt Mode
wdt_intr_enable(wdto); wdt_intr_enable(wdto);
#ifdef BACKLIGHT_ENABLE
backlight_set(0);
#endif
// TODO: more power saving // TODO: more power saving
// See PicoPower application note // See PicoPower application note
// - I/O port input with pullup // - I/O port input with pullup
@ -89,6 +94,9 @@ __attribute__ ((weak)) void matrix_power_up(void) {}
__attribute__ ((weak)) void matrix_power_down(void) {} __attribute__ ((weak)) void matrix_power_down(void) {}
bool suspend_wakeup_condition(void) bool suspend_wakeup_condition(void)
{ {
#ifdef BACKLIGHT_ENABLE
backlight_set(0);
#endif
matrix_power_up(); matrix_power_up();
matrix_scan(); matrix_scan();
matrix_power_down(); matrix_power_down();
@ -104,8 +112,10 @@ void suspend_wakeup_init(void)
// clear keyboard state // clear keyboard state
clear_keyboard(); clear_keyboard();
#ifdef BACKLIGHT_ENABLE #ifdef BACKLIGHT_ENABLE
backlight_set(0);
backlight_init(); backlight_init();
#endif #endif
led_set(host_keyboard_leds());
} }
#ifndef NO_SUSPEND_POWER_DOWN #ifndef NO_SUSPEND_POWER_DOWN
@ -122,3 +132,4 @@ ISR(WDT_vect)
} }
} }
#endif #endif

Loading…
Cancel
Save