summaryrefslogtreecommitdiffstats
path: root/keyboards/jd45
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-06-23 22:18:20 -0400
committerGitHub <noreply@github.com>2016-06-23 22:18:20 -0400
commit13bb6b4b7fdd2b3e419d0f89c93fb980b00eeb9b (patch)
tree2777e5c95bad3f5a9773fc58524a6ad99df63738 /keyboards/jd45
parentba116ceb496011bb35ce074a3ba8c2448f059260 (diff)
Backlight abstraction and other changes (#439)
* redoes matrix pins, abstracts backlight code for B5,6,7 * slimming down keyboard stuff, backlight breathing implemented * don't call backlight init when no pin * cleans up user/kb/quantum calls, keyboard files * fix pvc atomic * replaces CHANNEL with correct var in breathing * removes .hexs, updates readmes, updates template * cleans-up clueboards, readmes to lowercase * updates readme
Diffstat (limited to 'keyboards/jd45')
-rw-r--r--keyboards/jd45/config.h2
-rw-r--r--keyboards/jd45/jd45.c82
-rw-r--r--keyboards/jd45/jd45.h21
-rw-r--r--keyboards/jd45/keymaps/default/compiled.hex1113
-rw-r--r--keyboards/jd45/keymaps/default/keymap.c14
-rw-r--r--keyboards/jd45/keymaps/justin/compiled.hex1153
-rw-r--r--keyboards/jd45/keymaps/justin/keymap.c15
7 files changed, 17 insertions, 2383 deletions
diff --git a/keyboards/jd45/config.h b/keyboards/jd45/config.h
index ffedb6a1a9..ee989b7b41 100644
--- a/keyboards/jd45/config.h
+++ b/keyboards/jd45/config.h
@@ -37,6 +37,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F4, D7, B5, B6, C6, C7, D4, D6, D5, D0, D1, D2, B0 }
#define UNUSED_PINS
+#define BACKLIGHT_PIN B7
+
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jd45/jd45.c b/keyboards/jd45/jd45.c
index 5437b2bffc..00c5810479 100644
--- a/keyboards/jd45/jd45.c
+++ b/keyboards/jd45/jd45.c
@@ -1,81 +1 @@
-#include "jd45.h"
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-
-};
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-
-};
-
-#define CHANNEL OCR1C
-
-void backlight_init_ports(void)
-{
-
- // Setup PB7 as output and output low.
- DDRB |= (1<<7);
- PORTB &= ~(1<<7);
-
- // Use full 16-bit resolution.
- ICR1 = 0xFFFF;
-
- // I could write a wall of text here to explain... but TL;DW
- // Go read the ATmega32u4 datasheet.
- // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
-
- // Pin PB7 = OCR1C (Timer 1, Channel C)
- // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
- // (i.e. start high, go low when counter matches.)
- // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
- // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
-
- TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
- TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
-
- backlight_init();
-}
-
-void backlight_set(uint8_t level)
-{
- if ( level == 0 )
- {
- // Turn off PWM control on PB7, revert to output low.
- TCCR1A &= ~(_BV(COM1C1));
- CHANNEL = 0x0;
- // Prevent backlight blink on lowest level
- PORTB &= ~(_BV(PORTB7));
- }
- else if ( level == BACKLIGHT_LEVELS )
- {
- // Prevent backlight blink on lowest level
- PORTB &= ~(_BV(PORTB7));
- // Turn on PWM control of PB7
- TCCR1A |= _BV(COM1C1);
- // Set the brightness
- CHANNEL = 0xFFFF;
- }
- else
- {
- // Prevent backlight blink on lowest level
- PORTB &= ~(_BV(PORTB7));
- // Turn on PWM control of PB7
- TCCR1A |= _BV(COM1C1);
- // Set the brightness
- CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
- }
-}
-
-void matrix_init_kb(void) {
- #ifdef BACKLIGHT_ENABLE
- backlight_init_ports();
- #endif
-
- matrix_init_user();
-};
-
-void matrix_scan_kb(void) {
- matrix_scan_user();
-};
+#include "jd45.h" \ No newline at end of file
diff --git a/keyboards/jd45/jd45.h b/keyboards/jd45/jd45.h
index 1e9de2123b..04ac6649e7 100644
--- a/keyboards/jd45/jd45.h
+++ b/keyboards/jd45/jd45.h
@@ -1,13 +1,20 @@
#ifndef JD45_H
#define JD45_H
-#include "matrix.h"
-#include "keymap.h"
-#include "backlight.h"
-#include <stddef.h>
-#include <avr/io.h>
+#include "quantum.h"
-void matrix_init_user(void);
-void matrix_scan_user(void);
+/* JD45 keymap definition macro
+ */
+#define KEYMAP( \
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \
+ K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \
+ K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \
+ K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \
+) { \
+ { KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K10, KC_##K11, KC_##K12, KC_##K13 }, \
+ { KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_NO }, \
+ { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_NO }, \
+ { KC_##K38, KC_##K39, KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_##K43, KC_NO, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_NO } \
+}
#endif
diff --git a/keyboards/jd45/keymaps/default/compiled.hex b/keyboards/jd45/keymaps/default/compiled.hex
deleted file mode 100644
index cc20ee3c53..0000000000
--- a/keyboards/jd45/keymaps/default/compiled.hex
+++ /dev/null
@@ -1,1113 +0,0 @@
-:100000000C9480010C94C4010C94C4010C94C401A0
-:100010000C94C4010C94C4010C94C4010C94C4014C
-:100020000C94C4010C94C4010C94D40B0C94A60C35
-:100030000C94B2190C94C4010C94C4010C94C40126
-:100040000C94C4010C94C4010C94C4010C94C4011C
-:100050000C94C4010C941A1A0C94C4010C94C4019D
-:100060000C94C4010C946C0E0C94C4010C94C40147
-:100070000C94C4010C94C4010C94C4010C94C401EC
-:100080000C94C4010C94C4010C94C4010C94C401DC
-:100090000C94C4010C94C4010C94C4010C94C401CC
-:1000A0000C94C4010C94C4010C94C401130D350DBF
-:1000B000230E350D230E7A0D9D0D230EF20D050E28
-:1000C0002E112E115D115D119C11BC111213121312
-:1000D000C711121377127712DE12E71212130C13E4
-:1000E0008412841284128412841284128412841260
-:1000F0008412841284128412841284128412841250
-:100100009412A212A912B012BA12290014001A00F5
-:100110000800150017001C0018000C001200130046
-:1001200034002A002B0004001600070009000A0012
-:100130000B000D000E000F00330028000000E1004E
-:100140001D001B00060019000500110010003600FC
-:1001500037003800E50000004800E000E2004C00F5
-:100160002C0000004C0000005000520051004F00D5
-:1001700000000A034A004400340035000000120366
-:100180006700650065006B006800610063006B003C
-:1001900000000403090409027400040100A0FA0924
-:1001A00004000001030101000921110100012240A6
-:1001B000000705810308000A090401000103010288
-:1001C00000092111010001224D00070582030800EA
-:1001D0000A090402000103000000092111010001C5
-:1001E0002236000705830308000A090403000203FE
-:1001F00000000009211101000122200007058403ED
-:100200002000010705040320000112011001000075
-:100210000008EDFE60600100010200010631FF09E7
-:1002200074A1010975150025FF9520750881020943
-:1002300076150025FF952075089102C005010980FB
-:10024000A101850216010026B7001A01002AB70095
-:10025000751095018100C0050C0901A101850316E7
-:100260000100269C021A01002A9C0275109501814A
-:1002700000C005010902A1010901A1000509190138
-:100280002905150025019505750181029501750364
-:1002900081010501093009311581257F9502750815
-:1002A000810609381581257F950175088106050CA1
-:1002B0000A38021581257F950175088106C0C005A1
-:1002C000010906A101050719E029E7150025019597
-:1002D0000875018102950175088101050819012938
-:1002E00005950575019102950175039101050719A1
-:1002F0000029FF150026FF00950675088100C00043
-:1003000011241FBECFEFDAE0DEBFCDBF04B603FE7F
-:1003100024C08091ED029091EE02A091EF02B09185
-:10032000F0028730904BA740B04BB9F41092ED0229
-:100330001092EE021092EF021092F00214BE84B7F7
-:10034000877F84BF88E10FB6F89480936000109295
-:1003500060000FBEE0E0F8E3099511E0A0E0B1E035
-:10036000E8E2F5E402C005900D92A434B107D9F794
-:1003700012E0A4E4B1E001C01D92AD3EB107E1F787
-:100380000E9443090C9492220C9400000895089551
-:10039000279A2F988FEF9FEF909387008093860086
-:1003A0008AE08093800089E1809381000C94692029
-:1003B000282F81110BC080918000877F809380005F
-:1003C00010928D0010928C002F9808952F98809194
-:1003D0008000886080938000233019F48FEF9FEFB6
-:1003E0000FC083E090E0821B9109880F991F2FEFC7
-:1003F0003FEFA90102C0569547958A95E2F7CA01D9
-:1004000090938D0080938C0008950E94C8010C94F5
-:10041000C6010C94C70181E0089581E008950C9411
-:100420000D0208950F931F93CF93DF938C01FC016E
-:10043000C081D181CE010E947618BE010E9446057E
-:10044000EC01B8010E940F02882309F470C1F80181
-:100450008281882309F45BC080914F0181111FC004
-:10046000C431F0E7DF0709F00AC10E94110281E000
-:1004700080934F010E94E41990934E0180934D01A7
-:1004800010924601109248011092470110924A01C1
-:100490001092490110924C0110924B0148C1809179
-:1004A0004D0190914E010E94F019883C910570F425
-:1004B00080914601E82FF0E0EE0FFF1FE95BFE4F51
-:1004C000D183C0838F5F8093460131C1C43120E75F
-:1004D000D20708F024C1C23080E7D80710F5C11553
-:1004E00090E7D90709F0DAC0F8018281882309F47E
-:1004F000BFC00E947D13FFEF24E38CE0F150204049
-:100500008040E1F700C000000E943F1A10C1C431D2
-:10051000F0E7DF0708F0CFC0C23020E7D20708F4C9
-:100520009BC0F8018281882309F4A2C00E94F11BBC
-:10053000811102C00E94D21B0E940E1C90E0909379
-:10054000DE028093DD02C230F0E7DF0721F4809104
-:10055000DD0281607AC0C33020E7D20721F48091A8
-:10056000DD02826072C0C43080E7D80721F4809138
-:10057000DD0284606AC0C53090E7D90719F4809124
-:10058000DD0227C0C630E0E7DE0721F48091DD02FE
-:1005900080615BC0C730F0E7DF0721F48091DD02A6
-:1005A000806253C0C83020E7D20721F48091DD0279
-:1005B00080644BC0C93080E7D80721F48091DD0208
-:1005C000806843C0CA3090E7D90729F48091DD02E2
-:1005D000846088603AC0CB30E0E7DE0721F4809188
-:1005E000DD028E7F32C0CC30F0E7DF0721F480914E
-:1005F000DD028D7F2AC0CD3020E7D20721F4809123
-:10060000DD028B7F22C0CE3080E7D80719F48091BD
-:10061000DD021AC08091DD02CF3090E7D90711F4D6
-:100620008F7E13C0C031E0E7DE0711F48F7D0DC06F
-:10063000C131F0E7DF0711F48F7B07C0C231D0472B
-:1006400011F48F7702C08B7F877F8093DD028091CA
-:10065000DD020E94121C6BC0C11580E7D80741F073
-:10066000C130D047F1F081E080934401809345018F
-:10067000C801DF91CF911F910F910C940B02C431EF
-:1006800020E7D20708F04BC0C23080E7D80708F057
-:1006900048CFC11590E7D90709F42BCFC130D04717
-:1006A00011F7F8018281882319F38091CC028160CF
-:1006B0008093CC023CC0C333E0E7DE07A1F4F8012D
-:1006C0008281882321F01092440182E017C080913A
-:1006D0004401811106C086E20E94D20F86E20E9488
-:1006E0009A1082E019C0C433D04709F0BCCFF8019A
-:1006F0008281882331F01092450180E20E94E91046
-:1007000016C080914501811106C087E20E94D20F78
-:1007100087E20E949A1080E20E94F01008C0C33362
-:10072000F0E7DF0761F2C433D04709F39CCF80E0E4
-:10073000DF91CF911F910F9108950C9405020C94B5
-:1007400009022DE0729FF001112434E3839FE00D34
-:10075000F11D1124E60FF11DEE0FFF1FE65FFE4FA6
-:10076000859194910E945805811540E5940708F001
-:1007700047C0811520E4920708F013C1883E910517
-:1007800020F5803E910508F07CC1883A910578F407
-:10079000853A910508F0A5C08130910509F471C131
-:1007A00008F42EC18430910508F06BC129C18B3B40
-:1007B000910508F4A1C0803C910508F421C1FC0119
-:1007C000EE0FFF1FE657F040E6C0811530E29307B9
-:1007D00058F4811541E0940708F053C1803F91051A
-:1007E00008F40EC190650895811520E3920708F082
-:1007F000D5C0FC01FF70EE0FFF1FE65FFE4FCBC0C0
-:10080000811535E5930708F043C0811544E5940749
-:1008100008F0DEC0811522E5920708F5811531E563
-:10082000930708F0C1C0482F437021E030E002C0B8
-:10083000220F331F4A95E2F73C68AC0164E05695FD
-:1008400047956A95E1F74370342B8F7086958695AE
-:1008500040E2849FC0011124822B932B0895282FFE
-:1008600026952695AC01437055278115934508F0D0
-:10087000A0C080E2289F9001112481E090E002C096
-:10088000880F991F4A95E2F7822B932B9C68089555
-:100890008F3240E7940790F48F3120E7920708F0F9
-:1008A000A2C0811536E5930708F497C09C01305625
-:1008B0002115304108F0A4C09F7093C0803320E719
-:1008C000920709F497C008F492C0813340E7940777
-:1008D00009F493C08233904709F092C080E093ED11
-:1008E0000895853A910509F48EC0863A910509F07C
-:1008F0008DC082E890E40895883A910509F489C092
-:10090000893A910509F488C08A3A910509F487C0AB
-:100910008B3A910509F486C08C3A910509F485C09B
-:100920008D3A910509F484C0803B910509F483C098
-:100930008E3A910509F482C08F3A910509F481C07D
-:10094000813B910509F480C0823B910509F47FC089
-:10095000833B910509F47EC0843B910509F47DC079
-:10096000853B910509F47CC0863B910509F47BC069
-:10097000873B910509F47AC0883B910509F479C059
-:10098000893B910509F478C08A3B910509F477C049
-:1009900080E094E408958591949108959927906C4E
-:1009A00008959F70906A0895982F8827816F906AA4
-:1009B000089590E2299F9001112481E090E002C007
-:1009C000880F991F4A95E2F7822B932B9A68089516
-:1009D000982F8827846F906A08958F719927982F90
-:1009E0008827906208958F519047946D089580E014
-:1009F00091ED089580E090ED089580E092ED0895E6
-:100A000080E090E0089581E890E4089583E890E420
-:100A1000089582EE94E4089589EE94E408958AEEB0
-:100A200094E4089585EB94E4089586EB94E40895A6
-:100A300087EB94E408958CEC94E408958DEC94E4B1
-:100A4000089583E895E408958AE895E4089582E995
-:100A500095E4089584E995E4089581E296E4089583
-:100A600083E296E4089584E296E4089585E296E4AC
-:100A7000089586E296E4089587E296E408958AE26E
-:100A800096E4089580E090E0089508959DE0799FB0
-:100A9000F001112494E3899FE00DF11D1124E60F6C
-:100AA000F11DEE0FFF1FE65FFE4F859194910895B3
-:100AB0008238910549F1B0F48133910509F458C0A9
-:100AC00048F48932910509F44EC08A32910509F43F
-:100AD00054C008958533910509F440C089339105C8
-:100AE00099F00895833E910529F138F4803E9105EF
-:100AF00091F0823E9105A1F00895863E9105F9F0AE
-:100B0000873E910531F108952091DD0220FD3AC024
-:100B100021FD38C008958091DD0280FD35C032C0CE
-:100B20008091DD0282FF32C08091DD0284FD30C001
-:100B300083EE39C08091DD0282FD28C0F5CF80911F
-:100B4000DD0283FF27C08091DD0284FD21C087EE96
-:100B50002AC08091DD0283FD1DC0F5CF8091DD02AA
-:100B600085FD1AC01BC08091DD0285FD17C014C031
-:100B70008091DD0286FD14C015C08091DD0286FDE6
-:100B800011C00EC080EE0FC089E30DC082EE0BC015
-:100B900080E009C086EE07C089E205C085E303C096
-:100BA0008AE201C081E390E0089508950C94D50590
-:100BB000E82FF0E0EF5DFE4F8081E82FEF70F0E06E
-:100BC00082958F7021E030E0A90102C0440F551FCB
-:100BD0008A95E2F740A308950F931F93CF93DF9375
-:100BE00085B7806885BF85B7806885BFC3E0D0E0E2
-:100BF00001E010E0FE01EF5DFE4F8081E82FEF7015
-:100C0000F0E021A182958F70A80102C0440F551F0A
-:100C10008A95E2F7CA01822B81A38C2F0E94D80506
-:100C2000219740F78CE090E061E070E0FC01EC5E21
-:100C3000FE4F2081E22FEF70F0E042A122952F704D
-:100C4000DB0102C0AA0FBB1F2A95E2F79D01242BEE
-:100C500022A3019758F7DF91CF911F910F910C9428
-:100C60009D03EF92FF920F931F93CF93DF9308E5BD
-:100C700011E0C3E0EE24E394F12CD5E08C2F0E9428
-:100C8000D8058CE090E040E050E0FC01EC5EFE4FC7
-:100C90006081E62FEF70F0E020A130E062956F7088
-:100CA00002C0359527956A95E2F720FD09C09701A6
-:100CB000082E02C0220F331F0A94E2F7422B532B57
-:100CC000019718F7F801929182918F018417950787
-:100CD00021F051834083D09300018C2F0E94D805CE
-:100CE000C15060F68091000187FD2CC08150809337
-:100CF00000018F3F39F08FE99FE00197F1F700C0C5
-:100D0000000020C0809156019091570190935F019F
-:100D100080935E01809154019091550190935D0103
-:100D200080935C01809152019091530190935B01FB
-:100D300080935A01809150019091510190935901F3
-:100D4000809358010E949F0381E0DF91CF911F9112
-:100D50000F91FF90EF900895E82FF0E0EE0FFF1F46
-:100D6000E85AFE4F808191810895089580916C0129
-:100D700008950F931F93CF93DF9300D000D01F925D
-:100D8000CDB7DEB79C018091610190916201281777
-:100D9000390709F493C03093620120936101223E28
-:100DA0003105F1F1293E310559F12A3E310559F15C
-:100DB000253B310559F1263B310551F1273B3105E2
-:100DC00051F12C3C310561F12D3C310531F12338D5
-:100DD00081E0380729F12A3891E0390709F12239F1
-:100DE00081E03807E9F0243991E03907C9F0213270
-:100DF00082E03807B9F0233292E0390789F415C050
-:100E000090E040E114C090E040E211C092E001C0E7
-:100E100094E040E00CC090E1FCCF90E040E407C0DB
-:100E200090E0F7CF90E044E002C090E041E089011B
-:100E30008DEF4C839D830E94560E80E00E94560EDB
-:100E400082E00E94560E4C81842F0E94560E9D8196
-:100E5000892F0E94560E80E00E94560E80E00E946C
-:100E6000560E80E00E94560E80E00E94560E809141
-:100E7000E302843019F583E089831B830A8380931E
-:100E8000E9008FEF9091E800815095FD06C095ED47
-:100E90009A95F1F700008111F5CF8091E80085FF68
-:100EA0000DC040E050E063E070E0CE0101960E948A
-:100EB000C4098091E8008E778093E8000F900F902E
-:100EC0000F900F900F90DF91CF911F910F91089588
-:100ED000CF93DF9300D01F92CDB7DEB72091E3020E
-:100EE000243021F522E029839B838A8383E0809349
-:100EF000E9008FEF9091E800815095FD06C095EDD7
-:100F00009A95F1F700008111F5CF8091E80085FFF7
-:100F10000DC040E050E063E070E0CE0101960E9419
-:100F2000C4098091E8008E778093E8000F900F90BD
-:100F30000F90DF91CF910895CF93DF93EC018DEF68
-:100F40000E94560E80E00E94560E83E00E94560ECC
-:100F500088810E94560E89810E94560E8A810E94C5
-:100F6000560E8B810E94560E8C810E94560E80E098
-:100F70000E94560E8091E3028430F9F482E080935F
-:100F8000E9008FEF9091E800815095FD06C095ED46
-:100F90009A95F1F700008111F5CF8091E80085FF67
-:100FA0000CC040E050E065E070E0CE010E94C40952
-:100FB0008091E8008E778093E800DF91CF910895CB
-:100FC000EF92FF920F931F93CF93DF93EC018DEF7E
-:100FD0000E94560E8E017E0188E0E80EF11CF80199
-:100FE00081918F010E94560E0E151F05C1F7809149
-:100FF000E302843039F581E08093E9008FEF90912E
-:10100000E800815095FD06C0F5EDFA95F1F7000076
-:101010008111F5CF8091E80085FF14C040E050E0D9
-:1010200068E070E0CE010E94C4098091E8008E77EC
-:101030008093E80088E0FE01A4E6B1E001900D9203
-:101040008A95E1F7DF91CF911F910F91FF90EF907B
-:1010500008958091E202811109C00E94590B0E94FB
-:10106000B60B8091E20084608093E20008951092B4
-:10107000E2020895089508950C94A7192091600143
-:101080002F5F822F62E30E942222992319F020937E
-:10109000600108951092600180916301882371F1CD
-:1010A0008091E302843041F58091E9008F702091B6
-:1010B000EC00922F917020FD90E8892B94E09093A2
-:1010C000E9009091EB0090FF14C09091EE0097FF23
-:1010D00010C09091E80095FF03C01092F100F9CF85
-:1010E0009091E80090FF05C09091E8009E77909362
-:1010F000E8008F708093E90010926301089542E048
-:1011000061EC81E00E94D30A42E061EC82E00E943F
-:10111000D30A42E061EC83E00E94D30A42E261EC30
-:1011200084E00C94D30A8091E502833009F453C023
-:1011300030F4813071F0823009F48CC008958A3027
-:1011400009F478C08B3009F45EC0893009F09AC088
-:1011500020C08091E402813A09F094C08091E800B7
-:10116000877F8093E8008091E8029091E902892BC3
-:1011700021F468E084E691E003C060E080E090E064
-:1011800070E00E940F0A8091E8008B778093E8005E
-:1011900008958091E402813209F074C08091E802E0
-:1011A0009091E902892B09F06DC08091E800877F5A
-:1011B0008093E8008091E80082FD05C08091E30201
-:1011C0008111F8CF5FC08091F10080936C01809114
-:1011D000E8008B7753C08091E402813A09F052C055
-:1011E0008091E8029091E902892B09F04BC080912F
-:1011F000E800877F8093E8008091E80080FFFCCFC3
-:1012000080910B0136C08091E4028132D9F5809142
-:10121000E8029091E902892BA9F58091E800877F87
-:101220008093E8000E94080B8091E60280930B01F6
-:101230000C947D138091E402813221F58091E800C5
-:10124000877F8093E8000E94080B8091E7028093DB
-:101250006D0108958091E402813AA1F48091E80043
-:10126000877F8093E8008091E80080FFFCCF809129
-:101270006D018093F1008091E8008E778093E80003
-:101280000C94080B089584B7877F84BF88E10FB65C
-:10129000F89480936000109260000FBE80E8809305
-:1012A0006100109261000E94EA0E0E94590B0E9498
-:1012B000B60B8091E20084608093E20078940E94F3
-:1012C000580E0E943B0E0E94EC0E81E091E00E94BD
-:1012D000960E0E94F40EFDCF292F332723303105BF
-:1012E000C9F064F42130310581F02230310509F074
-:1012F00043C084E790E026E931E042C02132310565
-:10130000F1F02232310541F137C082E190E02AE06C
-:1013100032E036C099278130910541F08230910545
-:1013200041F0892B49F5E2E9F1E005C0EEE7F1E093
-:1013300002C0E2E7F1E0849190E09F0121C06430B7
-:10134000D8F4E62FF0E0EE0FFF1FEF5CFE4F208198
-:10135000318189E090E014C0643070F470E0FB01EA
-:10136000EE0FFF1FE75DFE4F20813181FB01EB5D3A
-:10137000FE4F808190E004C080E090E020E030E00B
-:10138000FA01318320830895CF92DF92EF92FF928A
-:101390000F931F93CF93DF93EC018B016A010E949F
-:1013A000270B811133C0C114D10439F0F6018081BB
-:1013B0009181081B190BC80FD91FE12CF12C0115C5
-:1013C000110519F18091E80085FD16C08091E800B3
-:1013D0008E778093E800C114D10449F0F601808132
-:1013E0009181E80EF91EF182E08285E00FC00E9433
-:1013F000270B882321F30AC089918093F1000150C3
-:101400001109FFEFEF1AFF0ADACF80E0DF91CF91E9
-:101410001F910F91FF90EF90DF90CF900895209152
-:10142000EA023091EB022617370748F06115710583
-:1014300039F42091E8002E772093E80001C0B9012B
-:1014400040E061157105A9F12091E302222309F41E
-:1014500043C0253009F442C02091E80023FD40C07C
-:101460002091E80022FD32C02091E80020FFE9CF62
-:101470004091F3002091F20030E0342BFC01CF01C9
-:101480006115710559F02830310540F48191809340
-:10149000F100615071092F5F3F4FF1CF41E02830DB
-:1014A000310509F040E02091E8002E772093E80014
-:1014B000C8CF4111C9CF0AC08091E302882361F0EF
-:1014C000853061F08091E80083FD0AC08091E800DA
-:1014D00082FFF2CF80E0089582E0089583E00895CE
-:1014E00081E008952091EA023091EB022617370738
-:1014F00048F06115710539F42091E8002E772093AA
-:10150000E80001C0B901FC0120E06115710591F10D
-:101510008091E302882309F440C0853009F43FC07C
-:101520008091E80083FD3DC08091E80082FD2FC0DE
-:101530008091E80080FFE9CF2091F3008091F200D4
-:1015400090E0922B6115710559F08830910540F4B7
-:1015500024912093F1003196615071090196F2CFE8
-:1015600021E0089709F020E08091E8008E778093D1
-:10157000E800CBCF2111CCCF0AC08091E3028823B1
-:1015800061F0853061F08091E80083FD0AC08091B0
-:10159000E80082FFF2CF80E0089582E0089583E0C2
-:1015A000089581E00895982F973058F59093E900B9
-:1015B000981739F07091EC002091ED005091F000F7
-:1015C00003C0242F762F50E021FF19C03091EB008B
-:1015D0003E7F3093EB003091ED003D7F3093ED0086
-:1015E0003091EB0031603093EB007093EC0020936E
-:1015F000ED005093F0002091EE0027FF07C09F5FA1
-:10160000D3CF8F708093E90081E0089580E0089542
-:101610008091E40287FF11C08091E80082FD05C03F
-:101620008091E3028111F8CF11C08091E8008B779F
-:101630000BC08091E302882349F08091E80080FF8D
-:10164000F8CF8091E8008E778093E800089520918C
-:10165000E4003091E50095E64091EC00842F817024
-:1016600040FF22C08091E80080FD1CC08091E30211
-:10167000882391F0853091F08091EB0085FD10C0BA
-:101680004091E4005091E5004217530729F39A0175
-:10169000915011F784E0089582E0089583E0089561
-:1016A00081E0089580E008954091E80042FFDECF98
-:1016B00008950E94C70B0E94CF0BE0EEF0E08081FE
-:1016C00081608083E8EDF0E080818F77808319BCB2
-:1016D000A7EDB0E08C918E7F8C9380818F7E80838C
-:1016E0001092E20208950F931F93CF93DF930E940D
-:1016F000C70B0E94CF0BC8EDD0E088818F7788831D
-:1017000088818068888388818F7D888319BC109246
-:10171000E3021092DF021092E1021092E00200EE6A
-:1017200010E0F80180818B7F8083888181608883CD
-:1017300042E060E080E00E94D30AE1EEF0E08081C8
-:101740008E7F8083E2EEF0E0808181608083808103
-:1017500088608083F80180818E7F808388818061AA
-:101760008883DF91CF911F910F910895E8EDF0E00C
-:1017700080818F7E8083E7EDF0E0808181608083CF
-:1017800084E082BF81E08093E2020C94730BE8ED69
-:10179000F0E080818E7F80831092E20008951092A5
-:1017A000DA001092E10008951F920F920FB60F9287
-:1017B00011242F933F934F935F936F937F938F9356
-:1017C0009F93AF93BF93EF93FF938091E10082FFCC
-:1017D0000BC08091E20082FF07C08091E1008B7F07
-:1017E0008093E1000E943E088091DA0080FF1FC0D4
-:1017F0008091D80080FF1BC08091DA008E7F80939B
-:10180000DA008091D90080FF0DC080E189BD82E1BE
-:1018100089BD09B400FEFDCF81E08093E3020E9400
-:10182000290805C019BC1092E3020E943708809174
-:10183000E10080FF19C08091E20080FF15C0809117
-:10184000E2008E7F8093E2008091E20080618093CD
-:10185000E2008091D80080628093D80019BC85E0B6
-:101860008093E3020E943B088091E10084FF30C036
-:101870008091E20084FF2CC080E189BD82E189BDB6
-:1018800009B400FEFDCF8091D8008F7D8093D800F1
-:101890008091E1008F7E8093E1008091E2008F7E55
-:1018A0008093E2008091E20081608093E200809169
-:1018B000DF02882311F084E007C08091E30087FDF8
-:1018C00002C081E001C083E08093E3020E943C08F3
-:1018D0008091E10083FF29C08091E20083FF25C051
-:1018E0008091E100877F8093E10082E08093E302B2
-:1018F0001092DF028091E1008E7F8093E100809161
-:10190000E2008E7F8093E2008091E200806180930C
-:10191000E20042E060E080E00E94D30A8091F000A3
-:1019200088608093F0000E943A08FF91EF91BF9188
-:10193000AF919F918F917F916F915F914F913F9167
-:101940002F910F900FBE0F901F9018951F920F921E
-:101950000FB60F9211242F933F934F935F936F9382
-:101960007F938F939F93AF93BF93CF93DF93EF9327
-:10197000FF93C091E900CF708091EC00D82FD17017
-:1019800080FDD0E81092E9008091F000877F80937D
-:10199000F00078940E94EA0C1092E9008091F00027
-:1019A00088608093F000CD2BCF70C093E900FF9149
-:1019B000EF91DF91CF91BF91AF919F918F917F91E7
-:1019C0006F915F914F913F912F910F900FBE0F90AC
-:1019D0001F9018951F93CF93DF93CDB7DEB7AA97CB
-:1019E0000FB6F894DEBF0FBECDBFE4EEF2E088E0A4
-:1019F0008E0F9091F10091938E13FBCF0E9493086C
-:101A00008091E80083FF1FC18091E4029091E5027C
-:101A1000492F50E04A30510508F015C1FA01EA5A41
-:101A2000FF4F0C944222803881F0823809F00BC1BC
-:101A30008091E8028F708093E9008091EB0085FB34
-:101A4000882780F91092E90006C08091E002909109
-:101A5000E102911182609091E800977F9093E800F5
-:101A60008093F1001092F100C8C0282F2D7F09F05B
-:101A7000EAC0882319F0823061F0E5C08091E60267
-:101A8000813009F0E0C0933009F080E08093E102FA
-:101A90002BC08091E602811127C08091E8028F70EF
-:101AA00009F4D1C08093E9002091EB0020FF1CC015
-:101AB000933021F48091EB00806214C09091EB0090
-:101AC00090619093EB0021E030E0A90102C0440F47
-:101AD000551F8A95E2F74093EA001092EA00809140
-:101AE000EB0088608093EB001092E9008091E800A1
-:101AF000877F86C08111A7C01091E6021F77809171
-:101B0000E3008078812B8093E3008091E800877F59
-:101B10008093E8000E94080B8091E80080FFFCCFD2
-:101B20008091E30080688093E300111102C082E09D
-:101B300001C083E08093E30286C08058823008F0C1
-:101B400082C08091E6029091E7028C3D53E09507B8
-:101B500079F583E08A838AE289834FB7F894DE01BE
-:101B6000139620E03EE051E2E32FF0E0509357005F
-:101B7000E49120FF03C0E295EF703F5FEF708E2F7E
-:101B800090E0EA3010F0C79601C0C0968D939D9307
-:101B90002F5F243149F74FBF8091E800877F809302
-:101BA000E8006AE270E0CE0101960E940F0A14C0BC
-:101BB000AE014F5F5F4F6091E8020E946C09BC016B
-:101BC000009709F440C09091E800977F9093E80057
-:101BD00089819A810E94720A8091E8008B778093B4
-:101BE000E80031C0803879F58091E800877F8093E4
-:101BF000E8008091DF028093F1008091E8008E7709
-:101C00008093E8000E94080B1EC081111CC09091B7
-:101C1000E6029230C0F48091E800877F8093E8006C
-:101C20009093DF020E94080B8091DF02811106C0B1
-:101C30008091E30087FD02C081E001C084E08093D1
-:101C4000E3020E947F088091E80083FF0AC0809130
-:101C5000E800877F8093E8008091EB0080628093AA
-:101C6000EB00AA960FB6F894DEBF0FBECDBFDF9192
-:101C7000CF911F910895CF938091E3028823A1F023
-:101C8000C091E900CF709091EC00892F817090FD98
-:101C900080E8C82B1092E9008091E80083FD0E9443
-:101CA000EA0CCF70C093E900CF9108950C94650EB3
-:101CB00087E68093CC001092CD0088E08093C90025
-:101CC00086E08093CA00789408959091C80095FFAB
-:101CD000FCCF8093CE0008951F920F920FB60F9203
-:101CE00011242F933F934F938F939F93EF93FF93E1
-:101CF00080916F0190E09C012F5F3F4F40916E01FA
-:101D0000421741F03091CE00FC01E059FE4F308384
-:101D100020936F01FF91EF919F918F914F913F9190
-:101D20002F910F900FBE0F901F90189590937502F2
-:101D3000809374020895E0917402F09175023097D7
-:101D400021F00190F081E02D099480E00895E09168
-:101D50007402F0917502309721F00280F381E02D3A
-:101D600009940895E0917402F0917502309721F082
-:101D70000480F581E02D099408952091720230913C
-:101D800073028217930771F090937302809372022B
-:101D9000E0917402F0917502309721F00680F7818E
-:101DA000E02D0994089520917002309171028217FC
-:101DB000930771F09093710280937002E091740226
-:101DC000F0917502309721F00084F185E02D09949F
-:101DD000089508950C94E90E0E94DB190E94EC0509
-:101DE0000E94A91A0C9469205F926F927F928F9241
-:101DF0009F92AF92BF92CF92DF92EF92FF920F939A
-:101E00001F93CF93DF9300D000D01F92CDB7DEB7E2
-:101E10000E9431069FE7C92E92E0D92E03E010E020
-:101E2000AA24A394B12C502E802F0E94AC064C0102
-:101E3000F601729062906F01682679266114710430
-:101E4000A1F40150110978F78FEF89838A831B82EF
-:101E50000E94E4198160782F9D838C8349815A8187
-:101E60006B818D810E94A40F38C08091CC0281FDCE
-:101E70000E94B5062CE030E07501022E02C0EE0C87
-:101E8000FF1C0A94E2F7C70186219721892B09F1EB
-:101E900029835A828E209F2091E0892809F490E0BE
-:101EA0009B830E94E4198160782F9D838C834981F4
-:101EB0005A816B818D810E94A40F000F111FF801C0
-:101EC000E958FD4F80819181E826F926F182E08270
-:101ED00004C02150310980F6B4CF0E949A1D1091A0
-:101EE00076020E949B0E1817D1F00E949B0E8093E1
-:101EF00076020F900F900F900F900F90DF91CF917F
-:101F00001F910F91FF90EF90DF90CF90BF90AF9017
-:101F10009F908F907F906F905F900C94D6050F905C
-:101F20000F900F900F900F90DF91CF911F910F9115
-:101F3000FF90EF90DF90CF90BF90AF909F908F90E9
-:101F40007F906F905F900895CF93DF93CDB7DEB70A
-:101F50002B970FB6F894DEBF0FBECDBF4F835887C7
-:101F600069877A878B87DE01119686E0FD011192E1
-:101F70008A95E9F785E0FE01379601900D928A95E2
-:101F8000E1F749815A816B817C818D819E810E941C
-:101F90001B162B960FB6F894DEBF0FBECDBFDF9198
-:101FA000CF910895CF93882309F4C2C0C82F8238F7
-:101FB00059F40E949B0E81FDBBC089E30E94F51875
-:101FC0000E94781989E30CC0833879F40E949B0E33
-:101FD00080FDAEC083E50E94F5180E94781983E564
-:101FE0000E941219CF910C947819843859F40E94E8
-:101FF0009B0E82FD9DC087E40E94F5180E9478190F
-:1020000087E4EECF8CEF8C0F813A48F48C2F0E943E
-:10201000D21F81118DC08C2F0E94F518E3CF80E272
-:102020008C0F883048F4C77081E001C0880FCA95D2
-:10203000EAF70E943119D6CF8BE58C0F833078F404
-:10204000C53A29F0C63A31F083E890E005C081E84E
-:1020500090E002C082E890E0CF910C94BD0E88E53C
-:102060008C0F833108F064C0C83A39F1C93A41F1A4
-:10207000CA3A49F1CB3A51F1CC3A59F1CD3A61F132
-:10208000C03B69F1CE3A71F1CF3A79F1C13B81F1B0
-:10209000C23B89F1C33B91F1C43B99F1C53BA1F12E
-:1020A000C63BA9F1C73BB1F1C83BB9F1C93BC1F18E
-:1020B000CA3BC9F180E090E038C082EE90E035C0C4
-:1020C00089EE90E032C08AEE90E02FC085EB90E080
-:1020D0002CC086EB90E029C087EB90E026C08CEC0A
-:1020E00090E023C08DEC90E020C083E891E01DC01B
-:1020F0008AE891E01AC082E991E017C084E991E092
-:1021000014C081E292E011C083E292E00EC084E24A
-:1021100092E00BC085E292E008C086E292E005C042
-:1021200087E292E002C08AE292E0CF910C94D30E53
-:10213000CF910895882309F44BC0823859F40E9446
-:102140009B0E81FF45C089E30E94F5180E94781913
-:1021500089E30CC0833871F40E949B0E80FF38C065
-:1021600083E50E94F5180E94781983E50E941219F0
-:102170000C947819843859F40E949B0E82FF28C071
-:1021800087E40E94F5180E94781987E4EFCF9CEF4E
-:10219000980F913A58F390E2980F983050F4877066
-:1021A00091E001C0990F8A95EAF7892F0E943719AB
-:1021B000DFCF9BE5980F933020F480E090E00C9403
-:1021C000BD0E885A833120F480E090E00C94D30E49
-:1021D0000895882321F00E9431190C9478190895EC
-:1021E000882321F00E9437190C94781908957F9262
-:1021F0008F929F92AF92BF92CF92DF92EF92FF9217
-:102200000F931F93CF93DF931F92CDB7DEB77C015F
-:10221000C62E772EFC01058102950F7012811111D7
-:102220000E944E190E94EE18882379F0112369F05C
-:1022300080E28C0D883048F082E00E94D7180E941E
-:10224000EE1891E0D82ED92601C0D12CE72DE295C9
-:10225000EF70F0E0E05AFF4F0C944222872D807F10
-:10226000072D0F70882311F00295007F112389F04C
-:10227000002309F499C180E28C0D883020F4802F6E
-:102280000E94311903C0802F0E9441190E947819C1
-:102290008BC18C2D0E949A10002309F4C3C180E2E7
-:1022A0008C0D883020F4802F0E94371903C0802FB6
-:1022B0000E9447190E947819B5C1872D807F972DFC
-:1022C0009F70803211F4892F03C0892F8295807FFF
-:1022D000CC2021F0F1E0CF16A1F01DC0112339F080
-:1022E000002319F1013009F50E9461199BC10023F7
-:1022F00019F0013009F496C189830E94641989811B
-:1023000010C1112321F0063008F08CC10EC0053039
-:1023100008F088C106C1112359F0002331F0F701FC
-:10232000958190FF41C19F7095830E94E9107AC109
-:10233000002309F4F6C03EC1872D869586958370EB
-:1023400090E0009719F0019761F06CC1112321F022
-:102350008C2D972D937002C080E090E00E94BD0EFE
-:1023600061C1112321F08C2D972D937002C080E064
-:1023700090E00E94D30E56C18C2D112319F00E94BB
-:10238000A21C02C00E940A1D0E948F1D4BC1872DF6
-:10239000837009F052C0111145C18C2D829586952C
-:1023A0008770880F880F9C2D9F70892E912CA12CEF
-:1023B000B12C082E04C0880C991CAA1CBB1C0A94C2
-:1023C000D2F7C4FE14C00FE010E020E030E0B90105
-:1023D000A80104C0440F551F661F771F8A95D2F7C6
-:1023E000CB01BA01609570958095909503C060E02F
-:1023F00070E0CB01272D26952695237030E0223002
-:10240000310569F02330310589F0682979298A2955
-:102410009B292130310571F00E94631703C168299F
-:1024200079298A299B290E947F17FCC00E94631783
-:10243000C501B4010E944717F5C0112319F0872D7B
-:10244000817001C08695882309F4ECC08C2D82959B
-:1024500086958770880F880F9C2D9F70892E912CF0
-:10246000A12CB12C082E04C0880C991CAA1CBB1CE2
-:102470000A94D2F7C4FE14C00FE010E020E030E070
-:10248000B901A80104C0440F551F661F771F8A9524
-:10249000D2F7CB01BA01609570958095909503C0F5
-:1024A00060E070E0CB01272D269526952370422F02
-:1024B00050E04230510569F04330510589F06829F8
-:1024C00079298A299B294130510571F00E943D18D4
-:1024D000A9C0682979298A299B290E945918A2C074
-:1024E0000E943D18C501B4010E9421189BC08C2D8B
-:1024F00090E0FC01E05EF109E531F10508F050C023
-:10250000E059FF4F0C9442220C2D0F70872D8F71D4
-:10251000112321F00E94BA17802F07CF0E94DB17EA
-:10252000802F0E94F0107EC0112341F0053008F08A
-:1025300079C0872D8F710E94001874C0063008F092
-:1025400071C0F7CF112339F0872D8F710E94BA1710
-:1025500069C01123C9F3872D8F710E94DB1762C0F8
-:10256000112329F0872D8F710E94A5175BC00E944F
-:102570009B1758C0112351F0172D1F71812F0E94F6
-:10258000BA1763E0812F0E94CE184CC081E00E94F0
-:10259000D718023008F446C082E00E94D71842C023
-:1025A000112331F0002381F28C2D0E94D20F3AC00A
-:1025B000002389F28C2D0E949A1034C0472D4F7051
-:1025C0006C2DC7010E9442050E94BF162BC011113D
-:1025D00029C0472D4F7050E042305105B9F04CF4FE
-:1025E0004115510581F041305105E1F40E949120DF
-:1025F00019C04330510569F04430510599F48C2DD0
-:102600000E94E3200FC00E947A200CC00E94AD20DF
-:1026100009C00E94C02006C0472D4F706C2DC70115
-:102620000E944505DD20F9F00E94CA1880FD1BC0FC
-:10263000F70112820E94C4180E94BA17C7010E94B3
-:1026400042130E94C4180F90DF91CF911F910F91F8
-:10265000FF90EF90DF90CF90BF90AF909F908F90C2
-:102660007F900C94DB170F90DF91CF911F910F910A
-:10267000FF90EF90DF90CF90BF90AF909F908F90A2
-:102680007F9008950F931F93CF93DF93EC01888180
-:1026900099812B813C81232BB9F09F3F11F48F3F0F
-:1026A00099F0CE010E941202882371F0688179812D
-:1026B0008A810E94C0188C010E9475180E943C17E4
-:1026C000B801CE010E94F710DF91CF911F910F91B9
-:1026D00008950E944E190E945E190E9423190E94BB
-:1026E00078190E94401E0E948F1D80E090E00E9499
-:1026F000BD0E80E090E00C94D30E0E943E190C9425
-:1027000069130E94B518292F22952F7030E02C30C4
-:1027100031054CF42A3031056CF422503109223055
-:102720003105A8F407C02C30310569F02F30310590
-:1027300051F00DC0803F69F018F4803E40F409C0AC
-:10274000843F29F406C093FB882780F9089580E030
-:10275000089581E00895CF93DF9300D000D01F92B9
-:10276000CDB7DEB70F900F900F900F900F90DF91C5
-:10277000CF910895CF93DF9300D000D000D0CDB794
-:10278000DEB726960FB6F894DEBF0FBECDBFDF9141
-:10279000CF9108951F93CF93DF93C0917F0216E0EE
-:1027A00080918002C81799F0D0E01C9FF0011D9F16
-:1027B000F00D1124EF57FD4F4081518162817381EB
-:1027C000848195810E94BA132196C770E9CFDF9169
-:1027D000CF911F9108954091B1025091B202609142
-:1027E000B3027091B4028091B5029091B6020C943C
-:1027F000BA138091B60282958F7009F054C080910F
-:10280000B302882309F44FC080917F02A091800217
-:102810006091B1027091B2024091B4025091B50240
-:10282000B6E08A1709F43FC090E041155105C1F1A7
-:102830007F3F11F46F3FA1F1B89FF001B99FF00DF8
-:102840001124EF57FD4F218172132AC0208162139A
-:1028500027C02281211124C0238134812417350708
-:1028600010F421503109241B350B283C3105C0F4EC
-:102870002091B6022F7020612093B60226E0289F97
-:10288000F001299FF00D1124EA57FD4F80818F70D0
-:102890008061808381EB92E00E9442130C94CA1302
-:1028A00001968770BECF0895CF92DF92EF92FF928C
-:1028B0000F931F93CF93DF93CDB7DEB762970FB619
-:1028C000F894DEBF0FBECDBF8C0185E0F801DE01BC
-:1028D0001D9601900D928A95E1F7D8014C911196C1
-:1028E0005C91119712966C9112971396CD90DC9093
-:1028F00014973091B1027091B2028091B40290911C
-:10290000B502009709F46BC17F3F19F43F3F09F40A
-:1029100066C1E090B302EE2009F4C0C02091B60277
-:10292000C816D90628F0F601E81BF90BCF0104C040
-:10293000809590958C0D9D1DFF24F394883C910506
-:1029400078F0F12C207F09F0C6C07C2DD98AC88A86
-:1029500089890E94AB1381EB92E00E944213B1C0BF
-:10296000822F807F09F046C0751314C0341312C043
-:10297000611110C02F7020612093B6020E94EB13EA
-:1029800081EB92E00E9442138091B602D801159625
-:102990008C932EC0CD2819F15F3F11F44F3FF9F011
-:1029A000F62E61111CC080917F022091800236E0DA
-:1029B000821709F45AC090E0389FF001399FF00D5A
-:1029C0001124EF57FD4F7181571306C070814713D3
-:1029D00003C07281711103C001968770E9CFF62E92
-:1029E000662309F418C18091B60281608093B60213
-:1029F000F12C11C1751308C0341306C0611104C055
-:102A00008091B602D801C3C04D875E878D859E85B3
-:102A10006A8B0E9481136A898823E1F16623D1F1D0
-:102A20002091B602822F82958F7090E0029774F009
-:102A30008091B1029091B20298878F831986DB86CC
-:102A4000CA862C87CE0107960E94421386E0F801C1
-:102A5000A1EBB2E001900D928A95E1F70E94F91383
-:102A60000E94EB13FF24F394D6C04D875E878D85BB
-:102A70009E850E94B518292F22952F7030E02230B4
-:102A800031050CF0BCC09F7009F0B6C0805E883084
-:102A900008F4C1C0C8010E944213E4CFC816D90689
-:102AA00008F453C0F601E81BF90BCF01883C9105EF
-:102AB00008F450C0F12C7C2DD98AC88A89890E94DB
-:102AC000AB13E1EBF2E086E0DF011D928A95E9F7B6
-:102AD0000E94EB13A0C0751314C0341312C061110F
-:102AE00010C08091B602F8018583C8010E9442138C
-:102AF00086E0E1EBF2E0DF011D928A95E9F7FE2C1A
-:102B00008AC04D875E878D859E856A8B0E94811362
-:102B10006A89882309F4BECF662309F4BBCF2091CC
-:102B2000B602822F82958F7090E002970CF48ECFC0
-:102B30008091B1029091B2029A8389831B82DD82D7
-:102B4000CC822E83CE0101967FCF809590958C0DFF
-:102B50009D1DACCFF62E662309F49CCF75132EC0B5
-:102B600034132CC02091B60220FD1FC0822F829505
-:102B70008F70D9F0D80115962C9315978F3049F0A6
-:102B80008F5F982F9295907F822F8F70892B15964B
-:102B90008C93C8010E94421386E0F801A1EBB2E0D9
-:102BA00001900D928A95E1F793CF86E0F801A1EBB1
-:102BB000B2E001900D928A95E1F72DC04D875E87B6
-:102BC0008D859E850E948113811140CF8091B60230
-:102BD00081608093B602C8010E9442131CC0662324
-:102BE00009F458CF4D875E878D859E850E9481139D
-:102BF000882309F44FCF2ACF811148CF0CC024304D
-:102C000031050CF047CF9F7009F440CFF801958152
-:102C1000907F09F03BCF8F2D62960FB6F894DEBF00
-:102C20000FBECDBFDF91CF911F910F91FF90EF901D
-:102C3000DF90CF9008951F93CF93DF93CDB7DEB78A
-:102C40002C970FB6F894DEBF0FBECDBF4F835887C9
-:102C500069877A878B879C87CE0107960E945414D8
-:102C6000882369F08F8198852A853B85232BF1F194
-:102C70009F3F09F063C08F3F09F060C037C086E016
-:102C8000FE013796DE01119601900D928A95E1F7CB
-:102C90006F817885EA85FB8530974