summaryrefslogtreecommitdiff
path: root/keyboard/kc60/keymaps/ws2812
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/kc60/keymaps/ws2812')
-rw-r--r--keyboard/kc60/keymaps/ws2812/Makefile63
-rw-r--r--keyboard/kc60/keymaps/ws2812/README.md21
-rw-r--r--keyboard/kc60/keymaps/ws2812/compiled.hex1764
-rw-r--r--keyboard/kc60/keymaps/ws2812/config.h10
-rw-r--r--keyboard/kc60/keymaps/ws2812/keymap.c161
-rw-r--r--keyboard/kc60/keymaps/ws2812/ws2812_example.jpgbin0 -> 226362 bytes
-rw-r--r--keyboard/kc60/keymaps/ws2812/ws2812_underside-lit.jpgbin0 -> 205067 bytes
-rw-r--r--keyboard/kc60/keymaps/ws2812/ws2812_underside.jpgbin0 -> 354124 bytes
-rw-r--r--keyboard/kc60/keymaps/ws2812/ws2812_wiring.jpgbin0 -> 347989 bytes
9 files changed, 2019 insertions, 0 deletions
diff --git a/keyboard/kc60/keymaps/ws2812/Makefile b/keyboard/kc60/keymaps/ws2812/Makefile
new file mode 100644
index 0000000000..f06bfdb526
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/Makefile
@@ -0,0 +1,63 @@
+#----------------------------------------------------------------------------
+# On command line:
+#
+# make all = Make software.
+#
+# make clean = Clean out built project files.
+#
+# make coff = Convert ELF to AVR COFF.
+#
+# make extcoff = Convert ELF to AVR Extended COFF.
+#
+# make program = Download the hex file to the device.
+# Please customize your programmer settings(PROGRAM_CMD)
+#
+# make teensy = Download the hex file to the device, using teensy_loader_cli.
+# (must have teensy_loader_cli installed).
+#
+# make dfu = Download the hex file to the device, using dfu-programmer (must
+# have dfu-programmer installed).
+#
+# make flip = Download the hex file to the device, using Atmel FLIP (must
+# have Atmel FLIP installed).
+#
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
+# (must have dfu-programmer installed).
+#
+# 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,
+# with avr-gdb or avr-insight as the front end for debugging.
+#
+# make filename.s = Just compile filename.c into the assembler code only.
+#
+# make filename.i = Create a preprocessed source file for use in submitting
+# bug reports to the GCC project.
+#
+# To rebuild project do "make clean" then "make all".
+#----------------------------------------------------------------------------
+
+# Build Options
+# change yes to no to disable
+#
+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
+KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
+BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE ?= yes # Enable WS2812 underglow RGB strip
+MIDI_ENABLE ?= no # MIDI controls
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE ?= no # Audio output on port C6
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE ?= no # USB Nkey Rollover
+
+ifndef QUANTUM_DIR
+ include ../../Makefile
+endif
diff --git a/keyboard/kc60/keymaps/ws2812/README.md b/keyboard/kc60/keymaps/ws2812/README.md
new file mode 100644
index 0000000000..af76f7ab18
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/README.md
@@ -0,0 +1,21 @@
+KC60 with WS2812 RGB Underglow
+======================
+
+![Image of KC60 with RGB Underglow](ws2812_example.jpg)
+
+## Quantum MK Firmware
+For the full Quantum feature list, see [the parent README.md](/README.md).
+
+## WS2812 Support
+By default, it is now setup for 16 LEDs on the PF5 breakout pin. See [included image](ws2812_wiring.jpg) for wiring reference.
+
+### Build
+To build this keymap with WS2812 enabled, simply run `make KEYMAP=ws2812`.
+
+### Reference Images
+![Wiring Reference](ws2812_wiring.jpg)
+![RGB Strip turned on](ws2812_underside-lit.jpg)
+![RGB Strip turned off](ws2812_underside.jpg)
+
+### Additional Credits
+Keymap based on work by [TerryMatthews](https://github.com/TerryMathews) for GH60 Satan.
diff --git a/keyboard/kc60/keymaps/ws2812/compiled.hex b/keyboard/kc60/keymaps/ws2812/compiled.hex
new file mode 100644
index 0000000000..f7417a27fd
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/compiled.hex
@@ -0,0 +1,1764 @@
+:100000000C94C2080C9409090C9409090C94090970
+:100010000C9409090C9409090C9409090C94090918
+:100020000C9409090C9409090C947F1B0C94511C25
+:100030000C94E7290C9409090C9409090C940909FA
+:100040000C9409090C9409090C9409090C940909E8
+:100050000C9409090C944F2A0C9409090C94090971
+:100060000C9409090C9409090C9409090C940909C8
+:100070000C9409090C9409090C9409090C940909B8
+:100080000C941E160C9409090C9409090C94090986
+:100090000C9409090C9409090C9409090C94090998
+:1000A0000C9409090C9409090C940909130A300AE3
+:1000B000610A370A3E0A450A4C0A530A5A0ABE1C0C
+:1000C000E01CD31DE01CD31D251D481DD31D9D1D07
+:1000D000B01D02210221312131216D218B21CD2240
+:1000E000CD229621CD223B223B22A122A922CD2244
+:1000F000C822482248224822482248224822482230
+:10010000482248224822482248224822482248229F
+:100110004822582266226D2274227E2200F001F0CD
+:1001200002F003F004F005F006F007F008F00020FC
+:100130001E001F00200021002200230024002500B3
+:10014000260027002D002E002A002B0014001A0084
+:100150000800150017001C0018000C001200130006
+:100160002F0030003100390004001600070009009C
+:100170000A000B000D000E000F00330034000000D9
+:100180002800E10000001D001B000600190005000A
+:10019000110010003600370038000000E500E000D4
+:1001A000E300E200000000002C000000000000005E
+:1001B0000000E600E7000151E40035003A003B0092
+:1001C0003C003D003E003F00400041004200430033
+:1001D000440045004C0001000100520001000100F4
+:1001E0000100010001000100010001002F703070CA
+:1001F00031700100500051004F000100010001006A
+:1002000001000100010001000100010001000100E6
+:1002100001000120022003200420052006200720E1
+:10022000082001000100010001000100010001009F
+:1002300000000000010000000000000000000100BC
+:100240000100010000700A44454255473A20656E9E
+:1002500061626C65642E0A005374617465206F6678
+:1002600020726F772025583A2025303136620A00F7
+:1002700048756D616E2D7265616461626C65206D9B
+:1002800061747269782073746174653A0D0A004470
+:1002900065626F756E63696E672064656C61792055
+:1002A00072656D61696E696E673A2025580A00545F
+:1002B000494D4552332064697361626C65642E0A4E
+:1002C0000054494D45523320656E61626C65642E61
+:1002D0000A007267626C69676874207365742068CD
+:1002E0007376205B454550524F4D5D3A2025752C65
+:1002F00025752C25750A007267626C696768742021
+:10030000746F67676C653A207267626C69676874BE
+:100310005F636F6E6669672E656E61626C65203D16
+:100320002025750A007267626C69676874206D6FBA
+:1003300064653A2025750A007267626C69676874A3
+:100340005F696E6974207267626C696768745F6365
+:100350006F6E6669672E6D6F6465203D20302E20BC
+:1003600057726974652064656661756C7420766186
+:100370006C75657320746F20454550524F4D2E0AA1
+:10038000007267626C696768745F696E6974206582
+:1003900065636F6E666967206973206E6F74206590
+:1003A0006E61626C65642E0A007267626C696768D0
+:1003B000745F696E6974207374617274210A0072CB
+:1003C00067626C696768745F696E69742063616CE9
+:1003D0006C65642E0A007267626C696768745F639B
+:1003E0006F6E6669672E76616C203D2025640A0079
+:1003F0007267626C696768745F636F6E6669672EA7
+:10040000736174203D2025640A007267626C69671D
+:1004100068745F636F6E6669672E687565203D203E
+:1004200025640A007267686C696768745F636F6E41
+:100430006669672E6D6F6465203D2025640A007231
+:1004400067626C696768745F636F6E6669672E6563
+:100450006E61626C65203D2025640A007267626CE3
+:10046000696768745F636F6E666967206570726F35
+:100470006D0A006565636F6E6669675F75706461BC
+:1004800074655F7267626C696768745F64656661F2
+:10049000756C740A00643214643214783C1E1E14A5
+:1004A0000A0500000000010101020203040505061F
+:1004B00007090A0B0C0E0F1112141517191B1D1F1B
+:1004C000212325282A2C2F313436393B3E414346FF
+:1004D000494C4F5255585A5D6164676A6D70737626
+:1004E000797C7F8386898C8F9295989B9EA2A5A705
+:1004F000AAADB0B3B6B9BCBEC1C4C6C9CBCED0D309
+:10050000D5D7DADCDEE0E2E4E6E8EAEBEDEEF0F1A6
+:10051000F3F4F5F6F8F9FAFAFBFCFDFDFEFEFEFF3A
+:10052000FFFFFFFFFFFFFEFEFEFDFDFCFBFAFAF9F9
+:10053000F8F6F5F4F3F1F0EEEDEBEAE8E6E4E2E0EC
+:10054000DEDCDAD7D5D3D0CECBC9C6C4C1BEBCB9E8
+:10055000B6B3B0ADAAA7A5A29E9B9895928F8C89A1
+:100560008683807C797673706D6A6764615D5A58A2
+:1005700055524F4C494643413E3B393634312F2C7E
+:100580002A282523211F1D1B1917151412110F0EC0
+:100590000C0B0A090706050504030202010101000C
+:1005A000000000010102020202020203030303032E
+:1005B0000303030303030303030404040404040404
+:1005C00004040404040505050505050505050506DF
+:1005D00006060606060606070707070707070808B0
+:1005E000080808080909090909090A0A0A0A0A0B78
+:1005F0000B0B0B0B0C0C0C0C0C0D0D0D0D0E0E0E35
+:100600000E0F0F0F101010101111111212121313E0
+:100610001314141415151616161717181819191976
+:100620001A1A1B1B1C1C1D1D1E1E1F2020212122EF
+:1006300023232424252626272828292A2B2B2C2D42
+:100640002E2F30303132333435363738393A3B3C5F
+:100650003D3E3F40414244454647494A4B4C4E4F40
+:100660005152535556585A5B5D5E606263656769C7
+:100670006B6D6E70727476797B7D7F818486888BDA
+:100680008D909295979A9D9FA2A5A8ABAEB1B4B755
+:10069000BABEC1C4C8CBCFD3D6DADEE2E6EAEEF208
+:1006A000F8FF5B735D004B6579626F617264207364
+:1006B000746172742E0A005B575D005B535D005BD2
+:1006C000525D005B445D005B435D000E036B0063A5
+:1006D0000036003000760032000000080359006F39
+:1006E00000750000000403090409027400040100FD
+:1006F000A0FA090400000103010100092111010011
+:10070000012240000705810308000A0904010001D5
+:1007100003010200092111010001224D0007058299
+:100720000308000A09040200010300000009211166
+:100730000100012236000705830308000A090403AB
+:10074000000203000000092111010001222000071E
+:100750000584032000010705040320000112011095
+:100760000100000008EDFE606001000102000106CA
+:1007700031FF0974A1010975150025FF9520750841
+:1007800081020976150025FF952075089102C005A4
+:10079000010980A101850216010026B7001A010097
+:1007A0002AB700751095018100C0050C0901A1014F
+:1007B0008503160100269C021A01002A9C0275106E
+:1007C00095018100C005010902A1010901A10005EF
+:1007D0000919012905150025019505750181029565
+:1007E00001750381010501093009311581257F95C6
+:1007F000027508810609381581257F9501750881E4
+:1008000006050C0A38021581257F950175088106B9
+:10081000C0C005010906A101050719E029E7150077
+:10082000250195087501810295017508810105086A
+:10083000190129059505750191029501750391012D
+:100840000507190029FF150026FF00950675088188
+:1008500000C00A002530325820006B6579626F6154
+:1008600072645F7265706F72743A20004B657962D2
+:100870006F617264204C4544732073746174653AEF
+:100880002025780A00646F6E652E0A00626F6F671C
+:100890006D61676963207363616E3A202E2E2E208E
+:1008A00000290A002575002F002575005D28002508
+:1008B00064002000256400200025640020002564D9
+:1008C000007C0025303258006D6F7573656B65795B
+:1008D000205B62746E7C782079207620685D2872B7
+:1008E00065702F61636C293A205B006D6B5F7768E0
+:1008F00065656C5F74696D655F746F5F6D617820AD
+:100900003D2025640A006D6B5F776865656C5F6DDF
+:1009100061785F7370656564203D2025640A006D11
+:100920006B5F74696D655F746F5F6D6178203D20EA
+:1009300025640A006D6B5F6D61785F737065656437
+:10094000203D2025640A006D6B5F696E74657276C8
+:10095000616C203D2025640A006D6B5F64656C61ED
+:1009600079203D2025640A006D6B5F776865656CB2
+:100970005F74696D655F746F5F6D6178203D2025E0
+:10098000640A006D6B5F776865656C5F6D61785FA9
+:100990007370656564203D2025640A006D6B5F748B
+:1009A000696D655F746F5F6D6178203D2025640A15
+:1009B000006D6B5F6D61785F7370656564203D20CD
+:1009C00025640A006D6B5F696E74657276616C20D8
+:1009D0003D2025640A006D6B5F64656C6179203D84
+:1009E0002025640A000A00257500363A20776865DC
+:1009F000656C5F74696D655F746F5F6D61783A20D7
+:100A0000000A00257500353A20776865656C5F6DD2
+:100A100061785F73706565643A20000A002575008F
+:100A2000343A2074696D655F746F5F6D61783A2048
+:100A3000000A00257500333A206D61785F73706598
+:100A400065643A20000A00257500323A20696E7408
+:100A5000657276616C286D73293A20000A0025754D
+:100A600000313A2064656C6179282A31306D732930
+:100A70003A20000A092D2056616C756573202D0AF5
+:100A8000004D3E004D25643E20003F0073657420FC
+:100A900064656661756C740A00433E200077686582
+:100AA00072652064656C74613A20637572736F724D
+:100AB0003D25642C20776865656C3D25640A536587
+:100AC0006520687474703A2F2F656E2E77696B6994
+:100AD00070656469612E6F72672F77696B692F4D3E
+:100AE0006F7573655F6B6579730A000A092D204D78
+:100AF0006F7573656B6579202D0A4553432F713AE5
+:100B000009717569740A313A0964656C6179282A3A
+:100B100031306D73290A323A09696E7465727661F3
+:100B20006C286D73290A333A096D61785F737065BB
+:100B300065640A343A0974696D655F746F5F6D614D
+:100B4000780A353A09776865656C5F6D61785F731F
+:100B5000706565640A363A09776865656C5F746923
+:100B60006D655F746F5F6D61780A0A703A09707223
+:100B7000696E742076616C7565730A643A097365F1
+:100B8000742064656661756C74730A75703A092B1C
+:100B9000310A646F776E3A092D310A706775703AC1
+:100BA000092B31300A7067646F776E3A092D313046
+:100BB0000A0A7370656564203D2064656C74612069
+:100BC0002A206D61785F7370656564202A20287221
+:100BD0006570656174202F2074696D655F746F5F47
+:100BE0006D6178290A003F004D3E2000433E200001
+:100BF0004C25640A0074696D65725F636F756E746D
+:100C00003A202530346C580A006B6579626F617246
+:100C1000645F69646C653A2025580A006B657962E7
+:100C20006F6172645F70726F746F636F6C3A2025CE
+:100C3000580A00686F73745F6B6579626F617264E4
+:100C40005F6C65647328293A2025580A000A092D2B
+:100C500020537461747573202D0A004743433A2072
+:100C6000352E332E30204156522D4C4942433A20E6
+:100C7000322E302E30204156525F415243483A20A6
+:100C8000617672350A004F5054494F4E533A204C0A
+:100C900055464120424F4F544D41474943204D4F07
+:100CA0005553454B45592045585452414B455920C1
+:100CB000434F4E534F4C4520434F4D4D414E4420E2
+:100CC000343039360A004255494C443A20756E6B2F
+:100CD0006E6F776E202830323A30363A3039204AFB
+:100CE000756E2032302032303136290A00564944A0
+:100CF0003A2030784645454428596F752920504997
+:100D0000443A20307836303630286B6336307632CD
+:100D100029205645523A203078303030310A00448C
+:100D20004553433A204120637573746F6D206B65A2
+:100D300079626F6172640A000A092D205665727328
+:100D4000696F6E202D0A000A092D20436F6E736FA4
+:100D50006C65202D0A4553432F713A0971756974EA
+:100D60000A6D3A096D6F7573656B65790A000A093A
+:100D70002D204D61676963202D0A443A094465625C
+:100D80007567204D65737361676520546F67676C85
+:100D9000650A583A094D6174726978204465627534
+:100DA00067204D6F646520546F67676C65202D2048
+:100DB00053686F77206B6579707265737365732004
+:100DC000696E206D617472697820677269640A4B7C
+:100DD0003A094B6579626F61726420446562756798
+:100DE00020546F67676C65202D2053686F77206BE8
+:100DF00065797072657373207265706F72740A4DD5
+:100E00003A094465627567204D6F75736520546FAC
+:100E100067676C650A563A0956657273696F6E0AA0
+:100E2000533A095374617475730A433A0941637400
+:100E3000697661746520436F6E736F6C65204D6FCA
+:100E400064650A46312D4631303A09537769746337
+:100E50006820746F204C6179657220302D3920280C
+:100E6000463130203D204C30290A302D393A095383
+:100E7000776974636820746F204C617965722030E3
+:100E80002D390A4553433A095377697463682074CE
+:100E90006F204C6179657220302028616C74657216
+:100EA0006E617465206B65792031290A475241567D
+:100EB000453A0953776974636820746F204C6179EF
+:100EC000657220302028616C7465726E61746520D3
+:100ED0006B65792032290A50415553453A094A75C4
+:100EE0006D7020746F20426F6F746C6F61646572F7
+:100EF00020285265736574290A453A095072696E53
+:100F00007420454550524F4D2053657474696E6787
+:100F1000730A000A002575002E6C6576656C3A2010
+:100F2000000A002575002E656E61626C653A20002E
+:100F30000A0025303258006261636B6C696768741F
+:100F40005F636F6E6669672E7261773A20000A00F0
+:100F50002575002E6E6B726F3A20000A0025750011
+:100F60002E737761705F6261636B736C6173685F2E
+:100F70006261636B73706163653A20000A002575D6
+:100F8000002E737761705F67726176655F6573636A
+:100F90003A20000A002575002E6E6F5F6775693A6A
+:100FA00020000A002575002E737761705F72616CF6
+:100FB000745F726775693A20000A002575002E7308
+:100FC0007761705F6C616C745F6C6775693A200063
+:100FD0000A002575002E636170736C6F636B5F741C
+:100FE0006F5F636F6E74726F6C3A20000A00257534
+:100FF000002E737761705F636F6E74726F6C5F63E6
+:101000006170736C6F636B3A20000A0025303258B0
+:10101000006B65796D61705F636F6E6669672E72D4
+:1010200061773A20000A002575002E6D6F75736593
+:101030003A20000A002575002E6B6579626F617297
+:10104000643A20000A002575002E6D61747269787B
+:101050003A20000A002575002E656E61626C653AC3
+:1010600020000A00253032580064656275675F63AE
+:101070006F6E6669672E7261773A20000A002575E7
+:101080000064656661756C745F6C617965723A20A5
+:10109000003F000A6D6F7573653A206F66660A003F
+:1010A0000A6D6F7573653A206F6E0A000A6B657979
+:1010B000626F6172643A206F66660A000A6B657936
+:1010C000626F6172643A206F6E0A000A6D61747219
+:1010D00069783A206F66660A000A6D6174726978F1
+:1010E0003A206F6E0A000A64656275673A206F667F
+:1010F000660A000A64656275673A206F6E0A000A24
+:101100000A4A756D70696E6720746F20626F6F7424
+:101110006C6F616465722E2E2E2000433E200065A8
+:1011200065636F6E6669673A0A006261636B6C693A
+:1011300067687420737465703A2025750A006261CF
+:10114000636B6C6967687420746F67676C653A20BD
+:1011500025750A006261636B6C6967687420646559
+:101160006372656173653A2025750A006261636B7D
+:101170006C6967687420696E6372656173653A2093
+:1011800025750A0011241FBECFEFDAE0DEBFCDBF08
+:1011900004B603FE27C080913F0290914002A091C7
+:1011A0004102B09142028730904BA740B04BD1F43E
+:1011B00010923F021092400210924102109242029D
+:1011C00014BE84B7877F84BF0FB6F894A89580912A
+:1011D0006000886180936000109260000FBEE0E0C4
+:1011E000F8E3099511E0A0E0B1E0EEEDFDE602C004
+:1011F00005900D92A634B107D9F722E0A6E4B1E03C
+:1012000001C01D92AF33B207E1F70E94C0180C94E1
+:10121000ED360C940000FF93EF93E0914601F091BE
+:101220004701309709F00995EF91FF910895FC016E
+:101230008591803011F0EFDFFBCF0895FF27E0E2CA
+:1012400030E247FF0CC0419597FF09C0EDE2609581
+:10125000709580959095611D711D811D911D27FFD1
+:1012600002C0219530E350E2AA27660F771F881F3E
+:10127000991FAA1FA41710F0A41B63955A95A9F7EC
+:10128000AA3008F0A95FA05DAF93F39561157105D1
+:101290008105910541F7ED3211F4EF93F395F217C3
+:1012A00018F43F93F395FBCF8F91B5DFFA95E1F7F3
+:1012B0000895E991F9918591803021F0853219F0F6
+:1012C000AADFF9CF089520E0E89455915532C1F393
+:1012D000503311F4689455915A3348F4505390F3B5
+:1012E000220F022E220F220F200D250FF4CF0EF415
+:1012F000219589919991533619F3533729F1533533
+:1013000059F1BC0188279927E8945C3621F489912A
+:10131000999168945591543639F446EF7EF077FFF1
+:101320000DC08FEF9FEF0AC055374AE039F05835AE
+:1013300040E121F0523642E009F00895FF93EF9327
+:101340007DDFEF91FF91B7CFFF93EF93FC01819188
+:101350008030B9F360DFFBCFFF93EF9368DFF1CF0D
+:10136000DF93CF93CDB7DEB72596A3DFCF91DF9183
+:10137000089508950C94B90981E0089508950C9496
+:10138000B9090C94BC090C94BE09269A2E988FEFCB
+:101390009FEF909387008093860082E28093800085
+:1013A00089E1809381000C9457340E94C5090E9402
+:1013B0005E130C94BA09282F2E9880918000211179
+:1013C00008C08F7D8093800010928B0010928A005D
+:1013D0000895806280938000233019F48FEF9FEF8F
+:1013E0000FC083E090E0821B9109880F991F2FEFB7
+:1013F0003FEFA90102C0569547958A95E2F7CA01C9
+:1014000090938B0080938A000895CF93DF93EC0133
+:10141000862F90E08930910508F05AC0FC01EA5A05
+:10142000FF4F0C949F360E94E52882729A8199237F
+:1014300069F0882319F085E390E002C089E290E02A
+:101440000E94A928DF91CF910C942F29882319F0AD
+:1014500085E390E002C089E290E00E94C628F2CFC6
+:101460008A818823A9F1DF91CF910C94C9138A81D5
+:10147000882371F1DF91CF910C9435128A818823F2
+:1014800039F1DF91CF910C944D128A81882301F1BB
+:10149000DF91CF910C946C128A818823C9F0DF917F
+:1014A000CF910C9487128A81882391F0DF91CF919C
+:1014B0000C94A1128A81882359F0DF91CF910C946A
+:1014C000BC128A81882321F0DF91CF910C94BF1345
+:1014D000DF91CF91089581E008950C946B0A0895EF
+:1014E0000F931F93CF93DF938C01FC01C081D181B7
+:1014F000CE010E942A28BE010E94A90DEC01B8016C
+:101500000E946D0A882309F474C1F801828188233E
+:1015100009F45BC08091530181111FC0C431F0E711
+:10152000DF0709F00AC10E946F0A81E0809353012E
+:101530000E94192A909352018093510110924A01FE
+:1015400010924C0110924B0110924E0110924D01DD
+:101550001092500110924F014CC180915101909115
+:1015600052010E94252A883C910570F480914A011D
+:10157000E82FF0E0EE0FFF1FE55BFE4FD183C08345
+:101580008F5F80934A0135C1C43120E7D20708F04C
+:1015900028C1C23080E7D80710F5C11590E7D907F8
+:1015A00009F0DAC0F8018281882309F4BFC00E94E3
+:1015B0003623FFEF24E38CE0F15020408040E1F738
+:1015C00000C000000E94742A14C1C431F0E7DF0794
+:1015D00008F0D3C0C23020E7D20708F49BC0F8015E
+:1015E0008281882309F4A2C00E942E2C811102C09E
+:1015F0000E940F2C0E944B2C90E09093F801809356
+:10160000F701C230F0E7DF0721F48091F701816034
+:101610007AC0C33020E7D20721F48091F7018260BD
+:1016200072C0C43080E7D80721F48091F70184604C
+:101630006AC0C53090E7D90719F48091F70127C037
+:10164000C630E0E7DE0721F48091F70180615BC0DE
+:10165000C730F0E7DF0721F48091F701806253C0C3
+:10166000C83020E7D20721F48091F70180644BC095
+:10167000C93080E7D80721F48091F701806843C022
+:10168000CA3090E7D90729F48091F7018460886017
+:101690003AC0CB30E0E7DE0721F48091F7018E7F7E
+:1016A00032C0CC30F0E7DF0721F48091F7018D7F65
+:1016B0002AC0CD3020E7D20721F48091F7018B7F3B
+:1016C00022C0CE3080E7D80719F48091F7011AC004
+:1016D0008091F701CF3090E7D90711F48F7E13C0C6
+:1016E000C031E0E7DE0711F48F7D0DC0C131F0E7B6
+:1016F000DF0711F48F7B07C0C231D04711F48F7719
+:1017000002C08B7F877F8093F7018091F7010E9451
+:101710004F2C6FC0C11580E7D80741F0C130D047CA
+:10172000F1F081E08093480180934901C801DF9185
+:10173000CF911F910F910C94C109C43120E7D207BA
+:1017400008F04FC0C23080E7D80708F048CFC11575
+:1017500090E7D90709F42BCFC130D04711F7F80132
+:101760008281882319F386E492E00E941709809110
+:10177000E60181608093E6013CC0C333E0E7DE0709
+:10178000A1F4F8018281882321F01092480182E0BF
+:1017900017C080914801811106C086E20E949F1FF8
+:1017A00086E20E94672082E019C0C433D04709F066
+:1017B000B8CFF8018281882331F01092490182E18B
+:1017C0000E94B62016C080914901811106C087E2AF
+:1017D0000E949F1F87E20E94672082E10E94BD2035
+:1017E00008C0C333F0E7DF0761F2C433D04709F321
+:1017F00098CF80E0DF91CF911F910F9108950C94C5
+:10180000D5090C94BF0926E4829FC0011124FC0174
+:101810003EE0739FE00DF11D1124E60FF11DEE0F68
+:10182000FF1FE25DFE4F859194910E94BC0D8115D2
+:1018300040E5940708F047C0811520E4920708F0BE
+:1018400014C1883E910520F5803E910508F07DC1C8
+:10185000883A910578F4853A910508F0A6C0813060
+:10186000910509F472C108F42FC18430910508F084
+:101870006CC12AC18B3B910508F4A2C0803C910544
+:1018800008F422C1FC01EE0FFF1FE456F040E7C050
+:10189000811530E2930758F4811541E0940708F070
+:1018A00054C1803F910508F40FC1906508958115DA
+:1018B00020E3920708F0D6C0FC01FF70EE0FFF1F77
+:1018C000E45EFE4FCCC0811535E5930708F044C0B7
+:1018D000811544E5940708F0DFC0811522E59207E1
+:1018E00010F5811531E5930708F0C2C09C0154E062
+:1018F000369527955A95E1F7922F9370482F4370AC
+:1019000021E030E002C0220F331F4A95E2F73C6825
+:10191000392B8F708695869540E2849FC0011124F3
+:10192000822B932B0895AC0143705527282F2695C1
+:1019300026958115934508F0A0C081E090E002C093
+:10194000880F991F4A95E2F740E2249F90011124E5
+:10195000822B932B9C6808958F3240E7940790F474
+:101960008F3120E7920708F0A2C0811536E5930772
+:1019700008F497C09C0130562115304108F0A4C0EE
+:101980009F7093C0803320E7920709F497C008F452
+:1019900092C0813340E7940709F493C082339047A3
+:1019A00009F092C080E093ED0895853A910509F41D
+:1019B0008EC0863A910509F08DC082E890E40895C2
+:1019C000883A910509F489C0893A910509F488C0DB
+:1019D0008A3A910509F487C08B3A910509F486C0CB
+:1019E0008C3A910509F485C08D3A910509F484C0BB
+:1019F000803B910509F483C08E3A910509F482C0B9
+:101A00008F3A910509F481C0813B910509F480C0AA
+:101A1000823B910509F47FC0833B910509F47EC0A8
+:101A2000843B910509F47DC0853B910509F47CC098
+:101A3000863B910509F47BC0873B910509F47AC088
+:101A4000883B910509F479C0893B910509F478C078
+:101A50008A3B910509F477C080E094E4089585916C
+:101A6000949108959927906C08959F70906A0895B5
+:101A7000982F8827816F906A089581E090E002C0D6
+:101A8000880F991F4A95E2F740E2249F90011124A4
+:101A9000822B932B9A680895982F8827846F906AD9
+:101AA00008958F719927982F8827906208958F51F4
+:101AB0009047946D089580E091ED089580E090ED59
+:101AC000089580E092ED089580E090E0089581E827
+:101AD00090E4089583E890E4089582EE94E40895F4
+:101AE00089EE94E408958AEE94E4089585EB94E4F5
+:101AF000089586EB94E4089587EB94E408958CECC4
+:101B000094E408958DEC94E4089583E895E40895B1
+:101B10008AE895E4089582E995E4089584E995E4D6
+:101B2000089581E296E4089583E296E4089584E2BC
+:101B300096E4089585E296E4089586E296E4089591
+:101B400087E296E408958AE296E4089580E090E0C2
+:101B5000089526E4829FC0011124FC012EE0729FAB
+:101B6000E00DF11D1124E60FF11DEE0FFF1FE25DE8
+:101B7000FE4F8591949108958238910549F1B0F412
+:101B80008133910509F459C048F48932910509F46B
+:101B90004FC08A32910509F455C0089585339105E7
+:101BA00009F441C08933910599F00895833E910568
+:101BB00031F138F4803E910591F0823E9105A9F013
+:101BC0000895863E910501F1873E910539F108950A
+:101BD0002091F70120FD3BC021FD39C0089580917F
+:101BE000F70180FF34C089E341C08091F70182FF93
+:101BF00030C08091F70184FD2EC083EE37C0809104
+:101C0000F70182FD26C0F5CF8091F70183FF25C043
+:101C10008091F70184FD1FC087EE28C08091F701F5
+:101C200083FD1BC0F5CF8091F70185FD18C019C059
+:101C30008091F70185FD15C012C08091F70186FDE6
+:101C400012C013C08091F70186FD0FC00CC080EE5A
+:101C50000DC082EE0BC080E009C086EE07C089E2AD
+:101C600005C085E303C08AE201C081E390E00895E6
+:101C70000C94C309E82FF0E0ED5DFE4F8081E82F62
+:101C8000EF70F0E082958F7021E030E0A90102C092
+:101C9000440F551F8A95E2F740A308950F931F93B1
+:101CA000CF93DF93C4E0D0E001E010E0FE01ED5DF2
+:101CB000FE4F8081E82FEF70F0E021A182958F70B8
+:101CC000A80102C0440F551F8A95E2F7CA01822B72
+:101CD00081A38C2F0E943A0E219740F78DE090E06F
+:101CE00061E070E0FC01EB5EFE4F2081E22FEF70BF
+:101CF000F0E042A122952F70DB0102C0AA0FBB1FAA
+:101D00002A95E2F79D01242B22A3019758F7DF9132
+:101D1000CF911F910F9108950F931F93CF93DF934E
+:101D200085B7806885BF85B7806885BFC4E0D0E08F
+:101D300001E010E0FE01ED5DFE4F8081E82FEF70C5
+:101D4000F0E021A182958F70A80102C0440F551FB9
+:101D50008A95E2F7CA01822B81A38C2F0E943A0E4A
+:101D6000219740F78DE090E061E070E0FC01EB5ED0
+:101D7000FE4F2081E22FEF70F0E042A122952F70FC
+:101D8000DB0102C0AA0FBB1F2A95E2F79D01242B9D
+:101D900022A3019758F7DF91CF911F910F910C94D7
+:101DA000FF0BCF92DF92EF92FF920F931F93CF938F
+:101DB000DF930EE511E07801C4E0CC24C394D12C6C
+:101DC000D5E08C2F0E943A0E8DE090E040E050E08C
+:101DD000FC01EB5EFE4F6081E62FEF70F0E020A18A
+:101DE00030E062956F7002C0359527956A95E2F7ED
+:101DF00020FD09C09601082E02C0220F331F0A944D
+:101E0000E2F7422B532B019718F7D7019E918E9141
+:101E10007D018417950721F04D935C93D0930001C9
+:101E20008C2F0E943A0EC15060F68091000187FD10
+:101E30002FC09091E60190FF10C0282F082E000CB3
+:101E4000330B3F938F938FE892E09F938F930E9481
+:101E5000B0090F900F900F900F908091000181506A
+:101E60008093000187FD07C0EFE9FFE03197F1F7AC
+:101E700000C000000DC0E8E6F1E084E591E0D80183
+:101E80003E912E918D01329322938A179B07B9F7C9
+:101E90000E94010C81E0DF91CF911F910F91FF9083
+:101EA000EF90DF90CF900895E82FF0E0EE0FFF1F46
+:101EB000E25AFE4F808191810895EF92FF920F9335
+:101EC0001F93CF93DF938091E60180FF04C080E7EA
+:101ED00092E00E9417090EE511E0C0E0D0E088E52D
+:101EE000E82E82E0F82E8091E60180FF13C0F80111
+:101EF000808191810E9481299F938F93DF93CF935B
+:101F0000FF92EF920E94B0090F900F900F900F90E8
+:101F10000F900F9021960E5F1F4FC530D10519F716
+:101F2000DF91CF911F910F91FF90EF9008950F9344
+:101F30001F93CF9308E611E0C0E0F80192918291DF
+:101F40008F010E946329C80FF1E00E351F07A9F722
+:101F50008C2FCF911F910F91089521B3342F30957D
+:101F6000232331B3432B3FB7F894FC01680F791F4B
+:101F7000E617F70789F0819198E041BB000000C0A7
+:101F800087FF21BB880F000000C000C000C021BB3C
+:101F900000C09A9591F7ECCF3FBF089520B3242B52
+:101FA00020BB9B01220F331F620F731F0E94AD0FD6
+:101FB00087EC90E00197F1F700C00000089540E23F
+:101FC0000C94CE0FAF92BF92CF92DF92EF92FF921E
+:101FD0000F931F93CF93DF936C01790150E0FA01C7
+:101FE000EE55FA4F44918FEF90E0FC01E61BF109AA
+:101FF000EE55FA4FE491E09509F495C0C42FD0E076
+:102000008E1B91098C9F90018D9F300D9C9F300DF0
+:102010001124E32F8CE3A82EB12CC601B5010E9438
+:102020007736DC016230710509F446C0D0F46115E1
+:10203000710599F16130710509F079C0C31BD109AF
+:10204000B501681B790BC69FC001C79F900DD69F35
+:10205000900D1124B5010E947736032F060F142F1F
+:1020600067C06430710509F44BC0B8F16530710583
+:1020700009F05DC0C31BD109B501681B790BC69F70
+:10208000C001C79F900DD69F900D1124B5010E94ED
+:102090007736132FE32FE60F44C0C31BD109CC9D25
+:1020A000C001CD9D900DDC9D900D1124B5010E94C5
+:1020B0007736132F160F35C0C31BD109CA9FC00135
+:1020C000CB9F900DDA9F900D1124B5010E947736B9
+:1020D000142F032FE32FE60F2BC0C31BD109B5012B
+:1020E000681B790BC69FC001C79F900DD69F900DAE
+:1020F0001124B5010E947736132F160F032F0FC03E
+:10210000C31BD109CA9FC001CB9F900DDA9F900DD0
+:102110001124B5010E947736032F060F132FE42FE9
+:1021200007C0042F05C0E42F142F042F01C0E0E0E6
+:10213000D70111960C9311971C931296EC93DF9193
+:10214000CF911F910F91FF90EF90DF90CF90BF90B4
+:10215000AF90089587E090E00C94AD36AB01BC01E0
+:1021600087E090E00C94CB368091E60180FF08C0B8
+:1021700083E794E09F938F930E94B0090F900F9094
+:1021800083E08093F9018091FA01807884668F77EB
+:102190008093FA018CEC8093FB018093FC016091A9
+:1021A000F9017091FA018091FB019091FC010C946E
+:1021B000AE108091E60180FF08C08CE594E09F930B
+:1021C0008F930E94B0090F900F908091E60180FFDD
+:1021D0000FC08091F90181701F928F938FE394E07B
+:1021E0009F938F930E94B0090F900F900F900F90C4
+:1021F0008091E60180FF10C08091F90186958F7370
+:102200001F928F9384E294E09F938F930E94B00972
+:102210000F900F900F900F908091E60180FF19C0F2
+:102220008091F901881F8827881F9091FA01292F32
+:10223000220F822B97FB992790F99F938F938AE027
+:1022400094E09F938F930E94B0090F900F900F908E
+:102250000F908091E60180FF0EC08091FB011F92DC
+:102260008F9380EF93E09F938F930E94B0090F901C
+:102270000F900F900F908091E60180FF0EC080912B
+:10228000FC011F928F9386ED93E09F938F930E94A2
+:10229000B0090F900F900F900F9008958091F90161
+:1022A00080FF06C060E170E081E092E00C94DF0FF7
+:1022B000E3E0F2E0DF0111971C9211971C9210826B
+:1022C000339682E0E333F807A9F7ECCFE3E0F2E0DE
+:1022D000DF0111978C9311976C934083339692E0B2
+:1022E000E333F907A9F70C944E11EF92FF920F9385
+:1022F0001F93CF93DF9300D01F92CDB7DEB7182F77
+:10230000E92EF62E042F8091F9019091FA01A09107
+:10231000FB01B091FC018093FD019093FE01A0931D
+:10232000FF01B09300028091F90180FF1FC09E0160
+:102330002F5F3F4F812F9E2D0E94E20F8091FD0164
+:1023400010FB87F98093FD0116958091FE0180783E
+:10235000182BE0FA17F91093FE01F092FF01009399
+:1023600000024B8169818A810E9466110F900F9053
+:102370000F90DF91CF911F910F91FF90EF900895F3
+:102380000F931F93CF93DF93EC01062F142F90919F
+:10239000F90190FF65C0892F8E77823021F4CE013C
+:1023A0000E9475111BC0892F86958F732EE3280F0D
+:1023B0002F73243018F41091FC0110C0865C8F73C9
+:1023C000893060F4C92FCC1FCC27CC1FD091FA01E3
+:1023D0008D2F880FC82BD7FBDD27D0F98091F9010D
+:1023E000C0FB87F98093F901C6958091FA01807846
+:1023F000C82BD0FBC7F9C093FA010093FB011093DF
+:10240000FC016091F9017091FA018091FB019091BA
+:10241000FC010E94AE108091FC011F928F9380916D
+:10242000FB011F928F938091F901881F8827881FD5
+:102430009091FA01292F220F822B97FB992790F96F
+:102440009F938F9382ED92E09F938F930E94B009A8
+:102450008DB79EB708960FB6F8949EBF0FBE8DBF7E
+:10246000DF91CF911F910F910895E9EFF1E0208165
+:10247000221F2227221F3091FA01432F440F842F5D
+:10248000822B37FB992790F9089668E671E00E9445
+:102490008B36438162810C94C0112091F901221F77
+:1024A0002227221F3091FA01432F440F842F822BC1
+:1024B00037FB992790F9883091051CF4805A9E4F7C
+:1024C00005C0089768E671E00E948B364091FC01D8
+:1024D0006091FB010C94C0116091FB01862F90E08C
+:1024E000883F910514F4685F01C06FEF8091F90196
+:1024F000881F8827881F9091FA01292F220F97FBA8
+:10250000992790F94091FC01822B0C94C0116091A5
+:10251000FB01862F90E0089714F0685001C060E03E
+:102520008091F901881F8827881F9091FA01292F2F
+:10253000220F97FB992790F94091FC01822B0C9474
+:10254000C0114091FC01842F90E0883F910514F464
+:10255000485F01C04FEF8091F901881F8827881FCD
+:102560009091FA01292F220F97FB992790F96091FA
+:10257000FB01822B0C94C0114091FC01842F90E050
+:10258000089714F0485001C040E08091F901881F7D
+:102590008827881F9091FA01292F220F97FB9927EE
+:1025A00090F96091FB01822B0C94C011809179010C
+:1025B00081110FC081E08093790189E080939100BF
+:1025C0008FB7F89493E09093990090ED90939800D2
+:1025D0008FBF089580917100826080937100809117
+:1025E000E60180FF08C081EC92E09F938F930E94E8
+:1025F000B0090F900F900895809171008D7F8093A6
+:1026000071008091E60180FF08C08FEA92E09F93FD
+:102610008F930E94B0090F900F9008959091F90147
+:1026200090FF4BC09178811102C0926007C0883141
+:1026300010F09E6203C08F73880F982B9093F9015E
+:102640006091F9017091FA018091FB019091FC0178
+:102650000E94AE108091F90186958F731F928F931F
+:1026600085E293E09F938F930E94B0098091F901D6
+:10267000982F9E770F900F900F900F90923019F433
+:102680000E94FC1207C08695825C8F73863110F41D
+:102690000E94EA128091F901881F8827881F909173
+:1026A000FA01292F220F97FB992790F94091FC01FD
+:1026B0006091FB01822B0C94C01108958091E6017A
+:1026C00081608093E6018FEB93E09F938F930E944C
+:1026D000B00981E080937A018091E6010F900F901C
+:1026E00080FF08C089EA93E09F938F930E94B0090E
+:1026F0000F900F900E942E2C811110C08091E60146
+:1027000080FF08C081E893E09F938F930E94B009F7
+:102710000F900F900E940F2C0E94B4100E94AA10DC
+:102720006093F9017093FA018093FB019093FC018F
+:102730006E77C1F48091E60180FF08C088E393E0E2
+:102740009F938F930E94B0090F900F900E94B41036
+:102750000E94AA106093F9017093FA018093FB0123
+:102760009093FC010E94D9100E94D6128091F90129
+:1027700080FF04C086958F730C940E13089580918A
+:10278000F90186958F738F5F883108F081E00C9492
+:102790000E138091F901982F909590FB80F980930A
+:1027A000F9016091F9017091FA018091FB0190911A
+:1027B000FC010E94AE108091F90181701F928F93ED
+:1027C00087EF92E09F938F930E94B0098091F90167
+:1027D0000F900F900F900F9080FF04C086958F731D
+:1027E0000C940E130E94FC122FEF80E792E0215010
+:1027F00080409040E1F700C000000C944E11CF9350
+:10280000C82F80917701909178010E94252AEC2FA2
+:10281000F0E0E256FB4FE491F0E08E179F0718F1CD
+:102820000E94192A9093780180937701E0917601B4
+:10283000F0E0EE55FB4F44918091F901881F882705
+:10284000881F9091FA01292F220F97FB992790F961
+:102850006091FB01822B0E9475118091760190E0BE
+:10286000019680937601CF910895CF93C82F8091E0
+:102870007401909175010E94252AEC2FF0E0E55635
+:10288000FB4FE491F0E08E179F07E8F00E94192AB1
+:1028900090937501809374014091FC016091FB015C
+:1028A00080917201909173010E9475118091720163
+:1028B00090917301019668E671E00E9477369093DB
+:1028C000730180937201CF910895CF92DF92FF92AE
+:1028D0000F931F93CF93DF93F82E80917001909107
+:1028E00071010E94252AEF2DE695F0E0E556FB4F99
+:1028F000E491F0E08E179F07C0F10E94192A90938F
+:1029000071018093700101E012E0C0E0D0E088E640
+:10291000C82EDD24D39480916E0190916F018C0FAD
+:102920009D1FB6010E94773698014091FC0160918D
+:10293000FB010E94E20F66960D5F1F4FC03681E0DB
+:10294000D80749F70E944E1180916E0190916F0156
+:10295000F0FE06C0019668E671E00E94773601C07D
+:10296000019790936F0180936E01DF91CF911F913A
+:102970000F91FF90DF90CF9008958F929F92AF922A
+:10298000BF92CF92DF92EF92FF920F931F93CF935C
+:10299000DF93C82F80FF03C0DD24DA9402C0DD245A
+:1029A000D39480916C0190916D010E94252AC69567
+:1029B000EC2FF0E0E856FB4FE491F0E08E179F0714
+:1029C00008F466C00E94192A90936D0180936C01EF
+:1029D00091E0E92E92E0F92E03E012E0C0E0D0E0B1
+:1029E00027E0822E912CF80131971082F701108296
+:1029F000F801108287E0A82EB12CC12C80916B01C8
+:102A00008C0D87FD805F082E000C990BC817D90725
+:102A1000E9F42091FC012A9DC0012B9D900D112409
+:102A2000B4010E948B36462F8091F901881F8827B8
+:102A3000881F9091FA01592F550F97FB992790F90C
+:102A400097016091FB01852B0E94E20FCD0CF1E014
+:102A5000AF1AB10899F6219683E0E80EF11C0D5FDC
+:102A60001F4FC031D10509F0BECF0E944E11809199
+:102A70006B0191E0D91206C0811102C08FE006C03F
+:102A8000815004C090E001968F70992780936B016C
+:102A9000DF91CF911F910F91FF90EF90DF90CF903A
+:102AA000BF90AF909F908F9008959F92AF92BF92EA
+:102AB000CF92DF92EF92FF920F931F93CF93DF930A
+:102AC000CDB7DEB7E0970FB6F894DEBF0FBECDBF2F
+:102AD000182F8091690190916A010E94252AE12FA7
+:102AE000F0E0EB56FB4FE491F0E08E179F0708F4FF
+:102AF00093C00E94192A90936A0180936901CE01C4
+:102B000001967C015E0193E0A90EB11CC12CD12C71
+:102B10008701F50131971082F7011082F5011082CB
+:102B2000912C9091010180916801999E800D112452
+:102B300087FD04C080311CF08FE001C080E0082ECA
+:102B4000000C990BC816D906A1F48091F901881FD1
+:102B50008827881F9091FA01592F550F97FB9927C5
+:102B600090F997014091FC016091FB01852B0E9437
+:102B7000E20F9394F7E09F12D4CF8FEFC81AD80AD0
+:102B800093E0E90EF11CE3E0AE0EB11CF0E1CF16CC
+:102B9000D10409F0BECFA3E0B2E089E090E0FC01EF
+:102BA000EF70FF279D0121503109AF01440F551FE0
+:102BB000E40FF51FBF01600F711FFB014181F90197
+:102BC000408321503109FB014081F9014083FB0121
+:102BD00022812C93019613968931910501F70E9469
+:102BE0004E119091010180916801913049F48A3F22
+:102BF0002CF489EF809368018FEF08C081500AC0E0
+:102C000087313CF086E18093680181E08093010187
+:102C100003C08F5F80936801E0960FB6F894DEBF23
+:102C20000FBECDBFDF91CF911F910F91FF90EF901D
+:102C3000DF90CF90BF90AF909F9008951F920F921A
+:102C40000FB60F9211242F933F934F935F936F937F
+:102C50007F938F939F93AF93BF93EF93FF93809155
+:102C6000F90186958F739EE3980F9F73943020F43B
+:102C700082500E94FF1323C09AE3980F9F739330F2
+:102C800020F486500E9435141AC097E3980F9F7362
+:102C9000963020F489500E94651411C091E3980F7A
+:102CA0009F73963020F48F500E94BD1408C09BE2A1
+:102CB000980F9F73933018F485510E945515FF911A
+:102CC000EF91BF91AF919F918F917F916F915F91A4
+:102CD0004F913F912F910F900FBE0F901F9018951D
+:102CE0008091860108959FB7F89410927D019FBF4F
+:102CF00090913502943009F057C09091E9009F708F
+:102D00003091EC00232F217030FD20E8922B24E03D
+:102D10002093E9002091EB0020FF43C02091EE00BA
+:102D200027FF3FC020917B01222321F02091E80062
+:102D300025FF37C010927B0126E03091E80035FD79
+:102D400015C030913502343061F53091EB0035FD1E
+:102D500028C0215021F481E080937B0122C0EFE95B
+:102D6000FFE03197F1F700C00000E7CF8093F1005A
+:102D70008091E80085FD0AC08091E80080FFFCCFCB
+:102D80008091E8008E778093E80006C08FB7F894B2
+:102D900021E020937D018FBF9F709093E90080E038
+:102DA00008959F709093E9008FEF0895CF93DF937C
+:102DB00000D01F92CDB7DEB79C01809135028430E0
+:102DC00019F593E099833B832A839093E9008FEF71
+:102DD0009091E800815095FD06C095ED9A95F1F728
+:102DE00000008111F5CF8091E80085FF0DC040E023
+:102DF00050E063E070E0CE0101960E94731980916B
+:102E0000E8008E778093E8000F900F900F90DF918D
+:102E1000CF910895CF93DF9300D01F92CDB7DEB747
+:102E200020913502243021F522E029839B838A8377
+:102E300083E08093E9008FEF9091E800815095FD49
+:102E400006C095ED9A95F1F700008111F5CF8091BC
+:102E5000E80085FF0DC040E050E063E070E0CE0187
+:102E600001960E9473198091E8008E778093E800A4
+:102E70000F900F900F90DF91CF9108959C0180915A
+:102E800035028430F9F482E08093E9009FEF80916D
+:102E9000E800915085FD06C085ED8A95F1F70000A8
+:102EA0009111F5CF8091E80085FF0CC040E050E023
+:102EB00065E070E0C9010E9473198091E8008E7787
+:102EC0008093E8000895CF93DF93EC018091350261
+:102ED000843039F581E08093E9008FEF9091E8002C
+:102EE000815095FD06C095ED9A95F1F7000081118E
+:102EF000F5CF8091E80085FF14C040E050E068E025
+:102F000070E0CE010E9473198091E8008E77809363
+:102F1000E80088E0FE01AEE7B1E001900D928A95ED
+:102F2000E1F7DF91CF91089587EC96E00E941709B1
+:102F300080913402811109C00E94041B0E94611B10
+:102F40008091E20084608093E200089583EC96E033
+:102F50000E9417091092340208958FEB96E00C94AA
+:102F600017098BEB96E00C94170987EB96E00E940B
+:102F700017090C94DC2920917C012F5F822F62E3DA
+:102F80000E946B36992319F020937C0108951092CA
+:102F90007C0180917D01882371F18091350284301C
+:102FA00041F58091E9008F702091EC00922F917093
+:102FB00020FD90E8892B94E09093E9009091EB003C
+:102FC00090FF14C09091EE0097FF10C09091E80020
+:102FD00095FF03C01092F100F9CF9091E80090FFA7
+:102FE00005C09091E8009E779093E8008F708093E1
+:102FF000E90010927D01089542E061EC81E00E94B9
+:103000007D1A42E061EC82E00E947D1A42E061ECB0
+:1030100083E00E947D1A42E261EC84E00C947D1A08
+:1030200080913702833009F453C030F4813071F05D
+:10303000823009F48CC008958A3009F478C08B304E
+:1030400009F45EC0893009F09AC020C08091360230
+:10305000813A09F094C08091E800877F8093E8006E
+:1030600080913A0290913B02892B21F468E08EE72F
+:1030700091E003C060E080E090E070E00E94BE1943
+:103080008091E8008B778093E80008958091360264
+:10309000813209F074C080913A0290913B02892BF1
+:1030A00009F06DC08091E800877F8093E8008091EF
+:1030B000E80082FD05C0809135028111F8CF5FC024
+:1030C0008091F100809386018091E8008B7753C056
+:1030D00080913602813A09F052C080913A02909173
+:1030E0003B02892B09F04BC08091E800877F8093D9
+:1030F000E8008091E80080FFFCCF80910C0136C091
+:10310000809136028132D9F580913A0290913B024A
+:10311000892BA9F58091E800877F8093E8000E94C1
+:10312000B21A8091380280930C010C94362380915E
+:103130003602813221F58091E800877F8093E80094
+:103140000E94B21A8091390280938701089580917C
+:103150003602813AA1F48091E800877F8093E800ED
+:103160008091E80080FFFCCF809187018093F1007F
+:103170008091E8008E778093E8000C94B21A08954D
+:1031800084B7877F84BF0FB6F894A89580916000BC
+:10319000886180936000109260000FBE80E8809389
+:1031A0006100109261000E94971E0E94041B0E9401
+:1031B000611B8091E20084608093E20083E796E1E6
+:1031C0000E945E2978940E94EB1D0E94991E82E065
+:1031D00091E00E94061E86EA96E00E9417098091FF
+:1031E0003502853089F482EA96E00E9417090E9430
+:1031F0009B2980913302882391F30E94CB29882355
+:1032000071F30E945D19EBCF0E94C11EE8CF292FF8
+:10321000332723303105C9F060F42130310581F0C6
+:103220002230310509F041C084E790E029EE36E014
+:1032300040C021323105E1F02232310531F135C093
+:1032400082E190E02DE537E034C099278130910587
+:1032500049F028F0029749F5EBECF6E005C0E5EE01
+:10326000F6E002C0EBEDF6E0849190E09F0121C012
+:103270006430D8F4E62FF0E0EE0FFF1FEC5CFE4F59
+:103280002081318189E090E014C0643070F470E0F6
+:10329000FB01EE0FFF1FE45DFE4F20813181FB013A
+:1032A000E85DFE4F808190E004C080E090E020E087
+:1032B00030E0FA0131832083089580E189BD82E105
+:1032C00089BD09B400FEFDCF8091D8008F7D809329
+:1032D000D8008091E00082608093E0008091E0005F
+:1032E00081FDFCCF0895CF92DF92EF92FF920F9372
+:1032F0001F93CF93DF93EC018B016A010E94D11AD7
+:10330000811133C0C114D10439F0F601808191815B
+:10331000081B190BC80FD91FE12CF12C0115110541
+:1033200019F18091E80085FD16C08091E8008E7744
+:103330008093E800C114D10449F0F60180819181A5
+:10334000E80EF91EF182E08285E00FC00E94D11ADA
+:10335000882321F30AC089918093F100015011095B
+:10336000FFEFEF1AFF0ADACF80E0DF91CF911F91D4
+:103370000F91FF90EF90DF90CF90089520913C0245
+:1033800030913D022617370748F06115710539F471
+:103390002091E8002E772093E80001C0B901FC01DC
+:1033A00020E06115710579F1809135028823F1F1F2
+:1033B0008530F1F18091E80083FD3CC08091E80008
+:1033C00082FD2EC08091E80080FFEBCF2091F300BA
+:1033D0008091F20090E0922B6115710551F08830D8
+:1033E000910538F421912093F10061507109019603
+:1033F000F3CF21E0089709F020E08091E8008E7774
+:103400008093E800CECF2111CFCF0AC08091350242
+:10341000882361F0853061F08091E80083FD0AC067
+:103420008091E80082FFF2CF80E0089582E0089565
+:1034300083E0089581E0089520913C0230913D029F
+:103440002617370748F06115710539F42091E80017
+:103450002E772093E80001C0B901FC0120E061153E
+:10346000710591F180913502882309F440C08530BF
+:1034700009F43FC08091E80083FD3DC08091E800E1
+:1034800082FD2FC08091E80080FFE9CF2091F300FA
+:103490008091F20090E0922B6115710559F088300F
+:1034A000910540F424912093F10031966150710907
+:1034B0000196F2CF21E0089709F020E08091E80022
+:1034C0008E778093E800CBCF2111CCCF0AC08091BA
+:1034D0003502882361F0853061F08091E80083FD3A
+:1034E0000AC08091E80082FFF2CF80E0089582E078
+:1034F000089583E0089581E00895982F973068F546
+:103500009093E900981739F07091EC002091ED004C
+:103510005091F00003C0242F762F50E021FD02C00F
+:103520009F5FECCF3091EB003E7F3093EB0030910A
+:10353000ED003D7F3093ED003091EB003160309332
+:10354000EB007093EC002093ED005093F00020917D
+:10355000EE0027FDE5CF80E008958F708093E900AD
+:1035600081E008958091360287FF11C08091E800C4
+:1035700082FD05C0809135028111F8CF11C0809184
+:10358000E8008B770BC080913502882349F0809149
+:10359000E80080FFF8CF8091E8008E778093E80004
+:1035A00008952091E4003091E50095E64091EC000B
+:1035B000842F817040FF23C08091E80080FD1DC0F2
+:1035C00080913502882399F0853099F08091EB0045
+:1035D00085FD11C04091E4005091E50024173507A6
+:1035E00029F3915011F09A01E1CF84E0089582E02F
+:1035F000089583E0089581E0089580E00895409162
+:10360000E80042FFDDCF08950E94721B0E947A1BE2
+:10361000E0EEF0E0808181608083E8EDF0E0808181
+:103620008F77808319BCA7EDB0E08C918E7F8C934F
+:1036300080818F7E80831092340208950F931F93B0
+:10364000CF93DF930E94721B0E947A1BC8EDD0E0DB
+:1036500088818F77888388818068888388818F7D3F
+:10366000888319BC109235021092310210923302F5
+:103670001092320200EE10E0F80180818B7F80838F
+:1036800088818160888342E060E080E00E947D1A4A
+:10369000E1EEF0E080818E7F8083E2EEF0E08081D9
+:1036A00081608083808188608083F80180818E7F43
+:1036B0008083888180618883DF91CF911F910F91F2
+:1036C0000895E8EDF0E080818F7E8083E7EDF0E003
+:1036D00080818160808384E082BF81E080933402B6
+:1036E0000C941E1BE8EDF0E080818E7F80831092A9
+:1036F000E20008951092DA001092E10008951F92FE
+:103700000F920FB60F9211242F933F934F935F9315
+:103710006F937F938F939F93AF93BF93EF93FF9399
+:103720008091E10082FF0BC08091E20082FF07C020
+:103730008091E1008B7F8093E1000E94BB17809114
+:10374000DA0080FF1FC08091D80080FF1BC08091ED
+:10375000DA008E7F8093DA008091D90080FF0DC05F
+:1037600080E189BD82E189BD09B400FEFDCF81E021
+:10377000809335020E94941705C019BC109235023F
+:103780000E94A6178091E10080FF19C08091E2009D
+:1037900080FF15C08091E2008E7F8093E2008091CF
+:1037A000E20080618093E2008091D8008062809383
+:1037B000D80019BC85E0809335020E94B117809132
+:1037C000E10084FF30C08091E20084FF2CC080E1E2
+:1037D00089BD82E189BD09B400FEFDCF8091D8008A
+:1037E0008F7D8093D8008091E1008F7E8093E100EF
+:1037F0008091E2008F7E8093E2008091E200816000
+:103800008093E20080913102882311F084E007C0A8
+:103810008091E30087FD02C081E001C083E08093D6
+:1038200035020E94B5178091E10083FF29C0809185
+:10383000E20083FF25C08091E100877F8093E10053
+:1038400082E080933502109231028091E1008E7FF8
+:103850008093E1008091E2008E7F8093E20080916E
+:10386000E20080618093E20042E060E080E00E943C
+:103870007D1A8091F00088608093F0000E94AD175F
+:10388000FF91EF91BF91AF919F918F917F916F9138
+:103890005F914F913F912F910F900FBE0F901F900E
+:1038A00018951F920F920FB60F9211242F933F93EA
+:1038B0004F935F936F937F938F939F93AF93BF9338
+:1038C000CF93DF93EF93FF93C091E900CF70809186
+:1038D000EC00D82FD17080FDD0E81092E9008091E3
+:1038E000F000877F8093F00078940E94951C1092DE
+:1038F000E9008091F00088608093F000CD2BCF70BC
+:10390000C093E900FF91EF91DF91CF91BF91AF910B
+:103910009F918F917F916F915F914F913F912F91E7
+:103920000F900FBE0F901F9018951F93CF93DF93AA
+:10393000CDB7DEB7AA970FB6F894DEBF0FBECDBFE6
+:10394000E6E3F2E08091F100819322E0EE33F207AA
+:10395000C9F70E9410188091E80083FF24C180916C
+:10396000360290913702492F50E04A30510508F055
+:103970001AC1FA01E15AFF4F0C949F36803881F04A
+:10398000823809F010C180913A028F708093E9006B
+:103990008091EB0085FB882780F91092E90006C032
+:1039A0008091320290913302911182609091E800EF
+:1039B000977F9093E8008093F1001092F100C8C0C7
+:1039C000282F2D7F09F0EFC0882319F0823061F095
+:1039D000EAC080913802813009F0E5C0933009F0E7
+:1039E00080E0809333022BC080913802811127C080
+:1039F00080913A028F7009F4D6C08093E90020913B
+:103A0000EB0020FF1CC0933021F48091EB0080621A
+:103A100014C09091EB0090619093EB0021E030E0B6
+:103A2000A90102C0440F551F8A95E2F74093EA00AE
+:103A30001092EA008091EB0088608093EB00109276
+:103A4000E9008091E800877F86C08111ACC01091A9
+:103A500038021F778091E3008078812B8093E30008
+:103A60008091E800877F8093E8000E94B21A8091DD
+:103A7000E80080FFFCCF8091E30080688093E30042
+:103A8000111102C082E001C083E0809335028BC037
+:103A90008058823008F087C08091380290913902B6
+:103AA0008C3D53E0950779F583E08A838AE2898328
+:103AB0004FB7F894DE01139620E03EE051E2E32F89
+:103AC000F0E050935700E49120FF03C0E295EF70BF
+:103AD0003F5FEF708E2F90E0EA3010F0C79601C084
+:103AE000C0968D939D932F5F243149F74FBF8091EE
+:103AF000E800877F8093E8006AE270E0CE010196DB
+:103B00000E94BE1914C0AE014F5F5F4F60913A0230
+:103B10000E940719BC01892B09F445C09091E80067
+:103B2000977F9093E80089819A810E941C1A809166
+:103B3000E8008B778093E80036C08038A1F580914B
+:103B4000E800877F8093E800809131028093F10044
+:103B50008091E8008E778093E8000E94B21A23C01B
+:103B6000811121C0809138029091390299270297E2
+:103B7000D4F48091E800877F8093E8008091380238
+:103B8000809331020E94B21A80913102811106C0E5
+:103B90008091E30087FD02C081E001C084E0809352
+:103BA00035020E94FC178091E80083FF0AC08091D3
+:103BB000E800877F8093E8008091EB00806280932B
+:103BC000EB00AA960FB6F894DEBF0FBECDBFDF9113
+:103BD000CF911F910895CF93809135028823A1F052
+:103BE000C091E900CF709091EC00892F817090FD19
+:103BF00080E8C82B1092E9008091E80083FD0E94C4
+:103C0000951CCF70C093E900CF91089590938D01DA
+:103C100080938C010895E0918C01F0918D01309793
+:103C200021F00190F081E02D099480E00895EF9259
+:103C3000FF921F93CF93DF93F82E192FE0918C0101
+:103C4000F0918D013097A9F10280F381E02D099563
+:103C50008091E60182FF2DC080FF04C08AE598E0D4
+:103C60000E941709CF2DD12F18E084E5E82E88E0B7
+:103C7000F82E8091E60180FF0BC088811F928F9300
+:103C8000FF92EF920E94B0090F900F900F900F904B
+:103C9000115021961111EDCF8091E60180FF09C0EE
+:103CA00082E598E0DF91CF911F91FF90EF900C9407
+:103CB0001709DF91CF911F91FF90EF900895E09148
+:103CC0008C01F0918D01309721F00480F581E02D79
+:103CD0000994089520918A0130918B0128173907A2
+:103CE00071F090938B0180938A01E0918C01F091A7
+:103CF0008D01309721F00680F781E02D0994089519
+:103D000020918801309189012817390771F090932B
+:103D1000890180938801E0918C01F0918D013097A9
+:103D200021F00084F185E02D0994089508950C9404
+:103D3000961E0E94102A0E948C0E0E94DE2A0E946B
+:103D400057340C945E13CF93DF931F92CDB7DEB739
+:103D50009091E60192FF10C090FF0EC01F928F93CA
+:103D60002CE638E03F932F9389830E94B0090F908F
+:103D70000F900F900F9089810F90DF91CF910C944D
+:103D8000380E4F925F927F928F929F92AF92BF9226
+:103D9000CF92DF92EF92FF920F931F93CF93DF9317
+:103DA00000D000D01F92CDB7DEB70E94D10E99E9A6
+:103DB000C92E91E0D92E04E010E0AA24A394B12CDE
+:103DC000702E802F0E94540F4C01F60152904290A9
+:103DD0006F014826592641145104A1F401501109DC
+:103DE00078F78FEF89838A831B820E94192A81606A
+:103DF000782F9D838C8349815A816B818D810E94AC
+:103E0000711F38C08091E60181FD0E945D0F2DE099
+:103E100030E07501022E02C0EE0CFF1C0A94E2F79E
+:103E2000C2018E219F21892B09F129837A828E205C
+:103E30009F2091E0892809F490E09B830E94192A31
+:103E40008160782F9D838C8349815A816B818D811C
+:103E50000E94711F000F111FF801E157FE4F808172
+:103E60009181E826F926F182E08204C021503109CF
+:103E700080F6B4CF0E94592E0E940B1E90918E01A5
+:103E80008917D1F00E940B1E80938E010F900F9026
+:103E90000F900F900F90DF91CF911F910F91FF9096
+:103EA000EF90DF90CF90BF90AF909F908F907F90DA
+:103EB0005F904F900C94A31E0F900F900F900F9057
+:103EC0000F90DF91CF911F910F91FF90EF90DF90B6
+:103ED000CF90BF90AF909F908F907F905F904F90CA
+:103EE0000895CF93DF93CDB7DEB72B970FB6F89435
+:103EF000DEBF0FBECDBF4F83588769877A878B8718
+:103F0000DE01119686E0FD0111928A95E9F785E0C0
+:103F1000FE01379601900D928A95E1F749815A8109
+:103F20006B817C818D819E810E94CE252B960FB660
+:103F3000F894DEBF0FBECDBFDF91CF910895CF9330
+:103F4000C82F882309F4C1C0823859F40E940B1E7F
+:103F500081FDBBC089E30E94A9280E942F2989E323
+:103F60000CC0833879F40E940B1E80FDAEC083E53F
+:103F70000E94A9280E942F2983E50E94C628CF917C
+:103F80000C942F29843859F40E940B1E82FD9DC089
+:103F900087E40E94A9280E942F2987E4EECF8CEFA6
+:103FA0008C0F813A48F48C2F0E94023381118DC00E
+:103FB0008C2F0E94A928E3CF80E28C0F883048F430
+:103FC000C77081E001C0880FCA95EAF70E94E8280F
+:103FD000D6CF8BE58C0F833078F4C53A29F0C63AFA
+:103FE00031F083E890E005C081E890E002C082E80B
+:103FF00090E0CF910C946A1E88E58C0F833108F015
+:1040000064C0C83A39F1C93A41F1CA3A49F1CB3AE8
+:1040100051F1CC3A59F1CD3A61F1C03B69F1CE3A58
+:1040200071F1CF3A79F1C13B81F1C23B89F1C33BD8
+:1040300091F1C43B99F1C53BA1F1C63BA9F1C73B46
+:10404000B1F1C83BB9F1C93BC1F1CA3BC9F180E04C
+:1040500090E038C082EE90E035C089EE90E032C04A
+:104060008AEE90E02FC085EB90E02CC086EB90E0CC
+:1040700029C087EB90E026C08CEC90E023C08DEC4B
+:1040800090E020C083E891E01DC08AE891E01AC06A
+:1040900082E991E017C084E991E014C081E292E0E6
+:1040A00011C083E292E00EC084E292E00BC085E290
+:1040B00092E008C086E292E005C087E292E002C08A
+:1040C0008AE292E0CF910C94801ECF9108958823CC
+:1040D00009F44BC0823859F40E940B1E81FF45C081
+:1040E00089E30E94A9280E942F2989E30CC0833804
+:1040F00071F40E940B1E80FF38C083E50E94A9283E
+:104100000E942F2983E50E94C6280C942F29843809
+:1041100059F40E940B1E82FF28C087E40E94A92840
+:104120000E942F2987E4EFCF9CEF980F913A58F324
+:1041300090E2980F983050F4877091E001C0990F89
+:104140008A95EAF7892F0E94EE28DFCF9BE5980F2A
+:10415000933020F480E090E00C946A1E885A8331FA
+:1041600020F480E090E00C94801E0895882321F0D4
+:104170000E94E8280C942F290895882321F00E949A
+:10418000EE280C942F2908958F929F92AF92BF92A0
+:10419000CF92DF92EF92FF920F931F93CF93DF9313
+:1041A0001F92CDB7DEB77C01C62E472FFC010581DB
+:1041B00002950F701281112321F079830E94052945
+:1041C000498149830E94A2284981882381F01123D3
+:1041D00071F080E28C0D883050F082E00E948B28D4
+:1041E0000E94A22891E0D82ED926498101C0D12C65
+:1041F000E42FE295EF708E2F90E0FC01E759FF4F1E
+:104200000C949F36842F807F042F0F70882311F029
+:104210000295007F112389F0002309F488C180E210
+:104220008C0D883020F4802F0E94E82803C0802F56
+:104230000E94F8280E942F297AC18C2D0E946720A5
+:10424000002309F4AAC180E28C0D883020F4802F6D
+:104250000E94EE2803C0802F0E94FE280E942F2972
+:104260009CC1942F907F842F8F70903211F0829593
+:10427000807FCC2021F0F1E0CF16A1F01DC01123EA
+:1042800039F0002319F1013009F50E94182985C180
+:10429000002319F0013009F480C189830E941B2991
+:1042A000898103C1112321F0063008F076C10EC0C8
+:1042B000053008F072C1F9C0112359F0002331F024
+:1042C000F701958190FF33C19F7095830E94B620BE
+:1042D00064C1002309F4E9C030C1842F8695869516
+:1042E000837019F0813061F058C1112321F08C2DB9
+:1042F000942F937002C080E090E00E946A1E4DC12E
+:10430000112321F08C2D942F937002C080E090E057
+:104310000E94801E42C18C2D112319F00E94DF2CB7
+:1043200002C00E94472D0E94CC2D37C1842F83707C
+:1043300009F04DC0111131C12C2D22952695277001
+:10434000220F220F6C2D6F70862F90E0A0E0B0E05E
+:104350004C015D01022E04C0880C991CAA1CBB1CD8
+:104360000A94D2F7C4FE12C08FE090E0A0E0B0E063
+:1043700004C0880F991FAA1FBB1F2A95D2F7BC0142
+:10438000CD01609570958095909503C060E070E0D8
+:10439000CB01242F269526952370223051F080F4EE
+:1043A000682979298A299B29213071F00E941727D1
+:1043B000F4C0682979298A299B290E943327EDC0F6
+:1043C0000E941727C501B4010E94FB26E6C01123F5
+:1043D00019F0842F817001C08695882309F4DDC00F
+:1043E0002C2D229526952770220F220F6C2D6F7091
+:1043F000862F90E0A0E0B0E04C015D01022E04C0E9
+:10440000880C991CAA1CBB1C0A94D2F7C4FE12C0CB
+:104410008FE090E0A0E0B0E004C0880F991FAA1FD1
+:10442000BB1F2A95D2F7BC01CD0160957095809590
+:10443000909503C060E070E0CB01242F269526956F
+:104440002370223051F080F4682979298A299B2928
+:10445000213071F00E94F127A0C0682979298A29AA
+:104460009B290E940D2899C00E94F127C501B40123
+:104470000E94D52792C08C2D90E0FC01E05EF109EE
+:10448000E531F10508F04FC0E758FF4F0C949F3617
+:104490000C2D0F70842F8F71112321F00E946E2735
+:1044A000802F14CF0E948F27802F0E94BD2075C0BF
+:1044B000112341F0053008F070C0842F8F710E94E5
+:1044C000B4276BC0063008F068C0F7CF112339F06D
+:1044D000842F8F710E946E2760C01123C9F3842F2F
+:1044E0008F710E948F2759C0112329F0842F8F715B
+:1044F0000E94592752C00E944F274FC0112351F0EC
+:10450000142F1F71812F0E946E2763E0812F0E945C
+:10451000822843C081E00E948B280230F0F182E0C3
+:104520000E948B283AC0112331F0002389F28C2D90
+:104530000E949F1F32C0002391F28C2D0E946720A1
+:104540002CC04F706C2DC7010E94A60D0E947326CF
+:1045500024C0111122C0842F8F70823099F038F45A
+:10456000882369F08130C9F40E94923416C08330E8
+:1045700061F0843091F48C2D0E941D350EC00E9494
+:1045800068340BC00E94C13408C00E94E73405C0E3
+:104590004F706C2DC7010E94050ADD20F1F00E94CA
+:1045A0007E2880FD1AC0F70112820E9478280E949E
+:1045B0006E27C7010E94FB220E9478280F90DF918E
+:1045C000CF911F910F91FF90EF90DF90CF90BF9010
+:1045D000AF909F908F900C948F270F90DF91CF9189
+:1045E0001F910F91FF90EF90DF90CF90BF90AF9011
+:1045F0009F908F9008950F931F93CF93DF93EC01BB
+:104600008B819C81892BC9F089818F3F19F4888126
+:104610008F3F99F0CE010E94700A882371F0688163
+:1046200079818A810E9474288C010E9429280E9425
+:10463000F026B801CE010E94C420DF91CF911F91D6
+:104640000F9108950E9405290E9415290E94D728DC
+:104650000E942F290E94FE2E0E94CC2D80E090E027
+:104660000E946A1E80E090E00C94801E0E94F52853
+:104670000C9422230E946928292F22952F702C3018
+:1046800030F42A3048F42250223098F405C02C30FF
+:1046900061F02F3051F00DC0803F69F018F4803E7A
+:1046A00040F409C0843F29F406C093FB882780F9B1
+:1046B000089580E0089581E00895CF93DF9300D0BE
+:1046C00000D01F92CDB7DEB70F900F900F900F90D4
+:1046D0000F90DF91CF910895CF93DF9300D000D05A
+:1046E00000D0CDB7DEB726960FB6F894DEBF0FBE6A
+:1046F000CDBFDF91CF9108951F93CF93DF93C091EA
+:10470000990116E080919A01C81799F0D0E01C9F9A
+:10471000F0011D9FF00D1124E556FE4F408151819F
+:1047200062817381848195810E946C232196C77078
+:10473000E9CFDF91CF911F9108954091CB01509126
+:10474000CC016091CD017091CE018091CF0190910B
+:10475000D0010C946C238091D00182958F7009F068
+:1047600054C08091CD01882309F44FC080919901F4
+:10477000A0919A014091CE015091CF016091CB015F
+:104780007091CC01B6E08A1709F43FC090E0411562
+:104790005105C1F17F3F11F46F3FA1F1B89FF001C6
+:1047A000B99FF00D1124E556FE4F218127132AC031
+:1047B0002081261327C02281211124C02381348126
+:1047C0002417350710F421503109241B350B283CE0
+:1047D0003105C0F42091D0012F7020612093D001C9
+:1047E00026E0289FF001299FF00D1124E056FE4F8E
+:1047F00080818F70806180838BEC91E00E94FB222E
+:104800000C947C2301968770BECF0895CF92DF92DF
+:10481000EF92FF920F931F93CF93DF93CDB7DEB745
+:1048200062970FB6F894DEBF0FBECDBF8C0185E056
+:10483000F801DE011D9601900D928A95E1F7D801ED
+:104840004C9111965C91119712966C918091CE01CA
+:104850009091CF01009709F475C13091CB0170910F
+:10486000CC017F3F19F43F3F09F46CC1F801C380CC
+:10487000D480E090CD01EE2009F4BEC02091D0019B
+:10488000C816D90628F0D601A81BB90BCD0104C063
+:10489000809590958C0D9D1DFF24F394883C910587
+:1048A00078F0F12C207F09F0C4C07C2DD98AC88A09
+:1048B00089890E945D238BEC91E00E94FB22AFC0AE
+:1048C000822F807F09F045C0571313C0431311C0D6
+:1048D00061110FC02F7020612093D0010E949D2391
+:1048E0008BEC91E00E94FB228091D001F80185833E
+:1048F0002EC0CD2819F15F3F11F44F3FF9F0F62E8D
+:1049000061111CC08091990120919A0136E08217B3
+:1049100009F45BC090E0389FF001399FF00D11243D
+:10492000E556FE4F7181571306C07081471303C0CF
+:104930007281711103C001968770E9CFF62E66234C
+:1049400009F41CC18091D00181608093D001F12CC9
+:1049500015C1571309C0431307C0611105C08091E9
+:10496000D001F8018583C8C04D875E878D859E85FF
+:104970006A8B0E943A236A898823D1F16623C1F1A8
+:104980002091D001822F82958F7090E0029774F071
+:104990008091CB019091CC0198878F831986DB861B
+:1049A000CA862C87CE0107960E94FB2286E0F8017A
+:1049B000ABECB1E001900D928A95E1F70E94AB2338
+:1049C0000E949D23FF24F394D9C04D875E878D8577
+:1049D0009E850E946928292F22952F70223008F089
+:1049E000C1C09F7009F0BBC0805E883008F4C6C0AB
+:1049F000C8010E94FB22E6CFC816D90608F453C0AE
+:104A0000F601E81BF90BCF01883C910508F450C072
+:104A1000F12C7C2DD98AC88A89890E945D23EBEC10
+:104A2000F1E086E0DF011D928A95E9F70E949D235F
+:104A3000A5C0571314C0431312C0611110C0809158
+:104A4000D001F8018583C8010E94FB2286E0EBECCF
+:104A5000F1E0DF011D928A95E9F7FE2C8FC04D87AA
+:104A60005E878D859E856A8B0E943A236A8988239A
+:104A700009F4BECF662309F4BBCF2091D001822F69
+:104A800082958F7090E002970CF490CF8091CB01CB
+:104A90009091CC019A8389831B82DD82CC822E8304
+:104AA000CE01019681CF809590958C0D9D1DACCF48
+:104AB000F62E662309F49CCF571333C0431331C03D
+:104AC0002091D00120FD24C0822F82958F70482F25
+:104AD00050E041155105E1F0D80115962C9315973A
+:104AE0004F30510549F08F5F982F9295907F822F1C
+:104AF0008F70892B15968C93C8010E94FB2286E04B
+:104B0000F801ABECB1E001900D928A95E1F78ECF00
+:104B100086E0F801ABECB1E001900D928A95E1F7E7
+:104B20002DC04D875E878D859E850E943A23811119
+:104B30003DCF8091D00181608093D001C8010E9457
+:104B4000FB221CC0662309F453CF4D875E878D85F9
+:104B50009E850E943A23882309F44ACF27CF8111EA
+:104B600043CF0CC0243008F043CF9F7009F43CCFF2
+:104B7000D80115969C91907F09F036CF8F2D6296C3
+:104B80000FB6F894DEBF0FBECDBFDF91CF911F915E
+:104B90000F91FF90EF90DF90CF9008951F93CF93E8
+:104BA000DF93CDB7DEB72C970FB6F894DEBF0FBEFC
+:104BB000CDBF4F83588769877A878B879C87CE01C3
+:104BC00007960E940624882371F08A859B85892B8D
+:104BD00009F441C088858F3F09F065C08F818F3F00
+:104BE00009F061C038C086E0FE013796DE011196FB
+:104BF00001900D928A95E1F76A857B8561157105B3
+:104C000051F1FF81E885EF3F11F4FF3F21F1209141
+:104C10009A0130E0C9010196877099274091990166
+:104C200050E08417950709F447C0F983EA837D8330
+:104C30006C8396E0929FD001939FB00D1124A556EE
+:104C4000BE4FFE01319601900D929A95E1F7809347
+:104C50009A010E947C2316E08091990190919A011B
+:104C60008917B9F1189FC001112485569E4F0E94E3
+:104C70000624882371F1E09199011E9FF00111240F
+:104C8000E556FE4F40815181628173818481958117
+:104C90000E946C238091990190E00196877099277A
+:104CA00080939901D9CF4F81588569857A858B8505
+:104CB0009C850E946C23CFCF0E94362310929A01CC
+:104CC00010929901EBECF1E086E0DF011D928A95EC
+:104CD000E9F72C960FB6F894DEBF0FBECDBFDF917B
+:104CE000CF911F910895EF92FF920F931F93CF934F
+:104CF000DF938C01892B09F46CC0F12CEE24E39432
+:104D0000E8012196F8018491843740F4843008F05A
+:104D100051C0813081F0823019F15BC0853709F4D0
+:104D200044C0A8F19CE7980F903708F052C08F77E5
+:104D30000E94672041C00E5F1F4FFE01849190E2E8
+:104D4000980F983050F48770FE2D01C0FF0F8A95A0
+:104D5000EAF78F2F0E94082914C00E949F1F2DC0C0
+:104D60000E5F1F4FFE01849190E2980F983060F41F
+:104D70008770FE2D01C0FF0F8A95EAF78F2F0E94E2
+:104D80000E290E942F2919C00E94672016C00E5FAD
+:104D90001F4FFE01C491CC2381F08FE99FE0019762
+:104DA000F1F700C00000C150F6CF0E5F1F4FFE01AB
+:104DB000F49003C00E949F1F8E018F2D882309F459
+:104DC0009FCFEFE9FFE03197F1F700C0000081507D
+:104DD000F5CFDF91CF911F910F91FF90EF90089544
+:104DE00008956093D5017093D6018093D701909375
+:104DF000D8010C9422230F931F930091D501109199
+:104E0000D6012091D7013091D801DC01CB01802B54
+:104E1000912BA22BB32B8093D5019093D601A09315
+:104E2000D701B093D8011F910F910C9422230F93B7
+:104E30001F930091D5011091D6012091D701309197
+:104E4000D801DC01CB0180239123A223B3238093DB
+:104E5000D5019093D601A093D701B093D8011F91AB
+:104E60000F910C9422230F931F930091D501109161
+:104E7000D6012091D7013091D801DC01CB018027E8
+:104E80009127A227B3278093D5019093D601A093B1
+:104E9000D701B093D8011F910F910C942223109247
+:104EA000D1011092D2011092D3011092D4010C942E
+:104EB000222341E050E060E070E004C0440F551F41
+:104EC000661F771F8A95D2F74093D1015093D20184
+:104ED0006093D3017093D4010C94222341E050E0FD
+:104EE00060E070E004C0440F551F661F771F8A956D
+:104EF000D2F78091D1019091D201A091D301B091CC
+:104F0000D401482B592B6A2B7B2B4093D101509312
+:104F1000D2016093D3017093D4010C94222341E019
+:104F200050E060E070E004C0440F551F661F771F1B
+:104F30008A95D2F740955095609570958091D101F2
+:104F40009091D201A091D301B091D401482359236B
+:104F50006A237B234093D1015093D2016093D30104
+:104F60007093D4010C94222341E050E060E070E0A3
+:104F700004C0440F551F661F771F8A95D2F7809192
+:104F8000D1019091D201A091D301B091D4014827D1
+:104F900059276A277B274093D1015093D201609310
+:104FA000D3017093D4010C9422230F931F9300918B
+:104FB000D1011091D2012091D3013091D401DC01B3
+:104FC000CB01802B912BA22BB32B8093D1019093FB
+:104FD000D201A093D301B093D4011F910F910C94EF
+:104FE00022230F931F930091D1011091D2012091A0
+:104FF000D3013091D401DC01CB0180239123A22382
+:10500000B3238093D1019093D201A093D301B093A5
+:10501000D4011F910F910C9422230F931F930091A1
+:10502000D1011091D2012091D3013091D401DC0142
+:10503000CB0180279127A227B3278093D10190939A
+:10504000D201A093D301B093D4011F910F910C947E
+:1050500022230895CF92DF92EF92FF920F931F9336
+:10506000CF93DF938C01C090D101D090D201E0901A
+:10507000D301F090D4018091D5019091D601A091F7
+:10508000D701B091D801C82AD92AEA2AFB2ACFE150
+:10509000D0E0D701C6010C2E04C0B695A795979510
+:1050A00087950A94D2F780FD04C0219790F780E09D
+:1050B00007C0B8018C2F0E94030C0197B1F38C2F0D
+:1050C000DF91CF911F910F91FF90EF90DF90CF90E4
+:1050D0000895CF93DF93EC010E942A28BE010E941D
+:1050E000030CDF91CF910895CB010E9469280895A8
+:1050F0008091D90185958595859508958091D901EF
+:105100008770089598E0899F90011124262B2093A1
+:10511000D9010C946E272091D90180958223809328
+:10512000D901982F977069F430E0482F082E000CB1
+:10513000550B2417350729F08595859585950C9491
+:105140008F2708959091D901977081E009F480E04C
+:10515000089520910D0130910E01F90132969FEFD3
+:1051600040E05191851789F09F3F19F4511101C01A
+:10517000942F4F5F4630A9F79F3F39F0F901E90FAF
+:10518000F11D97FDFA9582830895089520910D01F0
+:1051900030910E01F9013296285F3F4F90818913BB
+:1051A00001C010823196E217F307C1F7089581E03C
+:1051B00090E0E0910D01F0910E01E80FF91F1082CF
+:1051C000019688309105A9F708958091E501089529
+:1051D0009091E501892B8093E50108958095909148
+:1051E000E50189238093E50108951092E501089572
+:1051F0009091E401892B8093E4010895809590912A
+:10520000E40189238093E40108951092E401089554
+:105210009091E301892B8093E3010895809590910B
+:10522000E30189238093E30108951092E301089537
+:105230008093DA0108951092DA01089580910D01AA
+:1052400090910E01FC0131969C01285F3F4F80E058
+:10525000919191118F5FE217F307D1F70895E091D3
+:105260000D01F0910E018091E5018083E0910D0127
+:10527000F0910E0190818091E401892B8083E0916F
+:105280000D01F0910E0190818091E301892B8083C3
+:105290008091DA01882361F0E0910D01F0910E0117
+:1052A0009081892B80830E941E2981111092DA013E
+:1052B00080910D0190910E010C94171E909347015F
+:1052C00080934601089520E0009739F0AC014150E9
+:1052D0005109842395232F5FF7CF822F089582955C
+:1052E000982F937344E0949F900111248C7C8695B1
+:1052F0008695282B822F8575880F2A7A2695822BF2
+:1053000008951F93CF93DF931F92CDB7DEB7998394
+:105310000E946F29182F9981892F0E946F29212FB0
+:1053200030E0322F2227A901482BCA010F90DF91CC
+:10533000CF911F91089580913502843051F11092E0
+:10534000E70120E488E190E00FB6F894A8958093F7
+:1053500060000FBE2093600080E00E94DB0980E0C7
+:105360000E94380E83B7817F846083BF83B78160DA
+:1053700083BF7894889583B78E7F83BF0FB6F894E8
+:10538000A895809160008861809360001092600011
+:105390000FBE0895089580E00E94DB090E944E0E22
+:1053A0000E94D10E0E94CA290E94970F91E081119C
+:1053B00001C090E0892F08950E94362380E00E946A
+:1053C000DB090E9457340E940B1E0C94380E1F926A
+:1053D0000F920FB60F9211248F939F93AF93BF93A9
+:1053E0008091E701811113C08091E8019091E9015A
+:1053F000A091EA01B091EB014196A11DB11D8093EE
+:10540000E8019093E901A093EA01B093EB01BF9109
+:10541000AF919F918F910F900FBE0F901F90189595
+:1054200082E084BD93E095BD9AEF97BD80936E00B6
+:1054300008952FB7F8948091E8019091E901A09127
+:10544000EA01B091EB012FBF0895CF92DF92EF9266
+:10545000FF920F931F932FB7F8944091E80150915A
+:10546000E9016091EA017091EB012FBF6A017B01B4
+:10547000EE24FF248C0120E030E0C016D106E206C5
+:10548000F30610F4415051099A01281B390BC90148
+:105490001F910F91FF90EF90DF90CF9008951F9292
+:1054A0000F920FB60F9211248F939F93AF93BF93D8
+:1054B0008091E8019091E901A091EA01B091EB019E
+:1054C0000196A11DB11D8093E8019093E901A0937D
+:1054D000EA01B093EB01BF91AF919F918F910F9033
+:1054E0000FBE0F901F9018950E94041BF8942FEF89
+:1054F00087EA91E6215080409040E1F700C000002B
+:1055000087E090EBDC0180933F0290934002A093F0
+:105510004102B09342029CE088E10FB6F894A8954E
+:10552000809360000FBE90936000FFCFAF92BF9258
+:10553000CF92DF92EF92FF920F931F93CF93C4E02D
+:10554000CC24C394D12CE82EF12C8C2F0E94540F24
+:105550005C010DE010E0C601002E02C0880F991F0B
+:105560000A94E2F78A219B21892B51F0602F7C2F2E
+:1055700080E00E94A90DE816F90611F481E006C04A
+:105580000150110940F7C15000F780E0CF911F9101
+:105590000F91FF90EF90DF90CF90BF90AF90089564
+:1055A000CF93C82F8CE20E94962A882321F08C2F5B
+:1055B000CF910C94962A80E0CF910895CF930E94CA
+:1055C0002E2C811102C00E940F2C8CE898E00E94C2
+:1055D0001709C5E6C15049F00E94D10E8FE39CE93E
+:1055E0000197F1F700C00000F5CF85E898E00E9430
+:1055F000170989E20E94D02A81110FC18AE20E9414
+:10560000D02A81110E940F2C85E00E94D02A81119E
+:105610000E94742A0E94392C8093E60187E00E9440
+:10562000D02A8823A9F18BE10E94D02A882351F047
+:105630008091E60181FB222720F991E0922790FBDF
+:1056400081F90EC08EE00E94D02A882361F08091FB
+:10565000E60182FB222720F991E0922790FB82F954
+:105660008093E60115C080E10E94D02A9091E60166
+:10567000882341F093FB222720F981E0822780FBD9
+:1056800093F904C0892F809580FB90F99093E601EF
+:105690008091E6010E943D2C0E944B2C90E090935B
+:1056A000F8018093F70180EE0E94D02A882341F010
+:1056B0008091F701982F909590FB80F98093F701E6
+:1056C00089E30E94D02A882359F08091F70181FB59
+:1056D000222720F991E0922790FB81F98093F7012E
+:1056E00082EE0E94D02A882359F08091F70182FB34
+:1056F000222720F991E0922790FB82F98093F7010D
+:1057000086EE0E94D02A882359F08091F70183FB0E
+:10571000222720F991E0922790FB83F98093F701EB
+:1057200083EE0E94D02A882359F08091F70184FBF0
+:10573000222720F991E0922790FB84F98093F701CA
+:1057400085E30E94D02A882359F08091F70185FBD8
+:10575000222720F991E0922790FB85F98093F701A9
+:1057600081E30E94D02A882359F08091F70186FBBB
+:10577000222720F991E0922790FB86F98093F70188
+:1057800081E10E94D02A882359F08091F70187FB9C
+:10579000222720F991E0922790FB87F98093F70167
+:1057A0008091F7010E944F2C87E20E94D02AC82FD7
+:1057B0008EE10E94D02A8111C2608FE10E94D02A1E
+:1057C0008111C46080E20E94D02A8111C86081E208
+:1057D0000E94D02A8111C06182E20E94D02A8111E8
+:1057E000C06283E20E94D02A8111C06484E20E94D8
+:1057F000D02A882311F0C06802C0CC2329F08C2F56
+:105800000E94462C6C2F03C00E94422C682F70E02F
+:1058100080E090E0CF910C94F126CF9108956DEE49
+:105820007EEF80E090E00E94D73660E082E090E07A
+:105830000E94B93660E083E090E00E94B93660E0F3
+:1058400084E090E00E94B93660E085E090E00E943C
+:10585000B93660E086E090E00C94B93680E090E0E4
+:105860000E94B33621E08D3E9E4F09F020E0822F4A
+:10587000089582E090E00C94A536682F82E090E0D5
+:105880000C94B93683E090E00C94A536682F83E041
+:1058900090E00C94B93684E090E00C94A536682F23
+:1058A00084E090E00C94B93686E090E00C94A53644
+:1058B000682F86E090E00C94B9368091EE0180FF6D
+:1058C0000BC06091120185E0689FB00111247595AD
+:1058D0006795759567952BC081FF09C0609112018E
+:1058E00085E0689FB00111247595679520C082FFFF
+:1058F00007C06091120185E0689FB001112417C0B4
+:105900009091EF019923D1F060911101961788F7DA
+:105910002091120185E0289F90011124929FA001FF
+:10592000939F500D112470E0CA010E948B3660389D
+:10593000710540F46115710519F406C065E070E069
+:10594000862F08958FE7089581E008958091EE01F4
+:1059500080FF08C06091100170E07595679575959E
+:10596000679521C081FF06C06091100170E07595B8
+:10597000679519C082FF04C06091100170E010C0EB
+:105980009091EF01992399F060910F019617A0F77C
+:1059900080911001899FC001112470E00E948B3614
+:1059A0006038710540F46115710519F406C061E0B5
+:1059B00070E0862F08958FE7089581E00895803F75
+:1059C00021F40E945D2C819504C0813F29F40E943E
+:1059D0005D2C8093F2010895823F21F40E945D2C9A
+:1059E000819504C0833F29F40E945D2C8093F101CE
+:1059F0000895893F19F40E94A62C05C08A3F31F40E
+:105A00000E94A62C81958093F30108958B3F21F489
+:105A10000E94A62C819504C08C3F29F40E94A62CDC
+:105A20008093F4010895843F21F48091F001816016
+:105A300017C0853F21F48091F001826011C0863F3C
+:105A400021F48091F00184600BC0873F21F48091A4
+:105A5000F001886005C0883F31F48091F0018061D9
+:105A60008093F00108958D3F21F48091EE018160D3
+:105A70000BC08E3F21F48091EE01826005C08F3F04
+:105A800029F48091EE0184608093EE010895803FB7
+:105A900039F48091F20187FF6CC01092F20169C065
+:105AA000813F29F48091F2011816BCF362C09091F5
+:105AB000F101823F29F497FF5CC01092F10159C0B7
+:105AC000833F19F41916CCF354C0893F41F48091F7
+:105AD000F30118160CF04DC01092F3014AC08A3F32
+:105AE00029F48091F30187FF44C0F6CF8B3F39F44E
+:105AF0008091F40187FF3DC01092F4013AC08C3FC1
+:105B000029F48091F4011816BCF333C0843F21F4CA
+:105B10008091F0018E7F17C0853F21F48091F001C4
+:105B20008D7F11C0863F21F48091F0018B7F0BC0E7
+:105B3000873F21F48091F001877F05C0883F31F4D1
+:105B40008091F0018F7E8093F00113C08D3F21F48E
+:105B50008091EE018E7F0BC08E3F21F48091EE018B
+:105B60008D7F05C08F3F29F48091EE018B7F80935C
+:105B7000EE018091F10181110EC08091F20181113D
+:105B80000AC08091F301811106C08091F401811156
+:105B900002C01092EF0108958091E60183FF7EC05C
+:105BA00088EC98E00E9417098091F0011F928F9372
+:105BB00083EC98E09F938F930E94B00981EC98E06A
+:105BC0000E9417098091F101282F082E000C330B39
+:105BD0003F938F938EEB98E09F938F930E94B00931
+:105BE0008CEB98E00E9417098091F201282F082E73
+:105BF000000C330B3F938F9389EB98E09F938F9327
+:105C00000E94B00987EB98E00E9417098091F30188
+:105C1000282F082E000C330B3F938F9384EB98E0D2
+:105C20009F938F930E94B00982EB98E00E9417091E
+:105C30008091F401282F082E000C330B3F938F9393
+:105C40008FEA98E09F938F930E94B0098CEA98E0C6
+:105C50000E9417098091EF011F928F9389EA98E0C3
+:105C60009F938F930E94B00987EA98E00E941709DA
+:105C70008091EE011F928F9384EA98E09F938F9317
+:105C80000E94B00981EA98E00E9417098DB79EB77B
+:105C90004C960FB6F8949EBF0FBE8DBF80EF91E07B
+:105CA0000E945F1E0E94192A9093ED018093EC01DF
+:105CB00008951F93CF93DF938091EC019091ED01B4
+:105CC0000E94252AAC019091EF01992321F02091A7
+:105CD000130130E006C0209114018AE0289F900152
+:105CE00011244217530708F485C08091F101C09137
+:105CF000F201D091F3011091F401811107C0C1119B
+:105D000075C0D11173C0111171C074C09F3F19F0DB
+:105D10009F5F9093EF01181624F40E945D2C8093EE
+:105D2000F1018091F10187FF05C00E945D2C8195F2
+:105D30008093F1011C1624F40E945D2C8093F201E3
+:105D40008091F20187FF05C00E945D2C81958093B0
+:105D5000F2016091F101662331F1C091F201CC238F
+:105D600011F1062E000C770B880B990B0E947235EF
+:105D700023E333E343E35FE30E94D6350E943A35E1
+:105D80006093F1016C2FCC0F770B880B990B0E945D
+:105D9000723523E333E343E35FE30E94D6350E9489
+:105DA0003A356093F2011D1624F40E94A62C8093CC
+:105DB000F3018091F30187FF05C00E94A62C819515
+:105DC0008093F301111624F40E94A62C8093F40111
+:105DD0008091F40187FF05C00E94A62C81958093D5
+:105DE000F401DF91CF911F910C94CC2D9F3F09F0CE
+:105DF0008FCFA0CFDF91CF911F910895E0EFF1E019
+:105E000085E0DF011D928A95E9F71092EF0110926B
+:105E1000EE0108958BEE9AE00E9417091F9281E02F
+:105E20008F931F9285E08F938DE99AE09F938F93D4
+:105E30000E94B0090F900F900F900F900F900F904D
+:105E400008958330E9F128F4813061F0823009F15E
+:105E50000895853009F462C008F449C0863009F419
+:105E600074C0089580911401262F30E0280F311D51
+:105E70002F3F310524F4680F6093140103C08FEFA6
+:105E800080931401809114011F928F9386ED99E005
+:105E900072C080911301262F30E0280F311D2F3F53
+:105EA000310524F4680F6093130103C08FEF8093D2
+:105EB0001301809113011F928F9384EC99E05BC0D2
+:105EC00080911201262F30E0280F311D2F3F310520
+:105ED00024F4680F6093120103C08FEF80931201C6
+:105EE000809112011F928F9381EB99E044C08091C1
+:105EF0001101262F30E0280F311D2F3F310524F4EA
+:105F0000680F6093110103C08FEF8093110180919E
+:105F100011011F928F938CE999E02DC0809110019F
+:105F2000262F30E0280F311D2F3F310524F4680F54
+:105F30006093100103C08FEF8093100180911001D6
+:105F40001F928F9383E899E016C080910F01262F4E
+:105F500030E0280F311D2F3F310524F4680F609386
+:105F60000F0103C08FEF80930F0180910F011F92EB
+:105F70008F9388E699E09F938F930E94B0090F90CA
+:105F80000F900F900F900895833081F128F48130A5
+:105F900059F08230D1F00895853009F449C0B8F144
+:105FA000863009F456C0089580911401681720F4D2
+:105FB000861B8093140102C0109214018091140179
+:105FC0001F928F9389E599E054C08091130168175F
+:105FD00020F4861B8093130102C01092130180915C
+:105FE00013011F928F9387E499E043C080911201BF
+:105FF000681720F4861B8093120102C010921201D0
+:10600000809112011F928F9384E399E032C08091B6
+:106010001101681720F4861B8093110102C01092B1
+:106020001101809111011F928F938FE199E021C09E
+:1060300080911001681720F4861B8093100102C024
+:1060400010921001809110011F928F9386E099E0C9
+:1060500010C080910F01681720F4861B80930F01F8
+:1060600002C010920F0180910F011F928F938BEE4F
+:1060700098E09F938F930E94B0090F900F900F901C
+:106080000F900895CF93C82F1F928F9380EF9BE0BE
+:106090009F938F930E94B00981E090E0A0E0B0E070
+:1060A000BC01CD0104C0660F771F881F991FCA95D8
+:1060B000D2F70E94F1260F900F900F900F90CF9182
+:1060C0000C943623CF938732B0F58E3108F088C216
+:1060D0008E3009F402C200F5873009F4CBC1A8F470
+:1060E000863009F083C28091E601817F8E7F8093A4
+:1060F000E60187E49DE00E9417098BE191E10E948F
+:10610000170981E08093F601B3C1883009F43FC0DC
+:106110008B3009F4A9C16AC2863109F424C220F483
+:10612000803109F4EEC162C2893109F405C28B31B4
+:1061300009F4BFC15BC2883309F496C150F48932B7
+:1061400009F450C2853309F44DC2873209F44AC2BA
+:106150004DC2833409F446C228F48A3308F446C297
+:10616000895341C2883409F041C20E9436238FEF1F
+:1061700090E10E9417099FEF23ED80E391502040AA
+:106180008040E1F700C000000E94742A71C18FE1D5
+:1061900091E10E94170981E890E10E9417090E948D
+:1061A000422C1F928F938EE790E19F938F930E94D2
+:1061B000B0098CE790E10E9417090E94392CC82F82
+:1061C00089E690E10E9417091F92CF9384E690E13F
+:1061D0009F938F930E94B00982E690E10E94170975
+:1061E00088E590E10E9417098C2F81701F928F9390
+:1061F00085E590E19F938F930E94B00983E590E13C
+:106200000E94170989E490E10E941709C1FB8827C1
+:1062100080F91F928F9386E490E19F938F930E9461
+:10622000B00984E490E10E94170988E390E10E949C
+:106230001709C2FB882780F91F928F9385E390E1AD
+:106240009F938F930E94B00983E390E10E94170906
+:106250008AE290E10E941709C3FBCC27C0F91F9284
+:10626000CF9387E290E19F938F930E94B00985E2DC
+:1062700090E10E9417090E944B2CC82F81E190E108
+:106280000E9417091F92CF938CE090E19F938F9308
+:106290000E94B0098AE090E10E94170981EF9FE017
+:1062A0000E9417098C2F81701F928F938EEE9FE0B2
+:1062B0009F938F930E94B0098DB79EB780960FB6BB
+:1062C000F8949EBF0FBE8DBF8CEE9FE00E94170911
+:1062D00085ED9FE00E941709C1FB882780F91F9276
+:1062E0008F9382ED9FE09F938F930E94B00980ED82
+:1062F0009FE00E9417098EEB9FE00E941709C2FBE6
+:10630000882780F91F928F938BEB9FE09F938F9349
+:106310000E94B00989EB9FE00E94170987EA9FE07D
+:106320000E941709C3FB882780F91F928F9384EA84
+:106330009FE09F938F930E94B00982EA9FE00E94A2
+:10634000170988E99FE00E941709C4FB882780F994
+:106350001F928F9385E99FE09F938F930E94B009CE
+:1063600083E99FE00E94170981E89FE00E941709D6
+:10637000C5FB882780F91F928F938EE79FE09F933C
+:106380008F930E94B0098CE79FE00E94170980E676
+:106390009FE00E941709C6FB882780F91F928F9300
+:1063A0008DE59FE09F938F930E94B0098BE59FE05E
+:1063B0000E94170983E59FE00E941709C7FBCC27BD
+:1063C000C0F91F92CF9380E59FE09F938F930E9427
+:1063D000B0098EE49FE00E9417090E94542CC82F38
+:1063E00087E39FE00E9417091F92CF9382E39FE00B
+:1063F0009F938F930E94B0098DB79EB780960FB67A
+:10640000F8949EBF0FBE8DBF80E39FE00E941709E6
+:1064100086E29FE00E9417098C2F81701F928F9354
+:1064200083E29FE09F938F930E94B00981E29FE0F7
+:106430000E94170988E19FE00E941709C6951F92E4
+:10644000CF9385E19FE09F938F930E94B00983E1F2
+:106450009FE00E9417098DB79EB708960FB6F89473
+:106460009EBF0FBE8DBF04C08EE69DE00E9417093F
+:10647000C1E0C1C08091E601C82FC095C170C0FBCA
+:1064800080F98093E601CC2349F083EF90E10E94EC
+:1064900017098091E6018660886048C086EE90E129
+:1064A0000E9417098091E601897F877F8093E6012A
+:1064B000DFCF9091E60191FBCC27C0F981E0C8279E
+:1064C000892FC0FB81F98093E601CC2319F089ED77
+:1064D00090E127C08BEC90E1C9CF9091E60192FB4F
+:1064E000CC27C0F981E0C827892FC0FB82F98093AF
+:1064F000E601CC2319F08CEB90E113C08CEA90E11B
+:10650000B5CF9091E60193FBCC27C0F981E0C82775
+:10651000892FC0FB83F98093E601CC2351F080EAF8
+:1065200090E10E9417098091E60181608093E60165
+:1065300062C083E990E19ACF88E39DE00E94170949
+:106540008FE19DE00E9417098DEE9CE00E941709E3
+:1065500086EC9CE00E94170986E89CE00E941709DF
+:106560008BE59CE083CF8DE49CE00E9417090E949C
+:106570000B1E1F928F9383E39CE09F938F930E9447
+:10658000B00980910C011F928F938CE19CE09F9346
+:106590008F930E94B009809187011F928F9389E0A9
+:1065A0009CE09F938F930E94B0098091E8019091A5
+:1065B000E901A091EA01B091EB01BF93AF939F93E2
+:1065C0008F9385EF9BE09F938F930E94B0098DB7C7
+:1065D0009EB742960FB6F8949EBF0FBE8DBF48CFB0
+:1065E0008D5101C080E00E94423042CF81E990E1AC
+:1065F0000E941709C0E08C2FCF91089580E0089584
+:106600000C94FE32CF93C82F8091F601813071F047
+:1066100020F0823009F44BC042C1E0910D01F091AD
+:106620000E018081823209F03CC107C0E0910D016A
+:10663000F0910E018081823261F48C2F0E94003330
+:10664000811104C08C2F0E9462302FC081E090E045
+:106650002CC08C2F0E94FE32811126C0C431E1F083
+:1066600070F4CB3081F0C031D1F40E940A2F88EE53
+:106670009BE00E94170982E08093F60115C0C932A1
+:1066800059F0C83361F487E49DE00E9417098CEE4D
+:106690009BE00E94170908C01092F60104C186EE23
+:1066A0009BE00E941709FFC081E08170FEC0C432E8
+:1066B00028F5CE3108F0C1C0CB30A1F1D0F4C730FD
+:1066C00009F0D3C08EE18093140182E3809313011B
+:1066D0008AE08093120184E18093110188E0809325
+:1066E000100188E280930F018CE89AE00E9417095C
+:1066F000BFC0C33149F1C431C1F0B7C0CB3409F4D4
+:10670000A9C028F4C93289F0C83361F0AEC0C135E0
+:1067100009F49EC0C23509F499C0CE3409F0A5C071
+:106720006AE09EC00E940A2FA3C08091F5018823D1
+:1067300019F01092F5019CC089E99AE00E941709AE
+:1067400081E08093F601B1C083E79AE00E941709C7
+:1067500081E69AE00E941709809114011F928F939D
+:106760008EE59AE09F938F930E94B0098CE59AE0A2
+:106770000E9417098AE49AE00E9417098091130188
+:106780001F928F9387E49AE09F938F930E94B009A2
+:1067900085E49AE00E94170986E39AE00E941709AF
+:1067A000809112011F928F9383E39AE09F938F93BE
+:1067B0000E94B00981E39AE00E94170980E29AE002
+:1067C0000E941709809111011F928F938DE19AE029
+:1067D0009F938F930E94B0098BE19AE00E94170962
+:1067E00086E09AE00E941709809110011F928F9312
+:1067F00083E09AE09F938F930E94B00981E09AE032
+:106800000E9417098AEE99E00E94170980910F01F2
+:106810001F928F9387EE99E09F938F930E94B00908
+:1068200085EE99E00E9417098DB79EB748960FB67E
+:10683000F8949EBF0FBE8DBF1BC0CE51EC2FF0E071
+:10684000E45CFE4F80818093F50112C061E003C0DB
+:1068500061E006C06AE08091F5010E94212F08C026
+:106860008091F5010E94C42F03C08AE89AE013C00A
+:106870008091F501882369F01F928F9384E89AE054
+:106880009F938F930E94B0090F900F900F900F90DD
+:1068900004C081E89AE00E94170981E006C01092C6
+:1068A000F60180E002C080E000CFCF9108950E9401
+:1068B0002E2C811102C00E940F2C0E94542C809318
+:1068C0003E0280FF02C0869501C080E00C94DB0987
+:1068D00080913E02982F9695292F30E02330310584
+:1068E0004CF49F5F990F8170892B816080933E02E9
+:1068F0000E94582C8091E60180FF0FC080913E02DB
+:1069000086951F928F938CE691E19F938F930E94BF
+:10691000B0090F900F900F900F9080913E028695D6
+:106920000C94DB0980913E02982F969591F0915836
+:10693000990F8170892B80933E028E7F91E009F43C
+:1069400090E080913E0290FB80F980933E020E948D
+:10695000582C8091E60180FF0FC080913E02869501
+:106960001F928F9384E591E19F938F930E94B009CA
+:106970000F900F900F900F9080913E0286950C948F
+:10698000DB0980913E02982F909590FB80F98093CF
+:106990003E020E94582C8091E60180FF0FC080913A
+:1069A0003E0281701F928F938EE391E19F938F93AC
+:1069B0000E94B0090F900F900F900F9080913E02AF
+:1069C00080FF02C0869501C080E00C94DB099091A5
+:1069D0003E02892F86958F5F8F779170843028F4DF
+:1069E000880F892B80933E0202C090933E028091D3
+:1069F0003E028E7F91E009F490E080913E0290FB90
+:106A000080F980933E020E94582C8091E60180FF1D
+:106A10000FC080913E0286951F928F938AE291E18A
+:106A20009F938F930E94B0090F900F900F900F903B
+:106A300080913E0286950C94DB0920913E02922FB4
+:106A400096958927982F990F822F8170892B809393
+:106A50003E028E7F91E009F490E080913E0290FB2F
+:106A600080F980933E020E94582C80913E028695C8
+:106A70000C94DB090E9441356894B1110C94D03517
+:106A800008950E94B53588F09F5798F0B92F99273F
+:106A9000B751B0F0E1F0660F771F881F991F1AF009
+:106AA000BA95C9F714C0B13091F00E94CF35B1E06A
+:106AB00008950C94CF35672F782F8827B85F39F069
+:106AC000B93FCCF3869577956795B395D9F73EF4A2
+:106AD00090958095709561957F4F8F4F9F4F08954A
+:106AE000E89409C097FB3EF4909580957095619568
+:106AF0007F4F8F4F9F4F9923A9F0F92F96E9BB271E
+:106B00009395F695879577956795B795F111F8CF99
+:106B1000FAF4BB0F11F460FF1BC06F5F7F4F8F4F04
+:106B20009F4F16C0882311F096E911C0772321F0FA
+:106B30009EE8872F762F05C0662371F096E8862F92
+:106B400070E060E02AF09A95660F771F881FDAF7E9
+:106B5000880F9695879597F9089557FD9058440F9B
+:106B6000551F59F05F3F71F04795880F97FB991FAC
+:106B700061F09F3F79F08795089512161306140669
+:106B8000551FF2CF4695F1DF08C0161617061806F6
+:106B9000991FF1CF86957105610508940895E894D1
+:106BA000BB2766277727CB0197F908950E94E9351F
+:106BB0000C945A360E944C3638F00E94533620F01E
+:106BC000952311F00C9443360C94493611240C94FF
+:106BD000D0350E94AD3570F3959FC1F3950F50E00D
+:106BE000551F629FF001729FBB27F00DB11D639F7F
+:106BF000AA27F00DB11DAA1F649F6627B00DA11D25
+:106C0000661F829F2227B00DA11D621F739FB00DCA
+:106C1000A11D621F839FA00D611D221F749F33273A
+:106C2000A00D611D231F849F600D211D822F762FD3
+:106C30006A2F11249F5750409AF0F1F088234AF0B0
+:106C4000EE0FFF1FBB1F661F771F881F915050401C
+:106C5000A9F79E3F510580F00C9443360C94D03533
+:106C60005F3FE4F3983ED4F3869577956795B795A3
+:106C7000F795E7959F5FC1F7FE2B880F911D9695BD
+:106C8000879597F9089597F99F6780E870E060E02D
+:106C900008959FEF80EC089500240A9416161706B5
+:106CA00018060906089500240A94121613061406FD
+:106CB00005060895092E0394000C11F4882352F060
+:106CC000BB0F40F4BF2B11F460FF04C06F5F7F4F18
+:106CD0008F4F9F4F0895991B79E004C0991F961715
+:106CE00008F0961B881F7A95C9F780950895AA1B0E
+:106CF000BB1B51E107C0AA1FBB1FA617B70710F0A7
+:106D0000A61BB70B881F991F5A95A9F780959095D8
+:106D1000BC01CD01089597FB072E16F4009407D00F
+:106D200077FD09D00E94773607FC05D03EF4909598
+:106D300081959F4F0895709561957F4F0895EE0F4F
+:106D4000FF1F0590F491E02D0994F999FECF92BDB3
+:106D500081BDF89A992780B50895A6E1B0E044E096
+:106D600050E00C94DF36A8E1B0E042E050E00C9433
+:106D7000DF36262FF999FECF92BD81BDF89A019793
+:106D800000B4021639F01FBA20BD0FB6F894FA9A73
+:106D9000F99A0FBE08950396272F0E94BA360E94D3
+:106DA000B936252F0E94BA36242F0C94BA36019694
+:106DB000272F0E94BA360C94B936DC01CB01FC01B6
+:106DC000F999FECF06C0F2BDE1BDF89A319600B444
+:0E6DD0000D9241505040B8F70895F894FFCF4F
+:106DDE00FFFF701663173E170A17D61601DB012840
+:106DEE0008140A321E0F1F6C766673491303534341
+:106DFE0079693309196F7F59404D36201208C5073E
+:106E0E008F076F07FB0614072D07460701020304C1
+:066E1E000506070809004B
+:00000001FF
diff --git a/keyboard/kc60/keymaps/ws2812/config.h b/keyboard/kc60/keymaps/ws2812/config.h
new file mode 100644
index 0000000000..933bb0d2d1
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/config.h
@@ -0,0 +1,10 @@
+#include "../../config.h"
+
+/* WS2812B RGB Underglow LED */
+#define ws2812_PORTREG PORTF
+#define ws2812_DDRREG DDRF
+#define ws2812_pin PF5 // Based on wiring depicted in ws2812_wiring.jpg
+#define RGBLED_NUM 16 // Number of LEDs. Change this to match your use case.
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboard/kc60/keymaps/ws2812/keymap.c b/keyboard/kc60/keymaps/ws2812/keymap.c
new file mode 100644
index 0000000000..bd5bef787b
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/keymap.c
@@ -0,0 +1,161 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "kc60.h"
+
+// Used for SHIFT_ESC
+#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL 0
+#define _FL 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: (Base Layer) Default Layer
+ * ,-----------------------------------------------------------.
+ * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
+ * |-----------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
+ * |-----------------------------------------------------------|
+ * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
+ * |-----------------------------------------------------------|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
+ * |-----------------------------------------------------------|
+ * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
+ * `-----------------------------------------------------------'
+ */
+[_BL] = KEYMAP(
+ F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NO, KC_ENT, \
+ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, MO(_FL), KC_RCTL),
+
+ /* Keymap _FL: Function Layer
+ * ,-----------------------------------------------------------.
+ * |~ |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
+ * |-----------------------------------------------------------|
+ * | | |UP | | | | | | | | |BL-|BL+|BL |
+ * |-----------------------------------------------------------|
+ * | |LFT|DWN|RGT| | | | | | | | |
+ * |-----------------------------------------------------------|
+ * | |FN1|FN2|FN3|FN4|FN5|FN6|FN7|FN8| | | |
+ * |-----------------------------------------------------------|
+ * | | | | | | | |RSET|
+ * `-----------------------------------------------------------'
+ */
+[_FL] = KEYMAP(
+ #ifdef RGBLIGHT_ENABLE
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET),
+ #else
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET),
+ #endif
+};
+
+enum function_id {
+ SHIFT_ESC,
+ #ifdef RGBLIGHT_ENABLE
+ RGBLED_TOGGLE,
+ RGBLED_STEP_MODE,
+ RGBLED_INCREASE_HUE,
+ RGBLED_DECREASE_HUE,
+ RGBLED_INCREASE_SAT,
+ RGBLED_DECREASE_SAT,
+ RGBLED_INCREASE_VAL,
+ RGBLED_DECREASE_VAL
+ #endif
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_FUNCTION(SHIFT_ESC),
+ #ifdef RGBLIGHT_ENABLE
+ [1] = ACTION_FUNCTION(RGBLED_TOGGLE),
+ [2] = ACTION_FUNCTION(RGBLED_STEP_MODE),
+ [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+ [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+ [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+ [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+ [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+ [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
+ #endif
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ static uint8_t shift_esc_shift_mask;
+ switch (id) {
+ case SHIFT_ESC:
+ shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
+ if (record->event.pressed) {
+ if (shift_esc_shift_mask) {
+ add_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ add_key(KC_ESC);
+ send_keyboard_report();
+ }
+ } else {
+ if (shift_esc_shift_mask) {
+ del_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ del_key(KC_ESC);
+ send_keyboard_report();
+ }
+ }
+ break;
+ //led operations
+ #ifdef RGBLIGHT_ENABLE
+ case RGBLED_TOGGLE:
+ if (record->event.pressed) {
+ rgblight_toggle();
+ }
+ break;
+ case RGBLED_INCREASE_HUE:
+ if (record->event.pressed) {
+ rgblight_increase_hue();
+ }
+ break;
+ case RGBLED_DECREASE_HUE:
+ if (record->event.pressed) {
+ rgblight_decrease_hue();
+ }
+ break;
+ case RGBLED_INCREASE_SAT:
+ if (record->event.pressed) {
+ rgblight_increase_sat();
+ }
+ break;
+ case RGBLED_DECREASE_SAT:
+ if (record->event.pressed) {
+ rgblight_decrease_sat();
+ }
+ break;
+ case RGBLED_INCREASE_VAL:
+ if (record->event.pressed) {
+ rgblight_increase_val();
+ }
+ break;
+ case RGBLED_DECREASE_VAL:
+ if (record->event.pressed) {
+ rgblight_decrease_val();
+ }
+ break;
+ case RGBLED_STEP_MODE:
+ if (record->event.pressed) {
+ rgblight_step();
+ }
+ break;
+ #endif
+ }
+}
diff --git a/keyboard/kc60/keymaps/ws2812/ws2812_example.jpg b/keyboard/kc60/keymaps/ws2812/ws2812_example.jpg
new file mode 100644
index 0000000000..5c62cfded3
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/ws2812_example.jpg
Binary files differ
diff --git a/keyboard/kc60/keymaps/ws2812/ws2812_underside-lit.jpg b/keyboard/kc60/keymaps/ws2812/ws2812_underside-lit.jpg
new file mode 100644
index 0000000000..2eab21433a
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/ws2812_underside-lit.jpg
Binary files differ
diff --git a/keyboard/kc60/keymaps/ws2812/ws2812_underside.jpg b/keyboard/kc60/keymaps/ws2812/ws2812_underside.jpg
new file mode 100644
index 0000000000..159d63904f
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/ws2812_underside.jpg
Binary files differ
diff --git a/keyboard/kc60/keymaps/ws2812/ws2812_wiring.jpg b/keyboard/kc60/keymaps/ws2812/ws2812_wiring.jpg
new file mode 100644
index 0000000000..61b749b667
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/ws2812_wiring.jpg
Binary files differ