diff options
author | Stanley Lai <stanleylai.sg@gmail.com> | 2016-06-19 20:29:42 -0700 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2016-06-19 23:29:42 -0400 |
commit | 3302258abd8929e03c9af71393afc5c9d6947c23 (patch) | |
tree | 64d43847617faf94f3e76055062ead63a972264c | |
parent | 3f6fac4721c0f03dab7704b09329d720c85470ce (diff) |
Added WS2812 support for KC60 (#419)
* Added WS2812 support for KC60
* Reorganized WS2812 support into its own keymap
* Fixed relative link in README
* Moved WS2812 mention in README to the bottom
* Fixed titling in WS2812 README
* Reverted KC60 Makefile and default keymap back
* Moved RGB specific config.h to ws2812 keymap folder
-rw-r--r-- | keyboard/kc60/Makefile | 3 | ||||
-rw-r--r-- | keyboard/kc60/README.md | 9 | ||||
-rw-r--r-- | keyboard/kc60/config.h | 2 | ||||
-rw-r--r-- | keyboard/kc60/kc60.c | 4 | ||||
-rw-r--r-- | keyboard/kc60/keymaps/default/compiled.hex | 3213 | ||||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/Makefile | 63 | ||||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/README.md | 21 | ||||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/compiled.hex | 1764 | ||||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/config.h | 10 | ||||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/keymap.c | 161 | ||||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/ws2812_example.jpg | bin | 0 -> 226362 bytes | |||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/ws2812_underside-lit.jpg | bin | 0 -> 205067 bytes | |||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/ws2812_underside.jpg | bin | 0 -> 354124 bytes | |||
-rw-r--r-- | keyboard/kc60/keymaps/ws2812/ws2812_wiring.jpg | bin | 0 -> 347989 bytes |
14 files changed, 3792 insertions, 1458 deletions
diff --git a/keyboard/kc60/Makefile b/keyboard/kc60/Makefile index 84b72cde60..1a02d4f1cd 100644 --- a/keyboard/kc60/Makefile +++ b/keyboard/kc60/Makefile @@ -27,7 +27,7 @@ # make flip-ee = Download the eeprom file to the device, using Atmel FLIP # (must have Atmel FLIP installed). # -# make debug = Start either simulavr or avarice as specified for debugging, +# make debug = Start either simulavr or avarice as specified for debugging, # with avr-gdb or avr-insight as the front end for debugging. # # make filename.s = Just compile filename.c into the assembler code only. @@ -111,4 +111,3 @@ AUDIO_ENABLE ?= no # Audio output on port C6 ifndef QUANTUM_DIR include ../../Makefile endif - diff --git a/keyboard/kc60/README.md b/keyboard/kc60/README.md index fbc5ac9422..00d78d0a6b 100644 --- a/keyboard/kc60/README.md +++ b/keyboard/kc60/README.md @@ -2,12 +2,10 @@ KC60 (version 2.0) keyboard firmware ====================== ## Quantum MK Firmware - For the full Quantum feature list, see [the parent README.md](/README.md). ## Building - -Download or clone the whole firmware and navigate to the keyboard/kc60 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. +Download or clone the whole firmware and navigate to the keyboard/kc60 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. Depending on which keymap you would like to use, you will have to compile slightly differently. @@ -22,3 +20,8 @@ To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` $ make KEYMAP=[default|jack|<name>] ``` Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. + +## WS2812 Support +![Image of KC60 with RGB Underglow](keymaps/ws2812/ws2812_example.jpg) + +Build with WS2812 Support by running `make KEYMAP=ws2812`. diff --git a/keyboard/kc60/config.h b/keyboard/kc60/config.h index 91d4e09c2e..956a569f93 100644 --- a/keyboard/kc60/config.h +++ b/keyboard/kc60/config.h @@ -45,7 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // Possible pins for columns include: F1 F0 E6 D7 D6 D4 C7 C6 B7 B5 B4 B3 B1 B0 // Pins for rows include: D0 D1 F6 F7 D5 -// KC60 Version 2 +// KC60 Version 2 #define MATRIX_ROW_PINS { D0, D1, F6, F7, D5 } #define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 } #define UNUSED_PINS diff --git a/keyboard/kc60/kc60.c b/keyboard/kc60/kc60.c index 0a578b2b88..64c0675cd7 100644 --- a/keyboard/kc60/kc60.c +++ b/keyboard/kc60/kc60.c @@ -62,7 +62,7 @@ void backlight_init_ports() DDRB |= (1<<6); PORTB &= ~(1<<6); - // Use full 16-bit resolution. + // Use full 16-bit resolution. ICR1 = 0xFFFF; // I could write a wall of text here to explain... but TL;DW @@ -99,7 +99,7 @@ void backlight_set(uint8_t level) // Set the brightness CHANNEL = 0xFFFF; } - else + else { // Turn on PWM control of PB6 TCCR1A |= _BV(COM1B1); diff --git a/keyboard/kc60/keymaps/default/compiled.hex b/keyboard/kc60/keymaps/default/compiled.hex index c8233506df..4e89e1b39c 100644 --- a/keyboard/kc60/keymaps/default/compiled.hex +++ b/keyboard/kc60/keymaps/default/compiled.hex @@ -1,1451 +1,1764 @@ -:100000000C9472060C94B6060C94B6060C94B606C4
-:100010000C94B6060C94B6060C94B6060C94B60670
-:100020000C94B6060C94B6060C94AB110C947D128D
-:100030000C9454200C94B6060C94B6060C94B60698
-:100040000C94B6060C94B6060C94B6060C94B60640
-:100050000C94B6060C94BB200C94B6060C94B60611
-:100060000C94B6060C94B6060C94B6060C94B60620
-:100070000C94B6060C94B6060C94B6060C94B60610
-:100080000C94B6060C94B6060C94B6060C94B60600
-:100090000C94B6060C94B6060C94B6060C94B606F0
-:1000A0000C94B6060C94B6060C94B606E212041331
-:1000B000EF130413EF1346136913EF13BE13D11399
-:1000C0001A171A17491749178917AB17FA18FA1888
-:1000D000B617FA185D185D18C718CF18FA18F51872
-:1000E0006A186A186A186A186A186A186A186A1800
-:1000F0006A186A186A186A186A186A186A186A18F0
-:100100007A188A1891189818A21829001E001F0042
-:1001100020002100220023002400250026002700C3
-:100120002D002E002A002B0014001A0008001500D4
-:1001300017001C0018000C00120013002F003000E4
-:100140003100390004001600070009000A000B0006
-:100150000D000E000F003300340000002800E10005
-:1001600000001D001B000600190005001100100012
-:100170003600370038000000E500E000E200E30050
-:10018000000000002C000000000000000000E7005C
-:10019000E600E40000500A44454255473A20656EA7
-:1001A00061626C65642E0A005374617465206F6629
-:1001B00020726F772025583A2025303136620A00A8
-:1001C00048756D616E2D7265616461626C65206D4C
-:1001D00061747269782073746174653A0D0A004421
-:1001E00065626F756E63696E672064656C61792006
-:1001F00072656D61696E696E673A2025580A005B09
-:10020000735D004B6579626F617264207374617213
-:10021000742E0A005B575D005B535D005B525D000E
-:100220005B445D005B435D000E036B0063003600C2
-:100230003000760032000000080359006F0075009E
-:1002400000000403090409027400040100A0FA0973
-:1002500004000001030101000921110100012240F5
-:10026000000705810308000A0904010001030102D7
-:1002700000092111010001224D0007058203080039
-:100280000A09040200010300000009211101000114
-:100290002236000705830308000A0904030002034D
-:1002A000000000092111010001222000070584033C
-:1002B00020000107050403200001120110010000C5
-:1002C0000008EDFE60600100010200010631FF0937
-:1002D00074A1010975150025FF9520750881020993
-:1002E00076150025FF952075089102C0050109804B
-:1002F000A101850216010026B7001A01002AB700E5
-:10030000751095018100C0050C0901A10185031636
-:100310000100269C021A01002A9C02751095018199
-:1003200000C005010902A1010901A1000509190187
-:1003300029051500250195057501810295017503B3
-:1003400081010501093009311581257F9502750864
-:10035000810609381581257F950175088106050CF0
-:100360000A38021581257F950175088106C0C005F0
-:10037000010906A101050719E029E71500250195E6
-:100380000875018102950175088101050819012987
-:1003900005950575019102950175039101050719F0
-:1003A0000029FF150026FF00950675088100C00A88
-:1003B000002530325820006B6579626F6172645F8E
-:1003C0007265706F72743A20004B6579626F61726A
-:1003D00064204C4544732073746174653A20257819
-:1003E0000A00646F6E652E0A00626F6F676D616749
-:1003F0006963207363616E3A202E2E2E2000290A35
-:10040000002575002F002575005D2800256400205B
-:1004100000256400200025640020002564007C0085
-:1004200025303258006D6F7573656B6579205B629E
-:10043000746E7C782079207620685D287265702F34
-:1004400061636C293A205B006D6B5F776865656C52
-:100450005F74696D655F746F5F6D6178203D202505
-:10046000640A006D6B5F776865656C5F6D61785FCE
-:100470007370656564203D2025640A006D6B5F74B0
-:10048000696D655F746F5F6D6178203D2025640A3A
-:10049000006D6B5F6D61785F7370656564203D20F2
-:1004A00025640A006D6B5F696E74657276616C20FD
-:1004B0003D2025640A006D6B5F64656C6179203DA9
-:1004C0002025640A006D6B5F776865656C5F7469F1
-:1004D0006D655F746F5F6D6178203D2025640A0053
-:1004E0006D6B5F776865656C5F6D61785F73706574
-:1004F0006564203D2025640A006D6B5F74696D653D
-:100500005F746F5F6D6178203D2025640A006D6B1C
-:100510005F6D61785F7370656564203D2025640AB6
-:10052000006D6B5F696E74657276616C203D20258D
-:10053000640A006D6B5F64656C6179203D20256401
-:100540000A000A00257500363A20776865656C5FF9
-:1005500074696D655F746F5F6D61783A20000A00A1
-:10056000257500353A20776865656C5F6D61785F49
-:1005700073706565643A20000A00257500343A20DE
-:1005800074696D655F746F5F6D61783A20000A0071
-:10059000257500333A206D61785F73706565643A44
-:1005A00020000A00257500323A20696E7465727663
-:1005B000616C286D73293A20000A00257500313AD4
-:1005C0002064656C6179282A31306D73293A2000E6
-:1005D0000A092D2056616C756573202D0A004D3E69
-:1005E000004D25643E20003F0073657420646566FD
-:1005F00061756C740A00433E20007768657265205F
-:1006000064656C74613A20637572736F723D256422
-:100610002C20776865656C3D25640A536565206804
-:100620007474703A2F2F656E2E77696B69706564EC
-:1006300069612E6F72672F77696B692F4D6F7573C4
-:10064000655F6B6579730A000A092D204D6F75731C
-:10065000656B6579202D0A4553432F713A097175F1
-:1006600069740A313A0964656C6179282A31306D00
-:1006700073290A323A09696E74657276616C286D65
-:1006800073290A333A096D61785F73706565640A8E
-:10069000343A0974696D655F746F5F6D61780A350E
-:1006A0003A09776865656C5F6D61785F7370656541
-:1006B000640A363A09776865656C5F74696D655FD1
-:1006C000746F5F6D61780A0A703A097072696E74AE
-:1006D0002076616C7565730A643A097365742064E9
-:1006E000656661756C74730A75703A092B310A641A
-:1006F0006F776E3A092D310A706775703A092B31A0
-:10070000300A7067646F776E3A092D31300A0A73C8
-:1007100070656564203D2064656C7461202A206DDD
-:1007200061785F7370656564202A20287265706542
-:100730006174202F2074696D655F746F5F6D6178DF
-:10074000290A003F004D3E2000433E20004C256416
-:100750000A0074696D65725F636F756E743A202567
-:1007600030346C580A006B6579626F6172645F693E
-:10077000646C653A2025580A006B6579626F617276
-:10078000645F70726F746F636F6C3A2025580A0053
-:10079000686F73745F6B6579626F6172645F6C65BB
-:1007A000647328293A2025580A000A092D20537419
-:1007B00061747573202D0A004743433A20342E3864
-:1007C0002E31204156522D4C4942433A20312E3889
-:1007D0002E3073766E204156525F415243483A2084
-:1007E000617672350A004F5054494F4E533A204CAF
-:1007F00055464120424F4F544D41474943204D4FAC
-:100800005553454B45592045585452414B45592065
-:10081000434F4E534F4C4520434F4D4D414E442086
-:10082000343039360A004255494C443A203865384C
-:1008300039313730202831333A32333A3434204A90
-:10084000756E2031342032303136290A0056494441
-:100850003A2030784645454428596F75292050493B
-:10086000443A20307836303630286B633630763272
-:1008700029205645523A203078303030310A004431
-:100880004553433A204120637573746F6D206B6547
-:1008900079626F6172640A000A092D2056657273CD
-:1008A000696F6E202D0A000A092D20436F6E736F49
-:1008B0006C65202D0A4553432F713A09717569748F
-:1008C0000A6D3A096D6F7573656B65790A000A09DF
-:1008D0002D204D61676963202D0A443A0944656201
-:1008E0007567204D65737361676520546F67676C2A
-:1008F000650A583A094D61747269782044656275D9
-:1009000067204D6F646520546F67676C65202D20EC
-:1009100053686F77206B65797072657373657320A8
-:10092000696E206D617472697820677269640A4B20
-:100930003A094B6579626F6172642044656275673C
-:1009400020546F67676C65202D2053686F77206B8C
-:1009500065797072657373207265706F72740A4D79
-:100960003A094465627567204D6F75736520546F51
-:1009700067676C650A563A0956657273696F6E0A45
-:10098000533A095374617475730A433A09416374A5
-:10099000697661746520436F6E736F6C65204D6F6F
-:1009A00064650A46312D4631303A095377697463DC
-:1009B0006820746F204C6179657220302D392028B1
-:1009C000463130203D204C30290A302D393A095328
-:1009D000776974636820746F204C61796572203088
-:1009E0002D390A4553433A09537769746368207473
-:1009F0006F204C6179657220302028616C746572BB
-:100A00006E617465206B65792031290A4752415621
-:100A1000453A0953776974636820746F204C617993
-:100A2000657220302028616C7465726E6174652077
-:100A30006B65792032290A50415553453A094A7568
-:100A40006D7020746F20426F6F746C6F616465729B
-:100A500020285265736574290A453A095072696EF7
-:100A60007420454550524F4D2053657474696E672C
-:100A7000730A000A002575002E6C6576656C3A20B5
-:100A8000000A002575002E656E61626C653A2000D3
-:100A90000A0025303258006261636B6C69676874C4
-:100AA0005F636F6E6669672E7261773A20000A0095
-:100AB0002575002E6E6B726F3A20000A00257500B6
-:100AC0002E737761705F6261636B736C6173685FD3
-:100AD0006261636B73706163653A20000A0025757B
-:100AE000002E737761705F67726176655F6573630F
-:100AF0003A20000A002575002E6E6F5F6775693A0F
-:100B000020000A002575002E737761705F72616C9A
-:100B1000745F726775693A20000A002575002E73AC
-:100B20007761705F6C616C745F6C6775693A200007
-:100B30000A002575002E636170736C6F636B5F74C0
-:100B40006F5F636F6E74726F6C3A20000A002575D8
-:100B5000002E737761705F636F6E74726F6C5F638A
-:100B60006170736C6F636B3A20000A002530325855
-:100B7000006B65796D61705F636F6E6669672E7279
-:100B800061773A20000A002575002E6D6F75736538
-:100B90003A20000A002575002E6B6579626F61723C
-:100BA000643A20000A002575002E6D617472697820
-:100BB0003A20000A002575002E656E61626C653A68
-:100BC00020000A00253032580064656275675F6353
-:100BD0006F6E6669672E7261773A20000A0025758C
-:100BE0000064656661756C745F6C617965723A204A
-:100BF000003F000A6D6F7573653A206F66660A00E4
-:100C00000A6D6F7573653A206F6E0A000A6B65791D
-:100C1000626F6172643A206F66660A000A6B6579DA
-:100C2000626F6172643A206F6E0A000A6D617472BD
-:100C300069783A206F66660A000A6D617472697895
-:100C40003A206F6E0A000A64656275673A206F6623
-:100C5000660A000A64656275673A206F6E0A000AC8
-:100C60000A4A756D70696E6720746F20626F6F74C9
-:100C70006C6F616465722E2E2E2000433E2000654D
-:100C800065636F6E6669673A0A006261636B6C69DF
-:100C900067687420737465703A2025750A00626174
-:100CA000636B6C6967687420746F67676C653A2062
-:100CB00025750A006261636B6C69676874206465FE
-:100CC0006372656173653A2025750A006261636B22
-:100CD0006C6967687420696E6372656173653A2038
-:100CE00025750A0011241FBECFEFDAE0DEBFCDBFAD
-:100CF00004B603FE24C08091F3019091F401A09109
-:100D0000F501B091F6018730904BA740B04BB9F494
-:100D10001092F3011092F4011092F5011092F60175
-:100D200014BE84B7877F84BF88E10FB6F8948093A0
-:100D30006000109260000FBEE0E0F8E3099511E05A
-:100D4000A0E0B1E0EEE4FAE502C005900D92A63411
-:100D5000B107D9F721E0A6E4B1E001C01D92A33F9D
-:100D6000B207E1F70E94EB0E0C94252D0C940000C5
-:100D7000FF93EF93E0914601F0914701309709F01E
-:100D80000995EF91FF910895FC018591803011F054
-:100D9000EFDFFBCF0895FF27E0E230E247FF0CC012
-:100DA000419597FF09C0EDE260957095809590950B
-:100DB000611D711D811D911D27FF02C0219530E32A
-:100DC00050E2AA27660F771F881F991FAA1FA41732
-:100DD00010F0A41B63955A95A9F7AA3008F0A95FF3
-:100DE000A05DAF93F395611571058105910541F7FC
-:100DF000ED3211F4EF93F395F21718F43F93F39556
-:100E0000FBCF8F91B5DFFA95E1F70895E991F9915C
-:100E10008591803021F0853219F0AADFF9CF08954D
-:100E200020E0E89455915532C1F3503311F46894A1
-:100E300055915A3348F4505390F3220F022E220F4B
-:100E4000220F200D250FF4CF0EF421958991999151
-:100E5000533619F3533729F1533559F1BC0188271B
-:100E60009927E8945C3621F4899199916894559179
-:100E7000543639F446EF7EF077FF0DC08FEF9FEFC9
-:100E80000AC055374AE039F0583540E121F0523672
-:100E900042E009F00895FF93EF937DDFEF91FF911A
-:100EA000B7CFFF93EF93FC0181918030B9F360DFFE
-:100EB000FBCFFF93EF9368DFF1CFDF93CF93CDB7F5
-:100EC000DEB72596A3DFCF91DF91089508950895A9
-:100ED00081E0089508950C9467070C9468070C94BA
-:100EE0006A07269A2E988FEF9FEF90938700809342
-:100EF000860082E28093800089E1809381000C94D7
-:100F0000AF2A0E9471070C9466072E9881110AC0BF
-:100F1000809180008F7D8093800010928B001092D2
-:100F20008A000895833041F480918000806280932C
-:100F300080008FEF9FEF12C090918000906290939D
-:100F4000800023E030E0281B3109220F331F8FEF90
-:100F50009FEF02C0969587952A95E2F790938B00B4
-:100F600080938A00089580E090E0089581E00895DC
-:100F70000C94B60708950F931F93CF93DF93EC0162
-:100F800008811981C8010E94931EB8010E9454086B
-:100F90008C01BE010E94B807882309F47AC08A81B7
-:100FA0008823C9F18091530181111EC0043180E56D
-:100FB000180789F50E94BA0781E0809353010E94C7
-:100FC0008620909352018093510110924A01109211
-:100FD0004C0110924B0110924E0110924D01109253
-:100FE000500110924F0155C08091510190915201D2
-:100FF0000E949220883C910570F480914A01E82F6C
-:10100000F0E0EE0FFF1FE55BFE4F118300838F5F63
-:1010100080934A013EC0043880E5180721F0053866
-:101020001045A1F02AC08A81882321F0109248013E
-:1010300082E012C080914801811106C086E20E94C0
-:10104000B81586E20E94801682E014C08A81882347
-:1010500031F01092490180E20E94CF161AC08091AF
-:101060004901811106C087E20E94B81587E20E94FB
-:10107000801680E20E94D6160CC081E08093480161
-:1010800080934901CE01DF91CF911F910F910C9474
-:101090006D0780E0DF91CF911F910F9108950C941F
-:1010A00081070C946B0708959EE0799FF00111244D
-:1010B00096E4899FE00DF11D1124E60FF11DEE0F5E
-:1010C000FF1FE65FFE4F859194910895880F991F49
-:1010D00086579040FC01859194910895880F991F3F
-:1010E000865F9E4FFC018591949108950F931F9305
-:1010F000CF93DF93EC01811521E39207A0F58115D1
-:1011000030E3930708F0D7C0883E9105D8F4803EBD
-:10111000910508F06FC0883A910578F4853A9105F9
-:1011200008F06AC08130910509F4F8C108F4F3C1F0
-:101130008430910508F05EC0EEC18B3B910508F448
-:1011400066C0E9C1C11580E2D80708F0AFC0C1157B
-:1011500091E0D90708F04EC0C03FD10508F4DBC1CB
-:101160008E0110651CC2803820E5920700F580379B
-:1011700030E5930708F0A3C0C11580E5D80709F44E
-:10118000ACC050F4CE01905480319F4008F0C3C1F0
-:101190008E011F70106A03C2C13030E5D30709F415
-:1011A000AAC0C43180E5D80708F4AFC0B4C1C338C1
-:1011B00090E5D90709F48EC050F4C13830E5D30763
-:1011C00009F482C008F083C000E011EDE8C1C0312D
-:1011D00091E5D90708F49FC1C11527E5D20708F4A6
-:1011E00036C1CE0190578115904108F094C18E010F
-:1011F0001F708FC18E01D3C1853A910509F491C149
-:10120000863A910509F490C103E810E4C8C1883A10
-:10121000910509F48CC1893A910509F48BC18A3A88
-:10122000910509F48AC18B3A910509F489C18C3A78
-:10123000910509F488C18D3A910509F487C1803B75
-:10124000910509F486C18E3A910509F485C18F3A5A
-:10125000910509F484C1813B910509F483C1823B66
-:10126000910509F482C1833B910509F481C1843B56
-:10127000910509F480C1853B910509F47FC1863B46
-:10128000910509F47EC1873B910509F47DC1883B36
-:10129000910509F47CC1893B910509F47BC18A3B26
-:1012A000910509F07AC10AE216E479C1CE019F7076
-:1012B0000E946E0875C18C011127106C70C18C01E1
-:1012C0000F701127146D6BC100E010ED68C100E0D4
-:1012D00012ED65C100E013ED62C10E9468198FEF45
-:1012E00094E32CE0815090402040E1F700C00000E2
-:1012F0000E94E02054C186E991E00E94C4068091DA
-:10130000D30181608093D3014AC10E94932281114D
-:1013100002C00E9474220E94B02290E09093F201D9
-:101320008093F101C23030E5D30721F48091F101BF
-:10133000816086C0C43080E5D80721F48091F10136
-:1013400082607EC0C63090E5D90721F48091F1011A
-:10135000846076C0C83020E5D20719F48091F1018D
-:1013600027C0CA3030E5D30721F48091F1018061B4
-:1013700067C0CC3080E5D80721F48091F10180620C
-:101380005FC0CE3090E5D90721F48091F1018064EF
-:1013900057C0C03120E5D20721F48091F101806867
-:1013A0004FC0C23130E5D30729F48091F101846048
-:1013B000886046C0C33080E5D80721F48091F101F0
-:1013C0008E7F3EC0C53090E5D90721F48091F101B0
-:1013D0008D7F36C0C73020E5D20721F48091F1011E
-:1013E0008B7F2EC0C93030E5D30719F48091F1010D
-:1013F00026C0CB3080E5D80721F48091F1018F7EA3
-:101400001FC0CD3090E5D90721F48091F1018F7D87
-:1014100017C0CF3020E5D20721F48091F1018F7BF6
-:101420000FC0C13130E5D30721F48091F1018F77EE
-:1014300007C0C331D04531F48091F1018B7F877FA4
-:101440008093F1018091F1010E94B422A8C08D2FF8
-:1014500099278F70992781309105E9F48E010370E7
-:1014600011279C0102C0220F331F0A95E2F7890160
-:101470001C68CE01E4E0880F991FEA95E1F7882700
-:101480009370082B192BF3E0CC0FDD1FFA95E1F7D1
-:10149000C076DD272CC08230910529F41C2F00274F
-:1014A000016F106A7CC08330910561F4CE018370B6
-:1014B000992701E010E002C0000F111F8A95E2F7A2
-:1014C0001C680EC084309105A9F4CE018370992761
-:1014D00001E010E002C0000F111F8A95E2F71A68C0
-:1014E00063E0CC0FDD1F6A95E1F7C07ED7700C2B4F
-:1014F0001D2B55C08530910529F41C2F0027046F42
-:10150000106A4DC0069709F04AC0CF71DD271C2F25
-:101510000027106244C000E010E041C001E010E08C
-:101520003EC001E810E43BC002E810E438C002EE1F
-:1015300014E435C009EE14E432C00AEE14E42FC0FE
-:1015400005EB14E42CC006EB14E429C007EB14E40B
-:1015500026C00CEC14E423C00DEC14E420C003E816
-:1015600015E41DC00AE815E41AC002E915E417C025
-:1015700004E915E414C001E216E411C003E216E424
-:101580000EC004E216E40BC005E216E408C006E251
-:1015900016E405C007E216E402C000E014E4C80146
-:1015A000DF91CF911F910F9108959EE0799FF001F7
-:1015B000112496E4899FE00DF11D1124E60FF11D21
-:1015C000EE0FFF1FE65FFE4F85919491803E9105DF
-:1015D000E0F4803C910558F58133910509F46FC022
-:1015E00048F48932910509F463C08A32910509F4FF
-:1015F0006DC072C089339105E9F082389105D1F050
-:101600008533910509F44DC067C0833E910581F192
-:1016100038F4803E9105B9F0823E9105D9F05CC066
-:10162000863E910561F1873E9105A1F155C00E946A
-:10163000660808952091F10120FD02C021FF4CC0F1
-:1016400080EE90E049C08091F10180FFF9CF89E3FD
-:1016500090E042C08091F10182FF0EC08091F101C3
-:1016600084FF03C080E090E037C083EE90E034C098
-:101670008091F10182FFF2CF82EE90E02DC0809147
-:10168000F10183FF0BC08091F10184FDEBCF87EE68
-:1016900090E022C08091F10183FFF5CF86EE90E0CB
-:1016A0001BC08091F10185FF07C089E290E014C062
-:1016B0008091F10185FFF9CF85E390E00DC0809125
-:1016C000F10186FF07C08AE290E006C08091F10137
-:1016D00086FFF9CF81E390E00E94760808950C948C
-:1016E0006F07E82FF0E0EE5DFE4F8081E82FEF708E
-:1016F000F0E0282F22952F7081E090E0022E01C0AB
-:10170000880F0A94EAF780A308950F931F93CF934D
-:10171000DF9385B7806885BF85B7806885BFC4E0E3
-:10172000D0E001E010E0FE01EE5DFE4F8081E82F89
-:10173000EF70F0E021A182958F70A80102C0440FE4
-:10174000551F8A95E2F7242B21A38C2F0E94710B41
-:10175000219748F78DE090E041E050E0FC01EC5E1D
-:10176000FE4F2081E22FEF70F0E062A122952F70F2
-:10177000DA0102C0AA0FBB1F2A95E2F76A2B62A307
-:10178000019760F7DF91CF911F910F910C944F0853
-:10179000EF92FF920F931F93CF93DF93CEE5D1E0AB
-:1017A00084E0E82E01E010E095E0F92E8E2D0E94F5
-:1017B000710B2DE030E040E050E0F901EC5EFE4FAF
-:1017C0008081E82FEF70F0E060A170E082958F706B
-:1017D00002C0759567958A95E2F760FD09C0B8016A
-:1017E000022E02C0660F771F0A94E2F7462B572B92
-:1017F0002150310910F73A912A912417350721F029
-:1018000059834883F09200018E2D0E94710BEA9457
-:101810009FEFE912CBCF2091000127FD2EC08091D0
-:10182000D30180FF10C0822F992787FD90959F9349
-:101830002F938FED91E09F938F930E945D070F9000
-:101840000F900F900F9080910001815080930001C4
-:1018500087FD07C08FE99FE00197F1F700C0000006
-:101860000CC0A8E6B1E0EEE5F1E0929182919E9382
-:101870008E9391E0E435F907C1F70E94510881E0A9
-:10188000DF91CF911F910F91FF90EF900895E82F76
-:10189000F0E0EE0FFF1FE25AFE4F80819181089524
-:1018A000EF92FF920F931F93CF93DF938091D30119
-:1018B00080FF04C080EC91E00E94C4060EE511E0B8
-:1018C000C0E0D0E048EAE42E41E0F42E8091D3015C
-:1018D00080FF13C0F801808191810E94F01F9F93C7
-:1018E0008F93DF93CF93FF92EF920E945D070F904B
-:1018F0000F900F900F900F900F9021960E5F1F4F3B
-:10190000C530D10519F7DF91CF911F910F91FF904D
-:10191000EF9008951F93CF93DF93C8E6D1E010E0D6
-:101920009A918A910E94D21F180F81E0CE35D80774
-:10193000B9F7812FDF91CF911F91089580917301A5
-:1019400008959FB7F89410926A019FBF9091E801A3
-:10195000943009F058C09091E9009F702091EC00FC
-:1019600020FF02C020E801C020E0292B94E09093E2
-:10197000E9009091EB0090FF43C09091EE0097FF3B
-:101980003FC090916801992321F09091E80095FF64
-:1019900037C01092680196E03091E80035FD15C01F
-:1019A0003091E801343061F53091EB0035FD28C00D
-:1019B000915021F481E08093680122C0EFE9FFE0BB
-:1019C0003197F1F700C00000E7CF8093F1008091DC
-:1019D000E80085FD0AC08091E80080FFFCCF80917F
-:1019E000E8008E778093E80006C08FB7F89491E006
-:1019F00090936A018FBF2F702093E90080E00895D3
-:101A00002F702093E9008FEF0895CF93DF9300D0DC
-:101A10001F92CDB7DEB72091E801243019F523E0FD
-:101A200029839B838A832093E9008FEF9091E800BC
-:101A3000815095FD06C095ED9A95F1F70000811152
-:101A4000F5CF8091E80085FF0DC040E050E063E0F5
-:101A500070E0CE0101960E949E0F8091E8008E7783
-:101A60008093E8000F900F900F90DF91CF91089531
-:101A7000CF93DF9300D01F92CDB7DEB72091E8015E
-:101A8000243021F522E029839B838A8383E080939D
-:101A9000E9008FEF9091E800815095FD06C095ED2B
-:101AA0009A95F1F700008111F5CF8091E80085FF4C
-:101AB0000DC040E050E063E070E0CE0101960E946E
-:101AC0009E0F8091E8008E778093E8000F900F9032
-:101AD0000F90DF91CF9108952091E8012430F1F427
-:101AE00022E02093E9002FEF3091E800215035FDEE
-:101AF00006C035ED3A95F1F700002111F5CF2091A0
-:101B0000E80025FF0BC040E050E065E070E00E9477
-:101B10009E0F8091E8008E778093E8000895CF9320
-:101B2000DF93EC018091E801843039F581E0809306
-:101B3000E9008FEF9091E800815095FD06C095ED8A
-:101B40009A95F1F700008111F5CF8091E80085FFAB
-:101B500014C040E050E068E070E0CE010E949E0FAB
-:101B60008091E8008E778093E80088E0FE01ABE684
-:101B7000B1E001900D928A95E1F7DF91CF91089540
-:101B800084E292E00E94C4068091E701811109C0BD
-:101B90000E9430110E948D118091E2008460809338
-:101BA000E200089580E292E00E94C4061092E701EC
-:101BB00008958CE192E00C94C40688E192E00C94C4
-:101BC000C40684E192E00E94C4060C9449208091EE
-:101BD00069018F5F8093690162E30E94B52C9111C6
-:101BE00035C01092690180916A01882379F1809152
-:101BF000E801843049F58091E9008F709091EC0004
-:101C000090FF02C090E801C090E0982B84E08093A0
-:101C1000E9008091EB0080FF14C08091EE0087FF07
-:101C200010C08091E80085FF03C01092F100F9CF49
-:101C30008091E80080FF05C08091E8008E77809356
-:101C4000E8009F709093E90010926A01089542E0C5
-:101C500061EC81E00E94AA1042E061EC82E00E9407
-:101C6000AA1042E061EC83E00E94AA1042E261EC1B
-:101C700084E00C94AA108091EA01833009F453C0E7
-:101C800030F4813071F0823009F48CC008958A30CC
-:101C900009F478C08B3009F45EC0893009F09AC02D
-:101CA00020C08091E901813A09F094C08091E80058
-:101CB000877F8093E8008091ED019091EE01892B60
-:101CC00021F060E080E090E003C068E08BE691E006
-:101CD00070E00E94E70F8091E8008B778093E80026
-:101CE00008958091E901813209F074C08091ED017D
-:101CF0009091EE01892B09F06DC08091E800877FFB
-:101D00008093E8008091E80082FD05C08091E801A1
-:101D10008111F8CF5FC08091F100809373018091B1
-:101D2000E8008B7753C08091E901813A09F052C0F5
-:101D30008091ED019091EE01892B09F04BC08091CB
-:101D4000E800877F8093E8008091E80080FFFCCF67
-:101D500080910B0136C08091E9018132D9F58091E3
-:101D6000ED019091EE01892BA9F58091E800877F24
-:101D70008093E8000E94DF108091EB0180930B01BB
-:101D80000C9468198091E901813221F58091E80075
-:101D9000877F8093E8000E94DF108091EC018093A0
-:101DA000740108958091E901813AA1F48091E800DD
-:101DB000877F8093E8008091E80080FFFCCF8091CE
-:101DC00074018093F1008091E8008E778093E800A1
-:101DD0000C94DF10089584B7877F84BF88E10FB625
-:101DE000F89480936000109260000FBE80E88093AA
-:101DF0006100109261000E94B2140E9430110E9492
-:101E00008D118091E20084608093E20081EA9CE081
-:101E10000E94CD1F78940E9407140E94B41481E0A0
-:101E200091E00E94241483E092E00E94C406809115
-:101E3000E801853089F48FEF91E00E94C4060E948A
-:101E40000A208091E601882391F30E94382088239C
-:101E500071F30E94880FEBCF0E94DA14E8CF292F8C
-:101E6000332723303105A9F06CF42130310509F412
-:101E700042C02230310509F043C084E790E026E4F7
-:101E800032E042C021323105C9F02232310519F168
-:101E900037C099278130910541F08230910541F09A
-:101EA000892B71F5E2E4F2E005C0E8E3F2E002C05C
-:101EB000E8E2F2E0849190E09F0126C0643000F5F2
-:101EC000E62FF0E0EE0FFF1FED5CFE4F2081318129
-:101ED00089E090E019C0643098F4E62FF0E0DF016B
-:101EE000AA0FBB1FA55DBE4F2D913C91E95DFE4F32
-:101EF000808190E009C082E190E02AEB32E004C0EA
-:101F000080E090E020E030E0FA0131832083089502
-:101F100080E189BD82E189BD09B400FEFDCF8091D9
-:101F2000D8008F7D8093D8008091E00082608093FC
-:101F3000E0008091E00081FDFCCF0895CF92DF9218
-:101F4000EF92FF920F931F93CF93DF937C018B014E
-:101F5000EA010E940011811131C0209731F088817F
-:101F60009981081B190BE80EF91EC12CD12C011503
-:101F7000110519F18091E80085FD14C08091E800F9
-:101F80008E778093E800209741F0888199818C0DAD
-:101F90009D1D9983888385E011C00E9400118823CC
-:101FA00031F30CC0F70181917F018093F100015062
-:101FB0001109FFEFCF1ADF0ADACF80E0DF91CF916E
-:101FC0001F910F91FF90EF90DF90CF900895209197
-:101FD000EF013091F0012617370748F061157105C0
-:101FE00039F42091E8002E772093E80001C0B90170
-:101FF000FC0120E061157105B9F18091E8018823A9
-:1020000009F440C0853009F43FC08091E80083FDA9
-:102010003DC08091E80082FF06C08091E80082FF09
-:1020200026C080E008958091E80080FFE3CF2091F2
-:10203000F3008091F20090E0922B6115710551F050
-:102040008830910538F421912093F1006150710995
-:102050000196F3CF21E0089709F020E08091E80095
-:102060008E778093E800C6CF2111C7CFD6CF80915D
-:10207000E801882339F0853039F08091E80083FF4A
-:10208000CCCF04C082E0089583E0089581E00895F4
-:102090002091EF013091F0012617370748F06115C4
-:1020A000710539F42091E8002E772093E80001C0F3
-:1020B000B901FC0120E061157105C1F18091E801D1
-:1020C000882309F441C0853009F440C08091E800BC
-:1020D00083FD3EC08091E80082FF06C08091E80049
-:1020E00082FF27C080E008958091E80080FFE3CF61
-:1020F0002091F3008091F20090E0922B6115710520
-:1021000059F08830910540F424912093F1003196E4
-:10211000615071090196F2CF21E0089709F020E0A3
-:102120008091E8008E778093E800C5CF2111C6CF5B
-:10213000D5CF8091E801882339F0853039F080913E
-:10214000E80083FFCBCF04C082E0089583E00895C8
-:1021500081E00895982F973058F59093E9009817EB
-:1021600039F07091EC002091ED005091F00003C027
-:10217000242F762F50E021FF19C03091EB003E7FD5
-:102180003093EB003091ED003D7F3093ED003091C6
-:10219000EB0031603093EB007093EC002093ED0086
-:1021A0005093F0002091EE0027FF07C09F5FD3CF30
-:1021B0008F708093E90081E0089580E00895809118
-:1021C000E90187FD05C08091E80080FF0EC012C0C4
-:1021D0008091E80082FD05C08091E8018111F8CF6F
-:1021E00008958091E8008B7708C08091E801811103
-:1021F000EACF08958091E8008E778093E8000895F3
-:102200008091E4009091E50045E62091EC0020FFEC
-:1022100021C02091E80020FD21C02091E801222367
-:1022200089F0253089F02091EB0025FD0FC0209129
-:10223000E4003091E5002817390739F3415041F0A7
-:10224000C901E3CF82E0089583E0089581E0089515
-:1022500084E008952091E80022FFDFCF80E0089518
-:102260000E949E110E94A611E0EEF0E08081816044
-:102270008083E8EDF0E080818F77808319BCA7ED43
-:10228000B0E08C918E7F8C9380818F7E80831092C2
-:10229000E70108950F931F93CF93DF930E949E1140
-:1022A0000E94A611C8EDD0E088818F77888388814D
-:1022B0008068888388818F7D888319BC1092E801AB
-:1022C0001092E4011092E6011092E50100EE10E098
-:1022D000F80180818B7F808388818160888342E0E0
-:1022E00060E080E00E94AA10E1EEF0E080818E7F45
-:1022F0008083E2EEF0E0808181608083808188606D
-:102300008083F80180818E7F8083888180618883CB
-:10231000DF91CF911F910F910895E8EDF0E080815A
-:102320008F7E8083E7EDF0E080818160808384E0B0
-:1023300082BF81E08093E7010C944A11E8EDF0E060
-:1023400080818E7F80831092E20008951092DA00DF
-:102350001092E10008951F920F920FB60F92112470
-:102360002F933F934F935F936F937F938F939F939D
-:10237000AF93BF93EF93FF938091E10082FF0BC077
-:102380008091E20082FF07C08091E1008B7F809303
-:10239000E1000E94E70D8091DA0080FF1FC080916C
-:1023A000D80080FF1BC08091DA008E7F8093DA0016
-:1023B0008091D90080FF0DC080E189BD82E189BD97
-:1023C00009B400FEFDCF81E08093E8010E94C00DBA
-:1023D00005C019BC1092E8010E94D20D8091E10065
-:1023E00080FF19C08091E20080FF15C08091E2005B
-:1023F0008E7F8093E2008091E20080618093E20012
-:102400008091D80080628093D80019BC85E08093C9
-:10241000E8010E94DD0D8091E10084FF30C08091D1
-:10242000E20084FF2CC080E189BD82E189BD09B44E
-:1024300000FEFDCF8091D8008F7D8093D8008091E1
-:10244000E1008F7E8093E1008091E2008F7E809397
-:10245000E2008091E20081608093E2008091E401DB
-:10246000882311F084E007C08091E30087FF02C059
-:1024700083E001C081E08093E8010E94E10D80913A
-:10248000E10083FF29C08091E20083FF25C0809195
-:10249000E100877F8093E10082E08093E801109261
-:1024A000E4018091E1008E7F8093E1008091E20061
-:1024B0008E7F8093E2008091E20080618093E20051
-:1024C00042E060E080E00E94AA108091F000886005
-:1024D0008093F0000E94D90DFF91EF91BF91AF91D1
-:1024E0009F918F917F916F915F914F913F912F912C
-:1024F0000F900FBE0F901F9018951F920F920FB65E
-:102500000F9211242F933F934F935F936F937F9379
-:102510008F939F93AF93BF93CF93EF93FF93C0910C
-:10252000E900CF708091EC001092E9008091F000FA
-:10253000877F8093F00078940E94B9121092E9008E
-:102540008091F00088608093F000C093E900FF91D3
-:10255000EF91CF91BF91AF919F918F917F916F91AB
-:102560005F914F913F912F910F900FBE0F901F9051
-:1025700018951F93CF93DF93CDB7DEB7AA970FB609
-:10258000F894DEBF0FBECDBFE9EEF1E08091F1001F
-:10259000819321E0E13FF207C9F70E943B0E809151
-:1025A000E80083FF1CC12091E9013091EA01832FEB
-:1025B00090E08A30910508F012C1FC01EA5AFF4F01
-:1025C0000C94D52C203881F0223809F008C1809174
-:1025D000ED018F708093E9008091EB0085FB8827E7
-:1025E00080F91092E90006C08091E5019091E60122
-:1025F000911182609091E800977F9093E80080931A
-:10260000F1001092F100C5C0822F8D7F09F0E7C064
-:10261000222319F0223061F0E2C08091EB01813079
-:1026200009F0DDC0333009F080E08093E60128C076
-:102630008091EB01811124C02091ED012F7009F4EC
-:10264000CEC02093E9008091EB0080FF19C08091FB
-:10265000EB00333011F4806211C080618093EB0095
-:1026600081E090E0022E01C0880F0A94EAF780937F
-:10267000EA001092EA008091EB0088608093EB0002
-:102680001092E9008091E800877F86C02111A7C0E1
-:102690001091EB011F778091E3008078812B80936C
-:1026A000E3008091E800877F8093E8000E94DF10BC
-:1026B0008091E80080FFFCCF8091E30080688093E8
-:1026C000E300112311F083E001C082E08093E80170
-:1026D00086C02058223008F082C08091EB01909192
-:1026E000EC018C3D23E0920779F583E08A838AE24E
-:1026F00089834FB7F894DE01139620E03EE051E263
-:10270000E32FF0E050935700E49120FF03C0E295DF
-:10271000EF703F5FEF708E2F90E0EA3010F0C796B9
-:1027200001C0C0968D939D932F5F243149F74FBF11
-:102730008091E800877F8093E8006AE270E0CE0134
-:1027400001960E94E70F14C0AE014F5F5F4F60918A
-:10275000ED010E942F0F009709F441C02091E8007D
-:10276000277F2093E800BC0189819A810E9448104C
-:102770008091E8008B778093E80031C0203879F5AC
-:102780008091E800877F8093E8008091E401809346
-:10279000F1008091E8008E778093E8000E94DF10BE
-:1027A0001EC021111CC09091EB019230C0F48091A9
-:1027B000E800877F8093E8009093E4010E94DF1097
-:1027C0008091E401811104C08091E30087FF02C081
-:1027D00084E001C081E08093E8010E94270E80918F
-:1027E000E80083FF0AC08091E800877F8093E800BB
-:1027F0008091EB0080628093EB00AA960FB6F8946C
-:10280000DEBF0FBECDBFDF91CF911F910895CF9353
-:102810008091E8018823B1F08091E9008F70909158
-:10282000EC0090FF02C090E801C090E0C92FC82BD7
-:102830001092E9008091E80083FD0E94B912CF70E8
-:10284000C093E900CF91089590937A018093790124
-:102850000895E0917901F0917A01309721F001908B
-:10286000F081E02D099480E00895FF920F931F936B
-:10287000CF93DF938C01E0917901F0917A01309749
-:1028800099F10280F381E02D09958091D30182FFB7
-:102890002BC080FF04C087EB93E00E94C406E801D0
-:1028A00088E0F82E01EB13E08091D30180FF0BC08C
-:1028B00088811F928F931F930F930E945D070F9043
-:1028C0000F900F900F90FA942196F110EDCF809118
-:1028D000D30180FF09C08FEA93E0DF91CF911F9170
-:1028E0000F91FF900C94C406DF91CF911F910F912F
-:1028F000FF900895E0917901F0917A01309721F0ED
-:102900000480F581E02D099408952091770130919C
-:1029100078018217930771F0909378018093770183
-:10292000E0917901F0917A01309721F00680F781EA
-:10293000E02D099408952091750130917601821758
-:10294000930771F09093760180937501E09179017E
-:10295000F0917A01309721F00084F185E02D0994FF
-:10296000089508950C94B1140E947D200E94850B57
-:102970000E9448210C94AF2ACF93DF931F92CDB7CA
-:10298000DEB79091D30192FF10C090FF0EC01F924E
-:102990008F9329EC33E03F932F9389830E945D0747
-:1029A0000F900F900F900F9089810F90DF91CF9132
-:1029B0000C946F0B5F926F927F928F929F92AF9267
-:1029C000BF92CF92DF92EF92FF920F931F93CF931C
-:1029D000DF9300D000D01F92CDB7DEB70E94C80BA6
-:1029E00096E8C92E91E0D92E04E010E0AA24A39421
-:1029F000B12C502E802F0E94470C3C01F601F29022
-:102A0000E2906F01E826F926E114F104A1F40150E7
-:102A1000110978F78FEF89838A831B820E948620B1
-:102A20008160782F9D838C8349815A816B818D8150
-:102A30000E948A1538C08091D30181FD0E94500CFC
-:102A40002DE030E04501022E02C0880C991C0A944A
-:102A5000E2F7C4018E219F21892B09F129835A8233
-:102A60006820792081E0672809F480E08B830E9448
-:102A700086208160782F9D838C8349815A816B8168
-:102A80008D810E948A15F801EE0FFF1FE458FE4F5A
-:102A900080819181882599259183808304C021506C
-:102AA000310980F6B4CF0E94BD2410917B010E94B1
-:102AB00029141817D1F00E94291480937B010F90DC
-:102AC0000F900F900F900F90DF91CF911F910F916A
-:102AD000FF90EF90DF90CF90BF90AF909F908F903E
-:102AE0007F906F905F900C94BC140F900F900F909C
-:102AF0000F900F90DF91CF911F910F91FF90EF906A
-:102B0000DF90CF90BF90AF909F908F907F906F900D
-:102B10005F900895CF93DF93CDB7DEB72B970FB6B5
-:102B2000F894DEBF0FBECDBF4F83588769877A8781
-:102B30008B87DE01119686E0FD0111928A95E9F7F7
-:102B400085E0FE01379601900D928A95E1F7498163
-:102B50005A816B817C818D819E810E94381C2B96CD
-:102B60000FB6F894DEBF0FBECDBFDF91CF910895B1
-:102B7000CF93C82F882309F4C1C0823859F40E942A
-:102B8000291481FDBBC089E30E94131F0E949E1F70
-:102B900089E30CC0833879F40E94291480FDAEC00B
-:102BA00083E50E94131F0E949E1F83E50E94341F2D
-:102BB000CF910C949E1F843859F40E94291482FDF1
-:102BC0009DC087E40E94131F0E949E1F87E4EECFE2
-:102BD0008CEF8C0F813A48F48C2F0E945D29811173
-:102BE0008DC08C2F0E94131FE3CF80E28C0F8830A2
-:102BF00048F4C77081E001C0880FCA95EAF70E94C7
-:102C0000551FD6CF8BE58C0F833078F4C53A29F069
-:102C1000C63A31F482E890E005C081E890E002C055
-:102C200083E890E0CF910C94851488E5 |