summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErez Zukerman <ezuk@madmimi.com>2015-10-28 04:07:15 +0200
committerErez Zukerman <ezuk@madmimi.com>2015-10-28 04:07:15 +0200
commitd3db8d62f6fc6a7dee43978ddc8356579b502b37 (patch)
tree6d9445482ff1fd7d564fbc8494344056a120461e
parent2739aa8d780a8210eac30a284786d60dedc671bc (diff)
More work on ErgoDox EZ default keymap
-rw-r--r--keyboard/ergodox_ez/Makefile16
-rw-r--r--keyboard/ergodox_ez/config.h2
-rw-r--r--keyboard/ergodox_ez/ergodox_ez.c29
-rw-r--r--keyboard/ergodox_ez/ergodox_ez.h21
-rw-r--r--keyboard/ergodox_ez/ergodox_ez.hex2880
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_default.c46
-rw-r--r--keyboard/ergodox_ez/matrix.c4
-rw-r--r--quantum/keymap_common.c7
-rw-r--r--quantum/keymap_common.h7
9 files changed, 1442 insertions, 1570 deletions
diff --git a/keyboard/ergodox_ez/Makefile b/keyboard/ergodox_ez/Makefile
index f9260b1ced..16ced9032b 100644
--- a/keyboard/ergodox_ez/Makefile
+++ b/keyboard/ergodox_ez/Makefile
@@ -27,7 +27,8 @@ TARGET_DIR = .
# # project specific files
SRC = ergodox_ez.c \
- twimaster.c
+ twimaster.c \
+ matrix.c
ifdef KEYMAP
SRC := keymaps/keymap_$(KEYMAP).c $(SRC)
@@ -84,17 +85,18 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
# Atmel DFU loader 4096
# LUFA bootloader 4096
# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+OPT_DEFS += -DBOOTLOADER_SIZE=512
# Build Options
# comment out to disable the options.
#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
# NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
diff --git a/keyboard/ergodox_ez/config.h b/keyboard/ergodox_ez/config.h
index 850d245791..583ad84f58 100644
--- a/keyboard/ergodox_ez/config.h
+++ b/keyboard/ergodox_ez/config.h
@@ -52,7 +52,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 2
-#define TAPPING_TERM 100
+#define TAPPING_TERM 200
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboard/ergodox_ez/ergodox_ez.c b/keyboard/ergodox_ez/ergodox_ez.c
index f7e156b319..78e956a042 100644
--- a/keyboard/ergodox_ez/ergodox_ez.c
+++ b/keyboard/ergodox_ez/ergodox_ez.c
@@ -4,10 +4,6 @@
bool i2c_initialized = 0;
uint8_t mcp23018_status = 0x20;
-bool ergodox_left_led_1 = 0; // left top
-bool ergodox_left_led_2 = 0; // left middle
-bool ergodox_left_led_3 = 0; // left bottom
-
__attribute__ ((weak))
void * matrix_init_user(void) {
@@ -92,32 +88,7 @@ uint8_t init_mcp23018(void) {
out:
i2c_stop();
- if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update();
-
return mcp23018_status;
}
-uint8_t ergodox_left_leds_update(void) {
- if (mcp23018_status) { // if there was an error
- return mcp23018_status;
- }
-
- // set logical value (doesn't matter on inputs)
- // - unused : hi-Z : 1
- // - input : hi-Z : 1
- // - driving : hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(OLATA); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111
- & ~(ergodox_left_led_3<<LEFT_LED_3_SHIFT)
- ); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111
- & ~(ergodox_left_led_2<<LEFT_LED_2_SHIFT)
- & ~(ergodox_left_led_1<<LEFT_LED_1_SHIFT)
- ); if (mcp23018_status) goto out;
-
-out:
- i2c_stop();
- return mcp23018_status;
-}
diff --git a/keyboard/ergodox_ez/ergodox_ez.h b/keyboard/ergodox_ez/ergodox_ez.h
index 219b4bd0b6..3989a2f3ac 100644
--- a/keyboard/ergodox_ez/ergodox_ez.h
+++ b/keyboard/ergodox_ez/ergodox_ez.h
@@ -37,29 +37,16 @@ uint8_t ergodox_left_leds_update(void);
#define LED_BRIGHTNESS_LO 31
#define LED_BRIGHTNESS_HI 255
-#define LEFT_LED_1_SHIFT 7 // in MCP23018 port B
-#define LEFT_LED_2_SHIFT 6 // in MCP23018 port B
-#define LEFT_LED_3_SHIFT 7 // in MCP23018 port A
-
-extern bool ergodox_left_led_1; // left top
-extern bool ergodox_left_led_2; // left middle
-extern bool ergodox_left_led_3; // left bottom
inline void ergodox_board_led_on(void) { DDRD |= (1<<6); PORTD |= (1<<6); }
inline void ergodox_right_led_1_on(void) { DDRB |= (1<<5); PORTB |= (1<<5); }
inline void ergodox_right_led_2_on(void) { DDRB |= (1<<6); PORTB |= (1<<6); }
inline void ergodox_right_led_3_on(void) { DDRB |= (1<<7); PORTB |= (1<<7); }
-inline void ergodox_left_led_1_on(void) { ergodox_left_led_1 = 1; }
-inline void ergodox_left_led_2_on(void) { ergodox_left_led_2 = 1; }
-inline void ergodox_left_led_3_on(void) { ergodox_left_led_3 = 1; }
inline void ergodox_board_led_off(void) { DDRD &= ~(1<<6); PORTD &= ~(1<<6); }
inline void ergodox_right_led_1_off(void) { DDRB &= ~(1<<5); PORTB &= ~(1<<5); }
inline void ergodox_right_led_2_off(void) { DDRB &= ~(1<<6); PORTB &= ~(1<<6); }
inline void ergodox_right_led_3_off(void) { DDRB &= ~(1<<7); PORTB &= ~(1<<7); }
-inline void ergodox_left_led_1_off(void) { ergodox_left_led_1 = 0; }
-inline void ergodox_left_led_2_off(void) { ergodox_left_led_2 = 0; }
-inline void ergodox_left_led_3_off(void) { ergodox_left_led_3 = 0; }
inline void ergodox_led_all_on(void)
{
@@ -67,10 +54,6 @@ inline void ergodox_led_all_on(void)
ergodox_right_led_1_on();
ergodox_right_led_2_on();
ergodox_right_led_3_on();
- ergodox_left_led_1_on();
- ergodox_left_led_2_on();
- ergodox_left_led_3_on();
- ergodox_left_leds_update();
}
inline void ergodox_led_all_off(void)
@@ -79,10 +62,6 @@ inline void ergodox_led_all_off(void)
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
- ergodox_left_led_1_off();
- ergodox_left_led_2_off();
- ergodox_left_led_3_off();
- ergodox_left_leds_update();
}
inline void ergodox_right_led_1_set(uint8_t n) { OCR1A = n; }
diff --git a/keyboard/ergodox_ez/ergodox_ez.hex b/keyboard/ergodox_ez/ergodox_ez.hex
index 21b6a9f916..00cfd73a7c 100644
--- a/keyboard/ergodox_ez/ergodox_ez.hex
+++ b/keyboard/ergodox_ez/ergodox_ez.hex
@@ -1,1468 +1,1416 @@
-:100000000C9456060C949A060C949A060C949A0634
-:100010000C949A060C949A060C949A060C949A06E0
-:100020000C949A060C949A060C94F7120C94C9132B
-:100030000C940B220C949A060C949A060C949A0633
-:100040000C949A060C949A060C949A060C949A06B0
-:100050000C949A060C9472220C949A060C949A06AC
-:100060000C949A060C949A060C949A060C949A0690
-:100070000C949A060C949A060C949A060C949A0680
-:100080000C949A060C949A060C949A060C949A0670
-:100090000C949A060C949A060C949A060C949A0660
-:1000A0000C949A060C949A060C949A0677077D078E
-:1000B0008407880788078607880781078C072E141E
-:1000C00050143B1550143B159214B5143B150A15EA
-:1000D0001D156B186B1899189918EE182A191B1B07
-:1000E0001B1B42191B1B391A391AF51A1B1B1B1B28
-:1000F000091B0000F0A12E004C002A00E100357120
-:1001000000001E00140004001D71E1044D001F00DA
-:100110001A0016001B002B002A0020000800070010
-:10012000060050002C0021001500090019004F00A6
-:100130004A00220017000A00050000007600500067
-:100140002B00000033020000E3004F0033020000E8
-:1001500001540000E60023001C000B001100000009
-:100160002971240018000D00100052004B002500DA
-:100170000C000E00360051002800260012000F006F
-:10018000370030002B0027001300337238712F0026
-:100190004E002D0031003400E500C1000000005089
-:1001A000010033020100010000003A001E0220029B
-:1001B0002202010001003B001F0221022302010074
-:1001C00001003C002F0226022F00010001003D002B
-:1001D000300227023000010001003E0038023500E5
-:1001E00035020000010001000100000001000000D4
-:1001F00001000100010000000100000001003F00BB
-:10020000520051002402000001004000240021009F
-:100210001E00010001004100250022001F003700E0
-:1002200001004200260023002000270001004300B7
-:1002300025022E0231002E0001004400450001007D
-:1002400001000100000001000100010001000100A7
-:10025000000001000100F2000100010001000100A6
-:10026000F000F10001000100010001000100F300B5
-:100270000100F60001000100010001000100F5008D
-:100280000100010001000100010000000100010067
-:100290000100000001000000010001000100000059
-:1002A0000100000001000100010001000100000048
-:1002B00001000100010001000100A900010001008E
-:1002C00001000100AC00AA00B60001000100AE0070
-:1002D000AB0001000100010001000100010001006C
-:1002E000010001000100A8000100010000000A4413
-:1002F000454255473A20656E61626C65642E0A007E
-:100300000A002530313662003A200025303258008C
-:100310000A722F6320303132333435363738394161
-:1003200042434445460A000A002530325800626FB5
-:10033000756E6365213A20005B735D004B657962E1
-:100340006F6172642073746172742E0A005B575D72
-:10035000005B535D005B525D005B445D005B435D91
-:100360000016034500720067006F0044006F0078BC
-:1003700000200045005A0000001603450072006787
-:10038000006F0044006F007800200045005A000014
-:10039000000403090409027400040100A0FA09041E
-:1003A00000000103010100092111010001223F00A9
-:1003B0000705810308000A09040100010301020086
-:1003C000092111010001224D000705820308000ADE
-:1003D00009040200010300000009211101000122AB
-:1003E00036000705830308000A090403000203001E
-:1003F00000000921110100012220000705840320CB
-:100400000001070504032000011201100100000093
-:1004100008EDFE07130100010200010631FF097417
-:10042000A1010975150025FF95207508810209763F
-:10043000150025FF952075089102C005010980A1CE
-:1004400001850216010026B7001A01002AB70075BF
-:100450001095018100C0050C0901A1018503160159
-:1004600000269C021A01002A9C0275109501810049
-:10047000C005010902A1010901A10005091901290D
-:10048000051500250195057501810295017503810A
-:10049000010501093009311581257F950275088113
-:1004A0000609381581257F950175088106050C0A16
-:1004B00038021581257F950175088106C0C00501A8
-:1004C0000906A101050719E029E71500250195088E
-:1004D0007501810295017508810105081901290539
-:1004E00095057501910295017503910105071900A4
-:1004F00029FF150025FF950675088100C00A002513
-:1005000030325820006B6579626F6172645F72658A
-:10051000706F72743A20000A0025303258006B6503
-:1005200079626F6172645F7365745F6C65643A20B1
-:1005300000646F6E652E0A00626F6F676D61676998
-:1005400063207363616E3A202E2E2E2000290A004C
-:100550002575002F002575005D280025640020000A
-:10056000256400200025640020002564007C00250F
-:10057000303258006D6F7573656B6579205B6274FE
-:100580006E7C782079207620685D287265702F61F6
-:10059000636C293A205B006D6B5F776865656C5F03
-:1005A00074696D655F746F5F6D6178203D202564AF
-:1005B0000A006D6B5F776865656C5F6D61785F736E
-:1005C00070656564203D2025640A006D6B5F746969
-:1005D0006D655F746F5F6D6178203D2025640A0052
-:1005E0006D6B5F6D61785F7370656564203D20257C
-:1005F000640A006D6B5F696E74657276616C203D94
-:100600002025640A006D6B5F64656C6179203D2074
-:1006100025640A006D6B5F776865656C5F74696D52
-:10062000655F746F5F6D6178203D2025640A006D01
-:100630006B5F776865656C5F6D61785F737065652A
-:1006400064203D2025640A006D6B5F74696D655FF1
-:10065000746F5F6D6178203D2025640A006D6B5FCB
-:100660006D61785F7370656564203D2025640A00C4
-:100670006D6B5F696E74657276616C203D202564D8
-:100680000A006D6B5F64656C6179203D2025640A0A
-:10069000000A00257500363A20776865656C5F743E
-:1006A000696D655F746F5F6D61783A20000A00259F
-:1006B0007500353A20776865656C5F6D61785F73AA
-:1006C000706565643A20000A00257500343A20748C
-:1006D000696D655F746F5F6D61783A20000A00256F
-:1006E0007500333A206D61785F73706565643A20F8
-:1006F000000A00257500323A20696E7465727661D1
-:100700006C286D73293A20000A00257500313A20C3
-:1007100064656C6179282A31306D73293A20000AAA
-:10072000092D2056616C756573202D0A004D3E0021
-:100730004D25643E20003F0073657420646566614A
-:10074000756C740A00433E2000776865726520640A
-:10075000656C74613A20637572736F723D25642C09
-:1007600020776865656C3D25640A5365652068746B
-:1007700074703A2F2F656E2E77696B6970656469A6
-:10078000612E6F72672F77696B692F4D6F75736577
-:100790005F6B6579730A000A092D204D6F757365CB
-:1007A0006B6579202D0A4553432F713A097175699C
-:1007B000740A313A0964656C6179282A31306D73A5
-:1007C000290A323A09696E74657276616C286D7314
-:1007D000290A333A096D61785F73706565640A347C
-:1007E0003A0974696D655F746F5F6D61780A353AB7
-:1007F00009776865656C5F6D61785F7370656564C6
-:100800000A363A09776865656C5F74696D655F746F
-:100810006F5F6D61780A0A703A097072696E7420B0
-:1008200076616C7565730A643A0973657420646552
-:100830006661756C74730A75703A092B310A646FBE
-:10084000776E3A092D310A706775703A092B31308D
-:100850000A7067646F776E3A092D31300A0A737037
-:10086000656564203D2064656C7461202A206D619B
-:10087000785F7370656564202A20287265706561F1
-:1008800074202F2074696D655F746F5F6D617829C6
-:100890000A003F004D3E2000433E20004C25640AE4
-:1008A000000A092D20436F6E736F6C65202D0A4579
-:1008B00053432F713A09717569740A6D3A096D6F66
-:1008C0007573656B65790A000A092D204D616769AA
-:1008D00063202D0A643A0964656275670A783A09EB
-:1008E0006465627567206D61747269780A6B3A0994
-:1008F0006465627567206B6579626F6172640A6D09
-:100900003A096465627567206D6F7573650A763A9A
-:100910000976657273696F6E0A733A09737461744C
-:1009200075730A633A09636F6E736F6C65206D6F40
-:1009300064650A302D343A096C61796572302D3462
-:10094000284631302D4634290A506175733A0962C0
-:100950006F6F746C6F616465720A653A09656570E2
-:10096000726F6D0A000A002575002E6E6B726F3A69
-:1009700020000A002575002E737761705F62616345
-:100980006B736C6173685F6261636B7370616365E5
-:100990003A20000A002575002E737761705F677238
-:1009A0006176655F6573633A20000A002575002E45
-:1009B0006E6F5F6775693A20000A002575002E7317
-:1009C0007761705F72616C745F726775693A20005D
-:1009D0000A002575002E737761705F6C616C745F1F
-:1009E0006C6775693A20000A002575002E636170F6
-:1009F000736C6F636B5F746F5F636F6E74726F6C39
-:100A00003A20000A002575002E737761705F636FCE
-:100A10006E74726F6C5F636170736C6F636B3A209E
-:100A2000000A0025303258006B65796D61705F6394
-:100A30006F6E6669672E7261773A20000A0025752D
-:100A4000002E6D6F7573653A20000A002575002E23
-:100A50006B6579626F6172643A20000A0025750047
-:100A60002E6D61747269783A20000A002575002E97
-:100A7000656E61626C653A20000A002530325800CC
-:100A800064656275675F636F6E6669672E72617712
-:100A90003A20000A0025750064656661756C745F14
-:100AA0006C617965723A20003F0074696D65725F10
-:100AB000636F756E743A202530346C580A006B658C
-:100AC00079626F6172645F69646C653A2025580AC7
-:100AD000006B6579626F6172645F70726F746F63CF
-:100AE0006F6C3A2025580A00686F73745F6B6579E4
-:100AF000626F6172645F6C65647328293A202558BF
-:100B00000A000A092D20537461747573202D0A00A0
-:100B10004743433A20342E382E32204156522D4C32
-:100B20004942433A20312E382E30204156525F41FF
-:100B30005243483A20617672350A004F5054494F6B
-:100B40004E533A204C55464120424F4F544D414759
-:100B50004943204D4F5553454B4559204558545214
-:100B6000414B455920434F4E534F4C4520434F4D29
-:100B70004D414E4420343039360A004255494C44E8
-:100B80003A20313864613165362D64697274792098
-:100B90002830323A35343A3238204F6374203238B4
-:100BA0002032303135290A005649443A20307846FF
-:100BB000454544284572676F446F7820455A29207F
-:100BC0005049443A20307831333037284572676FC6
-:100BD000446F7820455A29205645523A20307830C3
-:100BE0003030310A00444553433A20742E6D2E6B49
-:100BF0002E206B6579626F617264206669726D7711
-:100C000061726520666F72204572676F646F780A43
-:100C1000000A092D2056657273696F6E202D0A0037
-:100C20000A6D6F7573653A206F66660A000A6D6F0C
-:100C30007573653A206F6E0A000A6B6579626F61A1
-:100C400072643A206F66660A000A6B6579626F61AA
-:100C500072643A206F6E0A000A6D61747269783AA4
-:100C6000206F66660A000A6D61747269783A206FB7
-:100C70006E0A000A64656275673A206F6E0A000AA0
-:100C800064656275673A206F66660A000A0A626FD9
-:100C90006F746C6F616465722E2E2E2000433E20AF
-:100CA000006565636F6E6669673A0A0011241FBEAE
-:100CB000CFEFDAE0DEBFCDBF04B603FE24C08091E3
-:100CC000020290910302A0910402B09105028730C4
-:100CD000904BA740B04BB9F410920202109203025D
-:100CE000109204021092050214BE84B7877F84BF5D
-:100CF00088E10FB6F89480936000109260000FBEF8
-:100D0000E0E0F8E3099511E0A0E0B1E0E2E4FBE502
-:100D100002C005900D92A435B107D9F712E0A4E501
-:100D2000B1E001C01D92A230B107E1F70E9433107B
-:100D30000C949F2D0C940000FF93EF93E0915401CD
-:100D4000F0915501309709F00995EF91FF910895C1
-:100D5000FC018591803011F0EFDFFBCF0895FF2774
-:100D6000E0E230E247FF0CC0419597FF09C0EDE299
-:100D70006095709580959095611D711D811D911DE7
-:100D800027FF02C0219530E350E2AA27660F771FA4
-:100D9000881F991FAA1FA41710F0A41B63955A95CA
-:100DA000A9F7AA3008F0A95FA05DAF93F39561158C
-:100DB00071058105910541F7ED3211F4EF93F3953B
-:100DC000F21718F43F93F395FBCF8F91B5DFFA95A7
-:100DD000E1F70895E991F9918591803021F085320C
-:100DE00019F0AADFF9CF089520E0E8945591553223
-:100DF000C1F3503311F4689455915A3348F4505369
-:100E000090F3220F022E220F220F200D250FF4CF78
-:100E10000EF4219589919991533619F3533729F19D
-:100E2000533559F1BC0188279927E8945C3621F4A1
-:100E30008991999168945591543639F446EF7EF032
-:100E400077FF0DC08FEF9FEF0AC055374AE039F0AA
-:100E5000583540E121F0523642E009F00895FF9301
-:100E6000EF937DDFEF91FF91B7CFFF93EF93FC01FD
-:100E700081918030B9F360DFFBCFFF93EF9368DFA0
-:100E8000F1CFDF93CF93CDB7DEB72596A3DFCF9118
-:100E9000DF91089561110BC0FC018281882321F04C
-:100EA00085EE0E94FF1603C085EE0E94C71780E002
-:100EB00090E0089508956091CF017091D0018091E4
-:100EC000D1019091D2010E944D2156985E981092C6
-:100ED0005801109257011092560190E0FC01319791
-:100EE000E930F105F0F4EA5AFF4F0C94542D81E0FB
-:100EF000809358018093570112C081E0809357017D
-:100F000010C081E08093570181E009C0569A5E9A33
-:100F100081E08093580105C081E08093580180935F
-:100F200056010E949D078093000108958BE597E08C
-:100F3000892B11F00C945B070895809100018111B9
-:100F40002FC080E40E94340880930001811124C0E6
-:100F500084E10E945E088093000181111DC0809190
-:100F6000560187958827879580950E945E08809313
-:100F70000001811111C080915801879588278795BC
-:100F8000909157019295990F990F907C892B80959C
-:100F90000E945E08809300010E9456088091000123
-:100FA000089556985E9825982D9826982E982798FB
-:100FB0002F981092580110925701109256010E94DA
-:100FC0009D078FEF90E09093890080938800909325
-:100FD0008B0080938A0090938D0080938C00569AAA
-:100FE0005E9A259A2D9A269A2E9A279A2F9A81E010
-:100FF0008093580180935701809356010E949D076A
-:101000002FE782E490E1215080409040E1F700C05A
-:10101000000056985E9825982D9826982E98279827
-:101020002F981092580110925701109256010C946B
-:101030009D0789EA8093800089E08093810024984D
-:101040002C983F988AB18F748AB96E98479A8BB161
-:10105000806B8BB9769A0E94D1078AE597E0892B3D
-:1010600011F00C945A07089594EA9093BC00909163
-:10107000BC0097FFFCCF9091B900987F983021F089
-:10108000903111F081E008958093BB0084E8809353
-:10109000BC008091BC0087FFFCCF8091B900887FA5
-:1010A000883111F0803471F780E0089584E98093ED
-:1010B000BC008091BC0084FDFCCF08958093BB00F0
-:1010C00084E88093BC008091BC0087FFFCCF9091A6
-:1010D000B900987F81E0983209F480E008958B3B55
-:1010E000910578F4883A910540F5853A9105D0F458
-:1010F0008430910508F0B1C08130910509F4ADC08C
-:101100006BC0803E910508F467C0883E910508F4E5
-:10111000A4C09C01205F31092031310508F05CC07A
-:1011200090650895853A910509F459C0863A91056C
-:1011300009F458C083E890E40895883A910509F4C9
-:1011400054C0893A910509F453C08A3A910509F4CB
-:1011500052C08B3A910509F451C08C3A910509F4BB
-:1011600050C08D3A910509F44FC0803B910509F4B8
-:101170004EC08E3A910509F44DC08F3A910509F49D
-:101180004CC0813B910509F44BC0823B910509F4A9
-:101190004AC0833B910509F449C0843B910509F499
-:1011A00048C0853B910509F447C0863B910509F489
-:1011B00046C0873B910509F445C0883B910509F479
-:1011C00044C0893B910509F443C08A3B910509F06D
-:1011D00042C08AE296E4089580E090E0089581E8B4
-:1011E00090E4089582E890E4089582EE94E40895EE
-:1011F00089EE94E408958AEE94E4089585EB94E4EE
-:10120000089586EB94E4089587EB94E408958CECBC
-:1012100094E408958DEC94E4089583E895E40895AA
-:101220008AE895E4089582E995E4089584E995E4CF
-:10123000089581E296E4089583E296E4089584E2B5
-:1012400096E4089585E296E4089586E296E408958A
-:1012500087E296E4089580E094E40895089596E086
-:10126000799FF001112494E5899FE00DF11D11246F
-:10127000E60FF11DEE0FFF1FEA50FF4F859194918D
-:101280000895880F991F8E589040FC018591949184
-:101290000895880F991F8E509F4FFC01859194915E
-:1012A000089546E0749FF001112494E5899FE00DB4
-:1012B000F11D1124E60FF11DEE0FFF1FEA50FF4F45
-:1012C00025913491C9019A9581159F4110F4C90166
-:1012D0000895C90190528115904128F4C9019F7069
-:1012E0000E9449090895C90190538115904120F445
-:1012F000C9019927906C0895211580E5380711F4EC
-:101300000C949722213090E5390751F48EEE92E04B
-:101310000E94A8068091E20181608093E201089515
-:10132000C90190558115904108F050C0832F99272D
-:101330008F70992781309105D9F4A9014370552701
-:1013400002C0880F991F4A95E2F79C68A90164E0E2
-:10135000440F551F6A95E1F744275370842B952B52
-:1013600073E0220F331F7A95E1F7207633271DC0F3
-:101370008230910529F4922F8827816F906A089511
-:1013800083309105A9F4A9014370552781E090E0CD
-:1013900002C0880F991F4A95E2F79C6843E0220F2C
-:1013A000331F4A95E1F7207E3770822B932B0895E7
-:1013B0000497F1F4A9014370552781E090E002C041
-:1013C000880F991F4A95E2F79A68E8CFC9019057AC
-:1013D0008115904120F4C9019F7090620895C90160
-:1013E00090588115904120F4C9019F70906A08952A
-:1013F000203E3105E0F4203C310558F5213331051C
-:1014000009F470C048F42932310509F464C02A3265
-:10141000310509F46EC074C029333105F1F022386A
-:101420003105D9F02533310509F44EC069C0233E9A
-:10143000310589F138F4203E3105C1F0223E3105F5
-:10144000E1F05EC0263E310569F1273E3105A9F184
-:1014500057C0C9010E94410908958091F30180FDA0
-:1014600002C081FF4DC080EE90E04BC08091F3013F
-:1014700080FFF9CF89E390E044C08091F30182FFBF
-:101480000EC08091F30184FF03C080E090E039C07A
-:1014900083EE90E036C08091F30182FFF2CF82EEBE
-:1014A00090E02FC08091F30183FF0BC08091F30186
-:1014B00084FDEBCF87EE90E024C08091F30183FFA1
-:1014C000F5CF86EE90E01DC08091F30185FF07C047
-:1014D00089E290E016C08091F30185FFF9CF85E3A2
-:1014E00090E00FC08091F30186FF07C08AE290E090
-:1014F00008C08091F30186FFF9CF81E390E001C03D
-:10150000C9010E946F08089508955F926F927F92BB
-:101510008F929F92AF92BF92CF92DF92EF92FF9203
-:101520000F931F93CF93DF93CDB7DEB728970FB6F6
-:10153000F894DEBF0FBECDBF9E012F5F3F4F4E011F
-:101540008DE1880E911C60E070E000E010E0E12C7D
-:10155000F12CC12CD12CA12CB12C622E532E88E061
-:10156000782E41E050E0E5E1F1E0A62DB52D872D84
-:1015700001900D928A95E1F7F901819191919F0176
-:10158000FC01E07FFF27E032F10559F48F709927C5
-:10159000FA0102C0EE0FFF1F8A95E2F7AE2ABF2ABA
-:1015A00037C0E033F10559F48F709927FA0102C072
-:1015B000EE0FFF1F8A95E2F7CE2ADF2A29C0E0341A
-:1015C000F10559F48F709927FA0102C0EE0FFF1F41
-:1015D0008A95E2F7EE2AFF2A1BC0E035F10559F49F
-:1015E0008F709927FA0102C0EE0FFF1F8A95E2F76C
-:1015F0000E2B1F2B0DC0E036F10551F48F7099278B
-:10160000FA0102C0EE0FFF1F8A95E2F76E2B7F2BC7
-:101610002815390509F0A7CF94B18A2D8095892323
-:1016200084B985B18A2985B997B18C2D8095892394
-:1016300087B988B18C2988B99AB18E2D8095892374
-:101640008AB98BB18E298BB99DB1802F8095892362
-:101650008DB98EB1802B8EB990B3862F809589235A
-:1016600080BB81B3862B81BB28960FB6F894DEBF72
-:101670000FBECDBFDF91CF911F910F91FF90EF90E3
-:10168000DF90CF90BF90AF909F908F907F906F90A2
-:101690005F9008955F926F927F928F929F92AF9228
-:1016A000BF92CF92DF92EF92FF920F931F93CF934F
-:1016B000DF93CDB7DEB768970FB6F894DEBF0FBEE5
-:1016C000CDBF85B7806885BF85B7806885BF0E941C
-:1016D000850A9E012F5F3F4F4E018DE0880E911CC1
-:1016E00060E070E000E010E0E12CF12CC12CD12C86
-:1016F000A12CB12C622E532E98E1792E41E050E0BE
-:10170000EDE1F1E0A62DB52D872D01900D928A9582
-:10171000E1F7F901819191919F01FC01E07FFF27A1
-:10172000E032F10559F48F709927FA0102C0EE0FEB
-:10173000FF1F8A95E2F7AE2ABF2A37C0E033F105D2
-:1017400059F48F709927FA0102C0EE0FFF1F8A9596
-:10175000E2F7CE2ADF2A29C0E034F10559F48F7070
-:101760009927FA0102C0EE0FFF1F8A95E2F7EE2AD1
-:10177000FF2A1BC0E035F10559F48F709927FA0153
-:1017800002C0EE0FFF1F8A95E2F70E2B1F2B0DC034
-:10179000E036F10551F48F709927FA0102C0EE0F7F
-:1017A000FF1F8A95E2F76E2B7F2B2815390509F06C
-:1017B000A7CF94B18A2D8095892384B985B18A29D0
-:1017C00085B997B18C2D8095892387B988B18C29EB
-:1017D00088B99AB18E2D809589238AB98BB18E29CB
-:1017E0008BB99DB1802F809589238DB98EB1802BC7
-:1017F0008EB990B3862F8095892380BB81B3862BC9
-:1018000081BBE7E6F1E0A9E5B1E011921D9281E02C
-:10181000E537F807D1F789E198E0892BB9F06896A8
-:101820000FB6F894DEBF0FBECDBFDF91CF911F91F1
-:101830000F91FF90EF90DF90CF90BF90AF909F906F
-:101840008F907F906F905F900C94190868960FB6F8
-:10185000F894DEBF0FBECDBFDF91CF911F910F91E6
-:10186000FF90EF90DF90CF90BF90AF909F908F90C0
-:101870007F906F905F9008952F923F924F925F926A
-:101880006F927F928F929F92AF92BF92CF92DF9290
-:10189000EF92FF920F931F93CF93DF93CDB7DEB7F5
-:1018A000A0970FB6F894DEBF0FBECDBF7E0149E111
-:1018B000E40EF11C4E0155E3850E911C29E5C22E64
-:1018C00021E0D22E38E0232E5E2C6F2C01E010E0B8
-:1018D00048E1342E52E0452E69E2A62E63E0B62E92
-:1018E000E5E1F1E0A52DB62D822D01900D928A95AE
-:1018F000E1F7F701819191917F019C01207F3327CE
-:101900002032310589F424B18F709927A80102C0D3
-:10191000440F551F8A95E2F7CA01242B24B995B1CB
-:101920008095892385B94FC02033310589F427B1CB
-:101930008F709927F80102C0EE0FFF1F8A95E2F71A
-:10194000CF012E2B27B998B18095892388B93BC048
-:101950002034310589F42AB18F709927A80102C07B
-:10196000440F551F8A95E2F7CA01242B2AB99BB16F
-:10197000809589238BB927C02035310589F42DB195
-:101980008F709927F80102C0EE0FFF1F8A95E2F7CA
-:10199000CF012E2B2DB99EB1809589238EB913C00E
-:1019A0002036310581F420B38F709927A80102C039
-:1019B000440F551F8A95E2F7CA01242B20BB91B32F
-:1019C0008095892381BB50EA5A95F1F7AE014F5FAC
-:1019D0005F4F712C80E090E0EDE1F1E0DE011196C7
-:1019E000232D01900D922A95E1F7FA012191319171
-:1019F000AF01B901607F77276032710511F463B1DF
-:101A000013C06033710511F466B10EC06034710506
-:101A100011F469B109C06035710511F46CB104C0ED
-:101A200060367105A1F46FB170E02F70332702C0EA
-:101A3000759567952A95E2F760FD07C0202F082E5F
-:101A400001C0220F0A94EAF701C020E0722A019631
-:101A50008630910509F6F6018081871539F170828B
-:101A600080910101882301F18091E20180FF04C08F
-:101A70008EE293E00E94A8068091E20180FF0CC0F4
-:101A8000809101011F928F93BF92AF920E944107F4
-:101A90000F900F900F900F908091E20180FF04C093
-:101AA00087E293E00E94A806409201010E94850A05
-:101AB000FFEFCF1ADF0AE814F90409F011CF809183
-:101AC00001018823B1F0815080930101882339F00E
-:101AD0008FE99FE00197F1F700C000000AC0A7E678
-:101AE000B1E0E9E5F1E081918D9391E0E736F90706
-:101AF000D1F786E997E0892B11F00E94960781E0E3
-:101B0000A0960FB6F894DEBF0FBECDBFDF91CF9188
-:101B10001F910F91FF90EF90DF90CF90BF90AF900B
-:101B20009F908F907F906F905F904F903F902F90FD
-:101B30000895E82FF0E0E959FE4F80810895CF9293
-:101B4000DF92EF92FF920F931F93CF93DF9380E189
-:101B500093E00E94A80677E6E72E71E0F72EC0E03A
-:101B6000D0E0EBE0CE2EE3E0DE2E02E013E0DF93E8
-:101B7000CF93DF92CF920E94410788E093E00E94CA
-:101B8000A806F70181917F0190E00E94B2219F9306
-:101B90008F931F930F930E94410780E093E00E9470
-:101BA000A80621968DB79EB708960FB6F8949EBFEB
-:101BB0000FBE8DBFCE30D105D1F6DF91CF911F91F1
-:101BC0000F91FF90EF90DF90CF900895809180016A
-:101BD00008959FB7F894109277019FBF9091F901F3
-:101BE000943009F058C09091E9009F702091EC006A
-:101BF00020FF02C020E801C020E0292B94E0909350
-:101C0000E9009091EB0090FF43C09091EE0097FFA8
-:101C10003FC090917501992321F09091E80095FFC4
-:101C200037C01092750196E03091E80035FD15C07F
-:101C30003091F901343061F53091EB0035FD28C069
-:101C4000915021F481E08093750122C0EFE9FFE01B
-:101C50003197F1F700C00000E7CF8093F100809149
-:101C6000E80085FD0AC08091E80080FFFCCF8091EC
-:101C7000E8008E778093E80006C08FB7F89491E073
-:101C8000909377018FBF2F702093E90080E0089533
-:101C90002F702093E9008FEF0895CF93DF9300D04A
-:101CA0001F92CDB7DEB72091F901243019F523E05A
-:101CB00029839B838A832093E9008FEF9091E8002A
-:101CC000815095FD06C095ED9A95F1F700008111C0
-:101CD000F5CF8091E80085FF0DC040E050E063E063
-:101CE00070E0CE0101960E94EA108091E8008E77A4
-:101CF0008093E8000F900F900F90DF91CF9108959F
-:101D0000CF93DF9300D01F92CDB7DEB72091F901BA
-:101D1000243021F522E029839B838A8383E080930A
-:101D2000E9008FEF9091E800815095FD06C095ED98
-:101D30009A95F1F700008111F5CF8091E80085FFB9
-:101D40000DC040E050E063E070E0CE0101960E94DB
-:101D5000EA108091E8008E778093E8000F900F9052
-:101D60000F90DF91CF9108952091F9012430F1F483
-:101D700022E02093E9002FEF3091E800215035FD5B
-:101D800006C035ED3A95F1F700002111F5CF20910D
-:101D9000E80025FF0BC040E050E065E070E00E94E5
-:101DA000EA108091E8008E778093E8000895CF9341
-:101DB000DF93EC018091F901843039F581E0809363
-:101DC000E9008FEF9091E800815095FD06C095EDF8
-:101DD0009A95F1F700008111F5CF8091E80085FF19
-:101DE00014C040E050E068E070E0CE010E94EA10CC
-:101DF0008091E8008E778093E80088E0FE01A8E7F4
-:101E0000B1E001900D928A95E1F7DF91CF910895AD
-:101E10008DE593E00E94A8068091F801811109C028
-:101E20000E947C120E94D9128091E200846080930B
-:101E3000E200089589E593E00E94A8061092F80157
-:101E4000089585E593E00C94A80681E593E00C9451
-:101E5000A8068DE493E00E94A8060C9409228091C4
-:101E600076018F5F8093760162E30E94342D911199
-:101E700035C01092760180917701882379F18091A5
-:101E8000F901843049F58091E9008F709091EC0060
-:101E900090FF02C090E801C090E0982B84E080930E
-:101EA000E9008091EB0080FF14C08091EE0087FF75
-:101EB00010C08091E80085FF03C01092F100F9CFB7
-:101EC0008091E80080FF05C08091E8008E778093C4
-:101ED000E8009F709093E90010927701089542E026
-:101EE00061EC81E00E94F61142E061EC82E00E9428
-:101EF000F61142E061EC83E00E94F61142E261ECEF
-:101F000084E00C94F6118091FB01833009F453C0F6
-:101F100030F4813071F0823009F48CC008958A3039
-:101F200009F478C08B3009F45EC0893009F09AC09A
-:101F300020C08091FA01813A09F094C08091E800B4
-:101F4000877F8093E8008091FE019091FF01892BAB
-:101F500021F060E080E090E003C068E088E791E075
-:101F600070E00E9433118091E8008B778093E80045
-:101F700008958091FA01813209F074C08091FE01C8
-:101F80009091FF01892B09F06DC08091E800877F57
-:101F90008093E8008091E80082FD05C08091F901FE
-:101FA0008111F8CF5FC08091F10080938001809112
-:101FB000E8008B7753C08091FA01813A09F052C052
-:101FC0008091FE019091FF01892B09F04BC0809117
-:101FD000E800877F8093E8008091E80080FFFCCFD5
-:101FE00080910C0136C08091FA018132D9F580913F
-:101FF000FE019091FF01892BA9F58091E800877F70
-:102000008093E8000E942B128091FC0180930C01C8
-:102010000C943C1B8091FA01813221F58091E800FB
-:10202000877F8093E8000E942B128091FD018093AE
-:10203000810108958091FA01813AA1F48091E8002C
-:10204000877F8093E8008091E80080FFFCCF80913B
-:1020500081018093F1008091E8008E778093E80001
-:102060000C942B12089584B7877F84BF88E10FB644
-:10207000F89480936000109260000FBE90E080E8BA
-:102080000FB6F89480936100909361000FBE0E9498
-:10209000FE150E947C120E94D9128091E200846099
-:1020A0008093E20089EE9DE00E94482178940E948E
-:1020B00053150E94001682E091E00E9470158CE397
-:1020C00093E00E94A8068091F901853089F488E3A5
-:1020D00093E00E94A8060E94CC218091F7018823FA
-:1020E00091F30E94F421882371F30E94D410EBCF66
-:1020F0000E942E16E8CF292F332723303105A9F06F
-:102100006CF42130310509F442C02230310509F068
-:1021100043C084E790E025E933E042C02132310535
-:10212000C9F02232310519F137C099278130910564
-:1021300041F08230910541F0892B71F5E1E9F3E03E
-:1021400005C0E9E7F3E002C0E1E6F3E0849190E046
-:102150009F0126C0643000F5E62FF0E0EE0FFF1F70
-:10216000EF5BFE4F2081318189E090E019C064303F
-:1021700098F4E62FF0E0DF01AA0FBB1FA75CBE4F6B
-:102180002D913C91EB5CFE4F808190E009C082E193
-:1021900090E029E034E004C080E090E020E030E00E
-:1021A000FA0131832083089580E189BD82E189BDF0
-:1021B00009B400FEFDCF8091D8008F7D8093D800B8
-:1021C0008091E00082608093E0008091E00081FDDA
-:1021D000FCCF0895CF92DF92EF92FF920F931F935F
-:1021E000CF93DF937C018B01EA010E944C12811195
-:1021F00031C0209731F088819981081B190BE80EB6
-:10220000F91EC12CD12C0115110519F18091E8009E
-:1022100085FD14C08091E8008E778093E8002097B8
-:1022200041F0888199818C0D9D1D9983888385E07B
-:1022300011C00E944C12882331F30CC0F701819128
-:102240007F018093F10001501109FFEFCF1ADF0ADF
-:10225000DACF80E0DF91CF911F910F91FF90EF9047
-:10226000DF90CF900895209100023091010226174F
-:10227000370748F06115710539F42091E8002E7791
-:102280002093E80001C0B901FC0120E0611571054F
-:10229000B9F18091F901882309F440C0853009F42F
-:1022A0003FC08091E80083FD3DC08091E80082FF3F
-:1022B00006C08091E80082FF26C080E008958091EA
-:1022C000E80080FFE3CF2091F3008091F20090E0DE
-:1022D000922B6115710551F08830910538F42191E8
-:1022E0002093F100615071090196F3CF21E0089726
-:1022F00009F020E08091E8008E778093E800C6CF57
-:102300002111C7CFD6CF8091F901882339F08530CC
-:1023100039F08091E80083FFCCCF04C082E00895BB
-:1023200083E0089581E00895209100023091010238
-:102330002617370748F06115710539F42091E80038
-:102340002E772093E80001C0B901FC0120E061155F
-:102350007105C1F18091F901882309F441C08530EC
-:1023600009F440C08091E80083FD3EC08091E80000
-:1023700082FF06C08091E80082FF27C080E00895B8
-:102380008091E80080FFE3CF2091F3008091F2007C
-:1023900090E0922B6115710559F08830910540F459
-:1023A00024912093F1003196615071090196F2CF8A
-:1023B00021E0089709F020E08091E8008E77809373
-:1023C000E800C5CF2111C6CFD5CF8091F901882370
-:1023D00039F0853039F08091E80083FFCBCF04C01D
-:1023E00082E0089583E0089581E00895982F973062
-:1023F00058F59093E900981739F07091EC0020910E
-:10240000ED005091F00003C0242F762F50E021FF03
-:1024100019C03091EB003E7F3093EB003091ED001E
-:102420003D7F3093ED003091EB0031603093EB0055
-:102430007093EC002093ED005093F0002091EE009B
-:1024400027FF07C09F5FD3CF8F708093E90081E0A3
-:10245000089580E008958091FA0187FD05C080917C
-:10246000E80080FF0EC012C08091E80082FD05C028
-:102470008091F9018111F8CF08958091E8008B7760
-:1024800008C08091F9018111EACF08958091E80098
-:102490008E778093E80008958091E4009091E500A4
-:1024A00045E62091EC0020FF21C02091E80020FDAE
-:1024B00021C02091F901222389F0253089F0209153
-:1024C000EB0025FD0FC02091E4003091E5002817B6
-:1024D000390739F3415041F0C901E3CF82E0089553
-:1024E00083E0089581E0089584E008952091E80054
-:1024F00022FFDFCF80E008950E94EA120E94F212CC
-:10250000E0EEF0E0808181608083E8EDF0E08081A2
-:102510008F77808319BCA7EDB0E08C918E7F8C9370
-:1025200080818F7E80831092F80108950F931F930E
-:10253000CF93DF930E94EA120E94F212C8EDD0E01E
-:1025400088818F77888388818068888388818F7D60
-:10255000888319BC1092F9011092F5011092F701CD
-:102560001092F60100EE10E0F80180818B7F8083ED
-:1025700088818160888342E060E080E00E94F611FB
-:10258000E1EEF0E080818E7F8083E2EEF0E08081FA
-:1025900081608083808188608083F80180818E7F64
-:1025A0008083888180618883DF91CF911F910F9113
-:1025B0000895E8EDF0E080818F7E8083E7EDF0E024
-:1025C00080818160808384E082BF81E08093F80114
-:1025D0000C949612E8EDF0E080818E7F808310925B
-:1025E000E20008951092DA001092E10008951F921F
-:1025F0000F920FB60F9211242F933F934F935F9337
-:102600006F937F938F939F93AF93BF93EF93FF93BA
-:102610008091E10082FF0BC08091E20082FF07C041
-:102620008091E1008B7F8093E1000E942F0F8091C9
-:10263000DA0080FF1FC08091D80080FF1BC080910E
-:10264000DA008E7F8093DA008091D90080FF0DC080
-:1026500080E189BD82E189BD09B400FEFDCF81E042
-:102660008093F9010E94080F05C019BC1092F9016E
-:102670000E941A0F8091E10080FF19C08091E20052
-:1026800080FF15C08091E2008E7F8093E2008091F0
-:10269000E20080618093E2008091D80080628093A4
-:1026A000D80019BC85E08093F9010E94250F809124
-:1026B000E10084FF30C08091E20084FF2CC080E103
-:1026C00089BD82E189BD09B400FEFDCF8091D800AB
-:1026D0008F7D8093D8008091E1008F7E8093E10010
-:1026E0008091E2008F7E8093E2008091E200816021
-:1026F0008093E2008091F501882311F084E007C007
-:102700008091E30087FF02C083E001C081E08093F5
-:10271000F9010E94290F8091E10083FF29C0809177
-:10272000E20083FF25C08091E100877F8093E10074
-:1027300082E08093F9011092F5018091E1008E7F93
-:102740008093E1008091E2008E7F8093E20080918F
-:10275000E20080618093E20042E060E080E00E945D
-:10276000F6118091F00088608093F0000E94210FA4
-:10277000FF91EF91BF91AF919F918F917F916F9159
-:102780005F914F913F912F910F900FBE0F901F902F
-:1027900018951F920F920FB60F9211242F933F930B
-:1027A0004F935F936F937F938F939F93AF93BF9359
-:1027B000CF93EF93FF93C091E900CF708091EC002D
-:1027C0001092E9008091F000877F8093F000789468
-:1027D0000E9405141092E9008091F00088608093B7
-:1027E000F000C093E900FF91EF91CF91BF91AF91BD
-:1027F0009F918F917F916F915F914F913F912F9119
-:102800000F900FBE0F901F9018951F93CF93DF93DB
-:10281000CDB7DEB7AA970FB6F894DEBF0FBECDBF17
-:10282000EAEFF1E08091F100819322E0E230F207DB
-:10283000C9F70E94830F8091E80083FF1CC120919B
-:10284000FA013091FB01832F90E08A30910508F066
-:1028500012C1FC01E15AFF4F0C94542D203881F035
-:10286000223809F008C18091FE018F708093E90041
-:102870008091EB0085FB882780F91092E90006C063
-:102880008091F6019091F701911182609091E8009A
-:10289000977F9093E8008093F1001092F100C5C0FB
-:1028A000822F8D7F09F0E7C0222319F0223061F0DA
-:1028B000E2C08091FC01813009F0DDC0333009F0C5
-:1028C00080E08093F70128C08091FC01811124C031
-:1028D0002091FE012F7009F4CEC02093E900809171
-:1028E000EB0080FF19C08091EB00333011F480625F
-:1028F00011C080618093EB0081E090E0022E01C066
-:10290000880F0A94EAF78093EA001092EA00809117
-:10291000EB0088608093EB001092E9008091E80062
-:10292000877F86C02111A7C01091FC011F7780917D
-:10293000E3008078812B8093E3008091E800877F1B
-:102940008093E8000E942B128091E80080FFFCCF6A
-:102950008091E30080688093E300112311F083E00D
-:1029600001C082E08093F90186C02058223008F02F
-:1029700082C08091FC019091FD018C3D23E0920783
-:1029800079F583E08A838AE289834FB7F894DE0180
-:10299000139620E03EE051E2E32FF0E05093570021
-:1029A000E49120FF03C0E295EF703F5FEF708E2F40