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.hex1767
-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, 2022 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..897435a1f3
--- /dev/null
+++ b/keyboard/kc60/keymaps/ws2812/compiled.hex
@@ -0,0 +1,1767 @@
+:100000000C94C5080C9409090C9409090C9409096D
+:100010000C9409090C9409090C9409090C94090918
+:100020000C9409090C9409090C94891B0C945B1C11
+:100030000C94072A0C9409090C9409090C940909D9
+:100040000C9409090C9409090C9409090C940909E8
+:100050000C9409090C946F2A0C9409090C94090951
+:100060000C9409090C9409090C9409090C940909C8
+:100070000C9409090C9409090C9409090C940909B8
+:100080000C9428160C9409090C9409090C9409097C
+:100090000C9409090C9409090C9409090C94090998
+:1000A0000C9409090C9409090C940909100A300AE6
+:1000B000680A380A400A480A500A580A600AC81CE6
+:1000C000EA1CD81DEA1CD81D2F1D521DD81DA71DC6
+:1000D000BA1D01210121302130216F218F21E5221C
+:1000E000E5229A21E5224A224A22B122BA22E522B9
+:1000F000DF225722572257225722572257225722B0
+:100100005722572257225722572257225722572227
+:100110005722672275227C2283228D2200F001F073
+: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
+:100C6000342E392E32204156522D4C4942433A20DF
+:100C7000312E382E31204156525F415243483A209E
+:100C8000617672350A004F5054494F4E533A204C0A
+:100C900055464120424F4F544D41474943204D4F07
+:100CA0005553454B45592045585452414B455920C1
+:100CB000434F4E534F4C4520434F4D4D414E4420E2
+:100CC000343039360A004255494C443A20333330E7
+:100CD000323235382D6469727479202832333A34CF
+:100CE000303A3337204A756E203139203230313670
+:100CF000290A005649443A20307846454544285947
+:100D00006F7529205049443A2030783630363028E3
+:100D10006B633630763229205645523A203078308F
+:100D20003030310A00444553433A20412063757303
+:100D3000746F6D206B6579626F6172640A000A09D5
+:100D40002D2056657273696F6E202D0A000A092DD9
+:100D500020436F6E736F6C65202D0A4553432F71CE
+:100D60003A09717569740A6D3A096D6F7573656B2F
+:100D700065790A000A092D204D61676963202D0AF3
+:100D8000443A094465627567204D65737361676510
+:100D900020546F67676C650A583A094D617472692F
+:100DA00078204465627567204D6F646520546F67D5
+:100DB000676C65202D2053686F77206B65797072A2
+:100DC000657373657320696E206D61747269782034
+:100DD000677269640A4B3A094B6579626F617264A4
+:100DE00020446562756720546F67676C65202D200D
+:100DF00053686F77206B65797072657373207265C5
+:100E0000706F72740A4D3A094465627567204D6FC0
+:100E100075736520546F67676C650A563A095665A5
+:100E20007273696F6E0A533A095374617475730A69
+:100E3000433A09416374697661746520436F6E7348
+:100E40006F6C65204D6F64650A46312D4631303A2E
+:100E50000953776974636820746F204C61796572F7
+:100E600020302D392028463130203D204C30290AB1
+:100E7000302D393A0953776974636820746F204CB8
+:100E80006179657220302D390A4553433A09537709
+:100E90006974636820746F204C617965722030201A
+:100EA00028616C7465726E617465206B65792031A0
+:100EB000290A47524156453A0953776974636820B5
+:100EC000746F204C6179657220302028616C7465E4
+:100ED000726E617465206B65792032290A50415524
+:100EE00053453A094A756D7020746F20426F6F74D4
+:100EF0006C6F6164657220285265736574290A45B8
+:100F00003A095072696E7420454550524F4D205336
+:100F1000657474696E67730A000A002575002E6C8B
+:100F20006576656C3A20000A002575002E656E61B5
+:100F3000626C653A20000A00253032580062616315
+:100F40006B6C696768745F636F6E6669672E726148
+:100F5000773A20000A002575002E6E6B726F3A20DA
+:100F6000000A002575002E737761705F6261636B04
+:100F7000736C6173685F6261636B73706163653A20
+:100F800020000A002575002E737761705F6772611B
+:100F900076655F6573633A20000A002575002E6E42
+:100FA0006F5F6775693A20000A002575002E737718
+:100FB00061705F72616C745F726775693A20000AD4
+:100FC000002575002E737761705F6C616C745F6CC7
+:100FD0006775693A20000A002575002E63617073F9
+:100FE0006C6F636B5F746F5F636F6E74726F6C3A7C
+:100FF00020000A002575002E737761705F636F6EA5
+:1010000074726F6C5F636170736C6F636B3A200016
+:101010000A0025303258006B65796D61705F636F2F
+:101020006E6669672E7261773A20000A00257500A6
+:101030002E6D6F7573653A20000A002575002E6BC2
+:101040006579626F6172643A20000A002575002E8E
+:101050006D61747269783A20000A002575002E656A
+:101060006E61626C653A20000A00253032580064D7
+:10107000656275675F636F6E6669672E7261773A46
+:1010800020000A0025750064656661756C745F6CEC
+:10109000617965723A20003F000A6D6F7573653A99
+:1010A000206F66660A000A6D6F7573653A206F6E71
+:1010B0000A000A6B6579626F6172643A206F666636
+:1010C0000A000A6B6579626F6172643A206F6E0A7A
+:1010D000000A6D61747269783A206F66660A000AC8
+:1010E0006D61747269783A206F6E0A000A646562F5
+:1010F00075673A206F66660A000A64656275673A2A
+:10110000206F6E0A000A0A4A756D70696E67207456
+:101110006F20626F6F746C6F616465722E2E2E206B
+:1011200000433E20006565636F6E6669673A0A009A
+:101130006261636B6C6967687420737465703A20D0
+:1011400025750A006261636B6C6967687420746F4F
+:1011500067676C653A2025750A006261636B6C698C
+:101160006768742064656372656173653A202575EC
+:101170000A006261636B6C6967687420696E6372F0
+:10118000656173653A2025750A0011241FBECFEFF3
+:10119000DAE0DEBFCDBF04B603FE24C0809140027A
+:1011A00090914102A0914202B09143028730904B4E
+:1011B000A740B04BB9F41092400210924102109235
+:1011C00042021092430214BE84B7877F84BF88E135
+:1011D0000FB6F89480936000109260000FBEE0E0BC
+:1011E000F8E3099511E0A0E0B1E0E2E0FEE602C01C
+:1011F00005900D92A634B107D9F712E0A6E4B1E04C
+:1012000001C01D92A034B107E1F70E94C7180C94E9
+:10121000FF360C940000FF93EF93E0914601F091AC
+:101220004701309709F00995EF91FF910895FC016E
+:101230008591803011F0EFDFFBCF0895FF27E0E2CA
+:1012400030E247FF0CC0419597FF09C0EDE2609581
+:10125000709580959095611D711D811D911D27FFD1
+:1012600002C0219530E350E2AA27660F771F881F3E
+:10127000991FAA1FA41710F0A41B63955A95A9F7EC
+:10128000AA3008F0A95FA05DAF93F39561157105D1
+:101290008105910541F7ED3211F4EF93F395F217C3
+:1012A00018F43F93F395FBCF8F91B5DFFA95E1F7F3
+:1012B0000895E991F9918591803021F0853219F0F6
+:1012C000AADFF9CF089520E0E89455915532C1F393
+:1012D000503311F4689455915A3348F4505390F3B5
+:1012E000220F022E220F220F200D250FF4CF0EF415
+:1012F000219589919991533619F3533729F1533533
+:1013000059F1BC0188279927E8945C3621F489912A
+:10131000999168945591543639F446EF7EF077FFF1
+:101320000DC08FEF9FEF0AC055374AE039F05835AE
+:1013300040E121F0523642E009F00895FF93EF9327
+:101340007DDFEF91FF91B7CFFF93EF93FC01819188
+:101350008030B9F360DFFBCFFF93EF9368DFF1CF0D
+:10136000DF93CF93CDB7DEB72596A3DFCF91DF9183
+:1013700008950895089581E0089508950C94BA0998
+:101380000C94BB090C94BD09269A2E988FEF9FEF01
+:10139000909387008093860082E28093800089E1A9
+:1013A000809381000C9478340E94C4090C94B9098C
+:1013B000282F2E9880918000211108C08F7D809366
+:1013C000800010928B0010928A00089580628093B2
+:1013D0008000233019F48FEF9FEF0FC083E090E07F
+:1013E000821B9109880F991F2FEF3FEFA90102C0BF
+:1013F000569547958A95E2F7CA0190938B008093A2
+:101400008A000895CF93DF93DC01462F50E04930E6
+:10141000510508F065C0FA01EA5AFF4F0C94B13645
+:10142000EC010E9404298272809348019A819923D9
+:1014300069F0882319F085E390E002C089E290E02A
+:101440000E94C828DF91CF910C944E29882319F06F
+:1014500085E390E002C089E290E00E94E528F2CFA7
+:1014600012968C918823E1F1DF91CF910C94CD13EA
+:1014700012968C918823A1F1DF91CF910C943912AF
+:1014800012968C91882361F1DF91CF910C945112C7
+:1014900012968C91882321F1DF91CF910C947012D8
+:1014A00012968C918823E1F0DF91CF910C948B12EE
+:1014B00012968C918823A1F0DF91CF910C94A51204
+:1014C00012968C91882361F0DF91CF910C94C01219
+:1014D00012968C91882321F0DF91CF910C94C31345
+:1014E000DF91CF91089581E008950C94730A0895D7
+:1014F0000F931F93CF93DF938C01FC01C081D181A7
+:10150000CE010E944928BE010E94AF0DEC01B80136
+:101510000E94750A882309F474C1F8018281882326
+:1015200009F45BC08091540181111FC0C431F0E700
+:10153000DF0709F00AC10E94770A81E08093540115
+:101540000E94392A909353018093520110924B01CB
+:1015500010924D0110924C0110924F0110924E01C9
+:1015600010925101109250014CC180915201909102
+:1015700053010E94452A883C910570F480914B01EB
+:10158000E82FF0E0EE0FFF1FE45BFE4FD183C08336
+:101590008F5F80934B0135C1C43120E7D20708F03B
+:1015A00028C1C23080E7D80710F5C11590E7D907E8
+:1015B00009F0DAC0F8018281882309F4BFC00E94D3
+:1015C0005023FFEF24E38CE0F15020408040E1F70E
+:1015D00000C000000E94942A14C1C431F0E7DF0764
+:1015E00008F0D3C0C23020E7D20708F49BC0F8014E
+:1015F0008281882309F4A2C00E944E2C811102C06E
+:101600000E942F2C0E946B2C90E09093F901809304
+:10161000F801C230F0E7DF0721F48091F801816022
+:101620007AC0C33020E7D20721F48091F8018260AC
+:1016300072C0C43080E7D80721F48091F80184603B
+:101640006AC0C53090E7D90719F48091F80127C026
+:10165000C630E0E7DE0721F48091F80180615BC0CD
+:10166000C730F0E7DF0721F48091F801806253C0B2
+:10167000C83020E7D20721F48091F80180644BC084
+:10168000C93080E7D80721F48091F801806843C011
+:10169000CA3090E7D90729F48091F8018460886006
+:1016A0003AC0CB30E0E7DE0721F48091F8018E7F6D
+:1016B00032C0CC30F0E7DF0721F48091F8018D7F54
+:1016C0002AC0CD3020E7D20721F48091F8018B7F2A
+:1016D00022C0CE3080E7D80719F48091F8011AC0F3
+:1016E0008091F801CF3090E7D90711F48F7E13C0B5
+:1016F000C031E0E7DE0711F48F7D0DC0C131F0E7A6
+:10170000DF0711F48F7B07C0C231D04711F48F7708
+:1017100002C08B7F877F8093F8018091F8010E943F
+:101720006F2C6FC0C11580E7D80741F0C130D0479A
+:10173000F1F081E08093490180934A01C801DF9173
+:10174000CF911F910F910C94C009C43120E7D207AB
+:1017500008F04FC0C23080E7D80708F048CFC11565
+:1017600090E7D90709F42BCFC130D04711F7F80122
+:101770008281882319F386E492E00E941709809100
+:10178000E70181608093E7013CC0C333E0E7DE07F7
+:10179000A1F4F8018281882321F01092490182E0AE
+:1017A00017C080914901811106C086E20E94A51FE1
+:1017B00086E20E946D2082E019C0C433D04709F050
+:1017C000B8CFF8018281882331F010924A0182E17A
+:1017D0000E94BC2016C080914A01811106C087E298
+:1017E0000E94A51F87E20E946D2082E10E94C32013
+:1017F00008C0C333F0E7DF0761F2C433D04709F311
+:1018000098CF80E0DF91CF911F910F9108950C94B4
+:10181000D4090C94BE092EE0729FF001112436E425
+:10182000839FE00DF11D1124E60FF11DEE0FFF1F48
+:10183000E25DFE4F859194910E94C10D811540E5B6
+:10184000940708F047C0811520E4920708F013C1FF
+:10185000883E910520F5803E910508F07CC1883ACC
+:10186000910578F4853A910508F0A5C0813091057D
+:1018700009F471C108F42EC18430910508F06BC1E0
+:1018800029C18B3B910508F4A1C0803C910508F467
+:1018900021C1FC01EE0FFF1FE456F040E6C08115A8
+:1018A00030E2930758F4811541E0940708F053C1E2
+:1018B000803F910508F40EC190650895811520E3DD
+:1018C000920708F0D5C0FC01FF70EE0FFF1FE45E29
+:1018D000FE4FCBC0811535E5930708F043C0811555
+:1018E00044E5940708F0DEC0811522E5920708F56B
+:1018F000811531E5930708F0C1C0482F437021E0FE
+:1019000030E002C0220F331F4A95E2F73C68AC0179
+:1019100064E0569547956A95E1F74370342B8F70D4
+:101920008695869540E2849FC0011124822B932BDB
+:101930000895282F26952695AC01437055278115CB
+:10194000934508F0A0C080E2289F9001112481E017
+:1019500090E002C0880F991F4A95E2F7822B932BE3
+:101960009C6808958F3240E7940790F48F3120E708
+:10197000920708F0A2C0811536E5930708F497C0D6
+:101980009C0130562115304108F0A4C09F7093C0CF
+:10199000803320E7920709F497C008F492C081339E
+:1019A00040E7940709F493C08233904709F092C04E
+:1019B00080E093ED0895853A910509F48EC0863A4A
+:1019C000910509F08DC082E890E40895883A910568
+:1019D00009F489C0893A910509F488C08A3A9105C9
+:1019E00009F487C08B3A910509F486C08C3A9105B9
+:1019F00009F485C08D3A910509F484C0803B9105B6
+:101A000009F483C08E3A910509F482C08F3A91059A
+:101A100009F481C0813B910509F480C0823B9105A6
+:101A200009F47FC0833B910509F47EC0843B910596
+:101A300009F47DC0853B910509F47CC0863B910586
+:101A400009F47BC0873B910509F47AC0883B910576
+:101A500009F479C0893B910509F478C08A3B910566
+:101A600009F477C080E094E40895859194910895F5
+:101A70009927906C08959F70906A0895982F8827F1
+:101A8000816F906A089590E2299F9001112481E06E
+:101A900090E002C0880F991F4A95E2F7822B932BA2
+:101AA0009A680895982F8827846F906A08958F7197
+:101AB0009927982F8827906208958F519047946DA9
+:101AC000089580E091ED089580E090ED089580E024
+:101AD00092ED089580E090E0089581E890E4089503
+:101AE00083E890E4089582EE94E4089589EE94E406
+:101AF00008958AEE94E4089585EB94E4089586EBC6
+:101B000094E4089587EB94E408958CEC94E40895AC
+:101B10008DEC94E4089583E895E408958AE895E4CB
+:101B2000089582E995E4089584E995E4089581E2B1
+:101B300096E4089583E296E4089584E296E4089595
+:101B400085E296E4089586E296E4089587E296E4B5
+:101B500008958AE296E4089580E090E008959EE07A
+:101B6000799FF001112496E4899FE00DF11D112465
+:101B7000E60FF11DEE0FFF1FE25DFE4F8591949180
+:101B800008958238910549F1B0F48133910509F443
+:101B900058C048F48932910509F44EC08A32910543
+:101BA00009F454C008958533910509F440C0893380
+:101BB000910599F00895833E910529F138F4803E0E
+:101BC000910591F0823E9105A1F00895863E910520
+:101BD000F9F0873E910531F108952091F80120FD3B
+:101BE0003AC021FD38C008958091F80180FD35C0CC
+:101BF00032C08091F80182FF32C08091F80184FDEB
+:101C000030C083EE39C08091F80182FD28C0F5CF45
+:101C10008091F80183FF27C08091F80184FD21C0E5
+:101C200087EE2AC08091F80183FD1DC0F5CF809119
+:101C3000F80185FD1AC01BC08091F80185FD17C011
+:101C400014C08091F80186FD14C015C08091F80180
+:101C500086FD11C00EC080EE0FC089E30DC082EE7C
+:101C60000BC080E009C086EE07C089E205C085E3AD
+:101C700003C08AE201C081E390E008950C94C20998
+:101C8000E82FF0E0ED5DFE4F8081E82FEF70F0E08F
+:101C900082958F7021E030E0A90102C0440F551FEA
+:101CA0008A95E2F740A308950F931F93CF93DF9394
+:101CB000C4E0D0E001E010E0FE01ED5DFE4F808168
+:101CC000E82FEF70F0E021A182958F70A80102C08B
+:101CD000440F551F8A95E2F7CA01822B81A38C2FEE
+:101CE0000E94400E219740F78DE090E061E070E0A7
+:101CF000FC01EB5EFE4F2081E22FEF70F0E042A18D
+:101D000022952F70DB0102C0AA0FBB1F2A95E2F7B4
+:101D10009D01242B22A3019758F7DF91CF911F91AA
+:101D20000F9108950F931F93CF93DF9385B780682A
+:101D300085BF85B7806885BFC4E0D0E001E010E0D2
+:101D4000FE01ED5DFE4F8081E82FEF70F0E021A1F4
+:101D500082958F70A80102C0440F551F8A95E2F743
+:101D6000CA01822B81A38C2F0E94400E219740F73D
+:101D70008DE090E061E070E0FC01EB5EFE4F2081C1
+:101D8000E22FEF70F0E042A122952F70DB0102C03C
+:101D9000AA0FBB1F2A95E2F79D01242B22A30197CE
+:101DA00058F7DF91CF911F910F910C94070CEF9290
+:101DB000FF920F931F93CF93DF930FE511E0C4E0E1
+:101DC000EE24E394F12CD5E08C2F0E94400E8DE0A0
+:101DD00090E040E050E0FC01EB5EFE4F6081E62FBA
+:101DE000EF70F0E020A130E062956F7002C0359591
+:101DF00027956A95E2F720FD09C09701082E02C0D9
+:101E0000220F331F0A94E2F7422B532B019718F746
+:101E1000F801929182918F018417950721F05183E7
+:101E20004083D09300018C2F0E94400EC15060F679
+:101E30008091000187FD35C09091E70190FF10C0AF
+:101E4000282F332727FD30953F938F938FE892E01B
+:101E50009F938F930E94B0090F900F900F900F9057
+:101E60008091000181508093000187FD07C08FE9B8
+:101E70009FE00197F1F700C0000013C080E090E000
+:101E8000FC01E15AFE4FDC01AB5ABE4F18962D9172
+:101E90003C911997318720870297863FEFEF9E0785
+:101EA00079F70E94090C81E0DF91CF911F910F918A
+:101EB000FF90EF900895E82FF0E0EE0FFF1FE15A3A
+:101EC000FE4F808191810895EF92FF920F931F93AF
+:101ED000CF93DF938091E70180FF04C080E792E019
+:101EE0000E9417090FE511E0C0E0D0E088E5E82E78
+:101EF00082E0F82E8091E70180FF13C0F801808115
+:101F000091810E94A4299F938F93DF93CF93FF9297
+:101F1000EF920E94B0090F900F900F900F900F90CA
+:101F20000F9021960E5F1F4FC530D10519F7DF9135
+:101F3000CF911F910F91FF90EF9008950F931F93F2
+:101F4000CF9309E611E0C0E0F801929182918F01F0
+:101F50000E948229C80FF1E00F351F07A9F78C2FC7
+:101F6000CF911F910F91089521B3342F30952323E2
+:101F700031B3432B3FB7F894FC01680F791FE61784
+:101F8000F70789F0819198E041BB000000C087FF0E
+:101F900021BB880F000000C000C000C021BB00C0F2
+:101FA0009A9591F7ECCF3FBF089520B3242B20BB27
+:101FB0009B01220F331F620F731F0E94B40F87EC27
+:101FC00090E00197F1F700C00000089540E20C9402
+:101FD000D50FAF92BF92CF92DF92EF92FF920F9305
+:101FE0001F93CF93DF936C01790150E0FA01EE5516
+:101FF000FA4F44918FEF90E0FC01E61BF109EE559A
+:10200000FA4FE491E09509F495C0C42FD0E08E1BFF
+:1020100091098C9F90018D9F300D9C9F300D112454
+:10202000E32F8CE3A82EB12CC601B5010E9489369E
+:10203000DC016230710509F446C0D0F46115710508
+:1020400099F16130710509F079C0C31BD109B5015F
+:10205000681B790BC69FC001C79F900DD69F900D3E
+:102060001124B5010E948936032F060F142F67C073
+:102070006430710509F44BC0B8F16530710509F0A1
+:102080005DC0C31BD109B501681B790BC69FC00198
+:10209000C79F900DD69F900D1124B5010E948936DF
+:1020A000132FE32FE60F44C0C31BD109CC9DC00101
+:1020B000CD9D900DDC9D900D1124B5010E948936B7
+:1020C000132F160F35C0C31BD109CA9FC001CB9F68
+:1020D000900DDA9F900D1124B5010E948936142FBE
+:1020E000032FE32FE60F2BC0C31BD109B501681BDB
+:1020F000790BC69FC001C79F900DD69F900D1124EC
+:10210000B5010E948936132F160F032F0FC0C31B72
+:10211000D109CA9FC001CB9F900DDA9F900D112469
+:10212000B5010E948936032F060F132FE42F07C035
+:10213000042F05C0E42F142F042F01C0E0E0D701C5
+:1021400011960C9311971C931296EC93DF91CF91FB
+:102150001F910F91FF90EF90DF90CF90BF90AF90C5
+:10216000089587E090E00C94BF36AB01BC0187E096
+:1021700090E00C94DD368091E70180FF08C083E792
+:1021800094E09F938F930E94B0090F900F9083E08B
+:102190008093FA018091FB01807884668F77809329
+:1021A000FB018CEC8093FC018093FD016091FA01AE
+:1021B0007091FB018091FC019091FD010C94B51090
+:1021C0008091E70180FF08C08CE594E09F938F9396
+:1021D0000E94B0090F900F908091E70180FF0FC01F
+:1021E0008091FA0181701F928F938FE394E09F9307
+:1021F0008F930E94B0090F900F900F900F908091D5
+:10220000E70180FF10C08091FA0186958F731F92BD
+:102210008F9384E294E09F938F930E94B0090F9074
+:102220000F900F900F908091E70180FF19C080916F
+:10223000FA01881F8827881F9091FB01292F220F00
+:10224000822B97FB992790F99F938F938AE094E0D4
+:102250009F938F930E94B0090F900F900F900F9053
+:102260008091E70180FF0EC08091FC011F928F9347
+:1022700080EF93E09F938F930E94B0090F900F908F
+:102280000F900F908091E70180FF0EC08091FD01BB
+:102290001F928F9386ED93E09F938F930E94B009D6
+:1022A0000F900F900F900F9008958091FA0180FF8A
+:1022B00006C060E170E082E092E00C94E60F80E0FE
+:1022C00090E0FC01EE5FFD4F1182108212820396B6
+:1022D00080339105B1F7EDCF20E030E0F901EE5FFA
+:1022E000FD4F8183608342832D5F3F4F2033310553
+:1022F000A9F70C945511EF92FF920F931F93CF9370
+:10230000DF9300D01F92CDB7DEB70091FA01109194
+:10231000FB012091FC013091FD010093FE0110931F
+:10232000FF0120930002309301022091FA0120FF67
+:1023300021C0042FF62EE92E182F9E012F5F3F4F4C
+:102340000E94E90F8091FE0110FB87F98093FE0146
+:1023500016958091FF018078182BE0FA17F91093F9
+:10236000FF01F0920002009301024B8169818A8192
+:102370000E946C110F900F900F90DF91CF911F91E1
+:102380000F91FF90EF9008950F931F93CF93DF93DA
+:10239000EC01062F142F9091FA0190FF65C0892F50
+:1023A0008E77823021F4CE010E947B111BC0892FD1
+:1023B00086958F732EE3280F2F73243018F4109115
+:1023C000FD0110C0865C8F73893060F4C92FCC1F6B
+:1023D000CC27CC1FD091FB018D2F880FC82BD7FBAA
+:1023E000DD27D0F98091FA01C0FB87F98093FA01CB
+:1023F000C6958091FB018078C82BD0FBC7F9C093AC
+:10240000FB010093FC011093FD016091FA017091B2
+:10241000FB018091FC019091FD010E94B51080911B
+:10242000FD011F928F938091FC011F928F938091E9
+:10243000FA01881F8827881F9091FB01292F220FFE
+:10244000822B97FB992790F99F938F9382ED92E0CF
+:102450009F938F930E94B0098DB79EB708960FB6D1
+:10246000F8949EBF0FBE8DBFDF91CF911F910F914A
+:102470000895EAEFF1E02081221F2227221F3091E8
+:10248000FB01432F440F842F822B37FB992790F9B0
+:10249000089668E671E00E949D36438162810C9443
+:1024A000C4112091FA01221F2227221F3091FB0123
+:1024B000432F440F842F822B37FB992790F98830C4
+:1024C00091051CF4805A9E4F01C0089768E671E0A0
+:1024D0000E949D364091FD016091FC010C94C41155
+:1024E0006091FC01862F90E0883F910514F4685FAD
+:1024F00001C06FEF8091FA01881F8827881F909193
+:10250000FB01292F220F97FB992790F94091FD019C
+:10251000822B0C94C4116091FC01862F90E00897E7
+:1025200014F0685001C060E08091FA01881F88278C
+:10253000881F9091FB01292F220F97FB992790F973
+:102540004091FD01822B0C94C4114091FD01842F18
+:1025500090E0883F910514F4485F01C04FEF8091EF
+:10256000FA01881F8827881F9091FB01292F220FCD
+:1025700097FB992790F96091FC01822B0C94C41170
+:102580004091FD01842F90E0089714F0485001C05D
+:1025900040E08091FA01881F8827881F9091FB01F5
+:1025A000292F220F97FB992790F96091FC01822B2C
+:1025B0000C94C41180917A0181110FC081E0809345
+:1025C0007A0189E0809391008FB7F89493E090931B
+:1025D000990090ED909398008FBF089580917100BD
+:1025E0008260809371008091E70180FF08C081ECD8
+:1025F00092E09F938F930E94B0090F900F900895DF
+:10260000809171008D7F809371008091E70180FF40
+:1026100008C08FEA92E09F938F930E94B0090F90B9
+:102620000F9008959091FA0190FF4BC0917881111D
+:1026300002C0926007C0883110F09E6203C08F73A1
+:10264000880F982B9093FA016091FA017091FB0129
+:102650008091FC019091FD010E94B5108091FA01DA
+:1026600086958F731F928F9385E293E09F938F934C
+:102670000E94B0098091FA01982F9E770F900F90D9
+:102680000F900F90923019F40E94001307C08695A6
+:10269000825C8F73863110F40E94EE128091FA01F1
+:1026A000881F8827881F9091FB01292F220F97FBF5
+:1026B000992790F94091FD016091FC01822B0C94C7
+:1026C000C41108958091E70181608093E7018FEB49
+:1026D00093E09F938F930E94B00981E080937B01E8
+:1026E0008091E7010F900F9080FF08C089EA93E086
+:1026F0009F938F930E94B0090F900F900E944E2CD1
+:10270000811110C08091E70180FF08C081E893E04B
+:102710009F938F930E94B0090F900F900E942F2CCF
+:102720000E94BB100E94B1106093FA017093FB01EC
+:102730008093FC019093FD016E77C1F48091E701D5
+:1027400080FF08C088E393E09F938F930E94B009B5
+:102750000F900F900E94BB100E94B1106093FA017D
+:102760007093FB018093FC019093FD010E94E010A7
+:102770000E94DA128091FA0180FF04C086958F735F
+:102780000C94121308958091FA0186958F738F5FD0
+:10279000883108F081E00C9412138091FA01982F8F
+:1027A000909590FB80F98093FA016091FA01709105
+:1027B000FB018091FC019091FD010E94B510809178
+:1027C000FA0181701F928F9387EF92E09F938F930E
+:1027D0000E94B0098091FA010F900F900F900F9016
+:1027E00080FF04C086958F730C9412130E9400130F
+:1027F0002FEF80E792E0215080409040E1F700C049
+:1028000000000C945511CF93C82F809178019091BE
+:1028100079010E94452AEC2FF0E0E256FB4FE4914B
+:10282000F0E08E179F0718F10E94392A90937901E2
+:1028300080937801E0917701F0E0EE55FB4F4491F1
+:102840008091FA01881F8827881F9091FB01292F0A
+:10285000220F97FB992790F96091FC01822B0E942F
+:102860007B118091770190E0019680937701CF9161
+:102870000895CF93C82F80917501909176010E94A1
+:10288000452AEC2FF0E0E556FB4FE491F0E08E177F
+:102890009F07E8F00E94392A909376018093750192
+:1028A0004091FD016091FC01809173019091740150
+:1028B0000E947B118091730190917401019668E6EA
+:1028C00071E00E9489369093740180937301CF91D7
+:1028D0000895CF92DF92FF920F931F93CF93DF93D0
+:1028E000F82E80917101909172010E94452AEF2D7E
+:1028F000E695F0E0E556FB4FE491F0E08E179F0778
+:10290000F0F10E94392A909372018093710102E0E4
+:1029100012E0C0E0D0E088E6C82EDD24D394809198
+:102920006F01909170018C0F9D1FB6010E94893636
+:1029300098014091FD016091FC010E94E90F6696AB
+:102940000D5F1F4FC03681E0D80749F70E9455112F
+:1029500020916F0130917001F0FE0BC0C90101960A
+:1029600068E671E00E9489369093700180936F0150
+:1029700006C0215031093093700120936F01DF911F
+:10298000CF911F910F91FF90DF90CF9008958F927C
+:102990009F92AF92BF92CF92DF92EF92FF920F93EE
+:1029A0001F93CF93DF93C82F80FF03C0DD24DA94F9
+:1029B00002C0DD24D39480916D0190916E010E943C
+:1029C000452AC695EC2FF0E0E856FB4FE491F0E085
+:1029D0008E179F0708F466C00E94392A90936E01F3
+:1029E00080936D0192E0E92E92E0F92E04E012E06E
+:1029F000C0E0D0E027E0822E912CF80131971082C0
+:102A0000F7011082F801108287E0A82EB12CC12CAA
+:102A100080916C018C0D87FD805F992787FD9095D3
+:102A2000C817D907E9F42091FD012A9DC0012B9D0B
+:102A3000900D1124B4010E949D36462F8091FA0119
+:102A4000881F8827881F9091FB01592F550F97FBEE
+:102A5000992790F997016091FC01852B0E94E90F5D
+:102A6000CD0CF1E0AF1AB10899F6219683E0E80E9B
+:102A7000F11C0D5F1F4FC031D10509F0BECF0E9480
+:102A8000551180916C0191E0D91206C0811102C0EC
+:102A90008FE006C0815004C090E001968F709927A6
+:102AA00080936C01DF91CF911F910F91FF90EF9078
+:102AB000DF90CF90BF90AF909F908F9008959F929E
+:102AC000AF92BF92CF92DF92EF92FF920F931F933C
+:102AD000CF93DF93CDB7DEB7E0970FB6F894DEBFA4
+:102AE0000FBECDBF182F80916A0190916B010E949B
+:102AF000452AE12FF0E0EB56FB4FE491F0E08E1712
+:102B00009F0708F493C00E94392A90936B01809329
+:102B10006A01CE0101967C015E0193E0A90EB11C11
+:102B2000C12CD12C8701F50131971082F701108259
+:102B3000F5011082912C9091010180916901999E7B
+:102B4000800D112487FD04C080311CF08FE001C08E
+:102B500080E0992787FD9095C816D906A1F4809149
+:102B6000FA01881F8827881F9091FB01592F550F64
+:102B700097FB992790F997014091FD016091FC0125
+:102B8000852B0E94E90F9394F7E09F12D4CF8FEF2B
+:102B9000C81AD80A93E0E90EF11CE3E0AE0EB11CAE
+:102BA000F0E1CF16D10409F0BECFA4E0B2E089E095
+:102BB00090E0FC01EF70FF279D0121503109AF012A
+:102BC000440F551FE40FF51FBF01600F711FFB017C
+:102BD0004181F901408321503109FB014081F90114
+:102BE0004083FB0122812C93019613968931910534
+:102BF00001F70E9455119091010180916901913076
+:102C000049F48A3F2CF489EF809369018FEF08C063
+:102C100081500AC087313CF086E18093690181E0F0
+:102C20008093010103C08F5F80936901E0960FB626
+:102C3000F894DEBF0FBECDBFDF91CF911F910F91F2
+:102C4000FF90EF90DF90CF90BF90AF909F9008954E
+:102C50001F920F920FB60F9211242F933F934F9311
+:102C60005F936F937F938F939F93AF93BF93EF93F4
+:102C7000FF938091FA0186958F739EE3980F9F735F
+:102C8000943020F482500E94031423C09AE3980FDA
+:102C90009F73933020F486500E9439141AC097E332
+:102CA000980F9F73963020F489500E94691411C0C8
+:102CB00091E3980F9F73963020F48F500E94C714B1
+:102CC00008C09BE2980F9F73933018F485510E94BF
+:102CD0005F15FF91EF91BF91AF919F918F917F9180
+:102CE0006F915F914F913F912F910F900FBE0F9079
+:102CF0001F9018958091870108959FB7F8941092BE
+:102D00007E019FBF90913602943009F057C0909198
+:102D1000E9009F703091EC00232F217030FD20E8F6
+:102D2000922B24E02093E9002091EB0020FF43C088
+:102D30002091EE0027FF3FC020917C01222321F04B
+:102D40002091E80025FF37C010927C0126E03091E9
+:102D5000E80035FD15C030913602343061F5309110
+:102D6000EB0035FD28C0215021F481E080937C01E7
+:102D700022C0EFE9FFE03197F1F700C00000E7CF94
+:102D80008093F1008091E80085FD0AC08091E80001
+:102D900080FFFCCF8091E8008E778093E80006C02A
+:102DA0008FB7F89421E020937E018FBF9F7090939E
+:102DB000E90080E008959F709093E9008FEF0895F7
+:102DC000CF93DF9300D01F92CDB7DEB79C018091E7
+:102DD0003602843019F593E099833B832A839093DC
+:102DE000E9008FEF9091E800815095FD06C095EDC8
+:102DF0009A95F1F700008111F5CF8091E80085FFE9
+:102E00000DC040E050E063E070E0CE0101960E940A
+:102E100079198091E8008E778093E8000F900F90E9
+:102E20000F90DF91CF910895CF93DF9300D01F9241
+:102E3000CDB7DEB720913602243021F522E0298378
+:102E40009B838A8383E08093E9008FEF9091E80071
+:102E5000815095FD06C095ED9A95F1F7000081111E
+:102E6000F5CF8091E80085FF0DC040E050E063E0C1
+:102E700070E0CE0101960E9479198091E8008E776A
+:102E80008093E8000F900F900F90DF91CF910895FD
+:102E9000209136022430F1F422E02093E9002FEF54
+:102EA0003091E800215035FD06C035ED3A95F1F737
+:102EB00000002111F5CF2091E80025FF0BC040E074
+:102EC00050E065E070E00E9479198091E8008E770B
+:102ED0008093E8000895CF93DF9320913602243049
+:102EE00039F521E02093E9002FEF3091E8002150DF
+:102EF00035FD06C035ED3A95F1F700002111F5CF0B
+:102F00002091E80025FF14C0EC0140E050E068E0AB
+:102F100070E00E9479198091E8008E778093E80034
+:102F200088E0FE01AFE7B1E001900D928A95E1F7EC
+:102F3000DF91CF91089587EC96E00E941709809168
+:102F40003502811109C00E940E1B0E946B1B8091EB
+:102F5000E20084608093E200089583EC96E00E9492
+:102F600017091092350208958FEB96E00C9417091B
+:102F70008BEB96E00C94170987EB96E00E941709FB
+:102F80000C94FC2920917D012F5F822F62E30E9427
+:102F90007D36992319F020937D01089510927D01CB
+:102FA00080917E01882371F180913602843041F551
+:102FB0008091E9008F702091EC00922F917020FD9C
+:102FC00090E8892B94E09093E9009091EB0090FFBA
+:102FD00014C09091EE0097FF10C09091E80095FF0B
+:102FE00003C01092F100F9CF9091E80090FF05C066
+:102FF0009091E8009E779093E8008F708093E900AD
+:1030000010927E01089542E061EC81E00E94881AEE
+:1030100042E061EC82E00E94881A42E061EC83E0C9
+:103020000E94881A42E261EC84E00C94881A809134
+:103030003802833009F453C030F4813071F08230AB
+:1030400009F48CC008958A3009F478C08B3009F4F3
+:103050005EC0893009F09AC020C080913702813A61
+:1030600009F094C08091E800877F8093E800809108
+:103070003B0290913C02892B21F468E08FE791E0BC
+:1030800003C060E080E090E070E00E94C41980918D
+:10309000E8008B778093E8000895809137028132B1
+:1030A00009F074C080913B0290913C02892B09F099
+:1030B0006DC08091E800877F8093E8008091E800F0
+:1030C00082FD05C0809136028111F8CF5FC08091EA
+:1030D000F100809387018091E8008B7753C0809145
+:1030E0003702813A09F052C080913B0290913C0234
+:1030F000892B09F04BC08091E800877F8093E8001E
+:103100008091E80080FFFCCF80910C0136C0809157
+:1031100037028132D9F580913B0290913C02892B94
+:10312000A9F58091E800877F8093E8000E94BD1A8E
+:103130008091390280930C010C94502380913702C6
+:10314000813221F58091E800877F8093E8000E941A
+:10315000BD1A80913A0280938801089580913702C8
+:10316000813AA1F48091E800877F8093E800809104
+:10317000E80080FFFCCF809188018093F10080916E
+:10318000E8008E778093E8000C94BD1A089584B708
+:10319000877F84BF88E10FB6F89480936000109217
+:1031A00060000FBE80E880936100109261000E9471
+:1031B0009D1E0E940E1B0E946B1B8091E20084608A
+:1031C0008093E2008DE796E10E947D2978940E9429
+:1031D000F01D0E949F1E82E091E00E940B1E86EA75
+:1031E00096E00E94170980913602853089F482EAC0
+:1031F00096E00E9417090E94BE298091340288231C
+:1032000091F30E94EB29882371F30E946319EBCF9D
+:103210000E94C71EE8CF292F332723303105C9F07C
+:1032200064F42130310581F02230310509F043C0CA
+:1032300084E790E029EE36E042C021323105F1F01A
+:103240002232310541F137C082E190E02DE537E0CF
+:1032500036C099278130910541F08230910541F0C7
+:10326000892B49F5E5EEF6E005C0EBEDF6E002C08E
+:10327000EBECF6E0849190E09F0121C06430D8F43B
+:10328000E62FF0E0EE0FFF1FEC5CFE4F2081318156
+:1032900089E090E014C0643070F470E0FB01EE0F40
+:1032A000FF1FE45DFE4F20813181FB01E85DFE4F91
+:1032B000808190E004C080E090E020E030E0FA01FE
+:1032C00031832083089580E189BD82E189BD09B4FD
+:1032D00000FEFDCF8091D8008F7D8093D800809133
+:1032E000E00082608093E0008091E00081FDFCCFEF
+:1032F0000895CF92DF92EF92FF920F931F93CF9397
+:10330000DF93EC018B016A010E94DC1A811133C04A
+:10331000C114D10439F0F60180819181081B190B89
+:10332000C80FD91FE12CF12C0115110519F180915D
+:10333000E80085FD16C08091E8008E778093E80054
+:10334000C114D10449F0F60180819181E80EF91E83
+:10335000F182E08285E00FC00E94DC1A882321F30D
+:103360000AC089918093F10001501109FFEFEF1A13
+:10337000FF0ADACF80E0DF91CF911F910F91FF908C
+:10338000EF90DF90CF90089520913D0230913E0262
+:103390002617370748F06115710539F42091E800C8
+:1033A0002E772093E80001C0B90140E06115710556
+:1033B000A9F120913602222309F443C0253009F4F3
+:1033C00042C02091E80023FD40C02091E80022FD8A
+:1033D00032C02091E80020FFE9CF4091F300209116
+:1033E000F20030E0342BFC01CF016115710559F07A
+:1033F0002830310540F481918093F10061507109CA
+:103400002F5F3F4FF1CF41E02830310509F040E018
+:103410002091E8002E772093E800C8CF4111C9CF52
+:103420000AC080913602882361F0853061F0809176
+:10343000E80083FD0AC08091E80082FFF2CF80E0BF
+:10344000089582E0089583E0089581E00895209131
+:103450003D0230913E022617370748F0611571058D
+:1034600039F42091E8002E772093E80001C0B901DB
+:10347000FC0120E06115710591F1809136028823ED
+:1034800009F440C0853009F43FC08091E80083FD15
+:103490003DC08091E80082FD2FC08091E80080FF50
+:1034A000E9CF2091F3008091F20090E0922B61151A
+:1034B000710559F08830910540F424912093F10072
+:1034C0003196615071090196F2CF21E0089709F019
+:1034D00020E08091E8008E778093E800CBCF211127
+:1034E000CCCF0AC080913602882361F0853061F02C
+:1034F0008091E80083FD0AC08091E80082FFF2CF4E
+:1035000080E0089582E0089583E0089581E00895C1
+:10351000982F973058F59093E900981739F07091EB
+:10352000EC002091ED005091F00003C0242F762F85
+:1035300050E021FF19C03091EB003E7F3093EB004B
+:103540003091ED003D7F3093ED003091EB00316024
+:103550003093EB007093EC002093ED005093F0005B
+:103560002091EE0027FF07C09F5FD3CF8F7080931D
+:10357000E90081E0089580E008958091370287FF97
+:1035800011C08091E80082FD05C080913602811152
+:10359000F8CF11C08091E8008B770BC08091360284
+:1035A000882349F08091E80080FFF8CF8091E800FF
+:1035B0008E778093E80008952091E4003091E50033
+:1035C00095E64091EC00842F817040FF22C08091ED
+:1035D000E80080FD1CC080913602882391F0853080
+:1035E00091F08091EB0085FD10C04091E400509176
+:1035F000E5004217530729F39A01915011F784E02F
+:10360000089582E0089583E0089581E0089580E0C0
+:1036100008954091E80042FFDECF08950E947C1B90
+:103620000E94841BE0EEF0E0808181608083E8ED01
+:10363000F0E080818F77808319BCA7EDB0E08C919A
+:103640008E7F8C9380818F7E8083109235020895C7
+:103650000F931F93CF93DF930E947C1B0E94841BC8
+:10366000C8EDD0E088818F778883888180688883DF
+:1036700088818F7D888319BC1092360210923202A5
+:10368000109234021092330200EE10E0F8018081B3
+:103690008B7F808388818160888342E060E080E066
+:1036A0000E94881AE1EEF0E080818E7F8083E2EE56
+:1036B000F0E0808181608083808188608083F80170
+:1036C00080818E7F8083888180618883DF91CF9124
+:1036D0001F910F910895E8EDF0E080818F7E808347
+:1036E000E7EDF0E080818160808384E082BF81E04B
+:1036F000809335020C94281BE8EDF0E080818E7FEA
+:1037000080831092E20008951092DA001092E10096
+:1037100008951F920F920FB60F9211242F933F938B
+:103720004F935F936F937F938F939F93AF93BF93C9
+:10373000EF93FF938091E10082FF0BC08091E20044
+:1037400082FF07C08091E1008B7F8093E1000E949F
+:10375000C2178091DA0080FF1FC08091D80080FFDF
+:103760001BC08091DA008E7F8093DA008091D900AF
+:1037700080FF0DC080E189BD82E189BD09B400FEF2
+:10378000FDCF81E0809336020E949B1705C019BCD3
+:10379000109236020E94AD178091E10080FF19C09F
+:1037A0008091E20080FF15C08091E2008E7F8093BF
+:1037B000E2008091E20080618093E2008091D80075
+:1037C00080628093D80019BC85E0809336020E9405
+:1037D000B8178091E10084FF30C08091E20084FF3F
+:1037E0002CC080E189BD82E189BD09B400FEFDCF16
+:1037F0008091D8008F7D8093D8008091E1008F7EEA
+:103800008093E1008091E2008F7E8093E2008091BE
+:10381000E20081608093E20080913202882311F0FF
+:1038200084E007C08091E30087FD02C081E001C011
+:1038300083E0809336020E94BC178091E10083FFF1
+:1038400029C08091E20083FF25C08091E100877F3D
+:103850008093E10082E080933602109232028091E0
+:10386000E1008E7F8093E1008091E2008E7F809363
+:10387000E2008091E20080618093E20042E060E03B
+:1038800080E00E94881A8091F00088608093F000A8
+:103890000E94B417FF91EF91BF91AF919F918F91CB
+:1038A0007F916F915F914F913F912F910F900FBE3C
+:1038B0000F901F9018951F920F920FB60F92112420
+:1038C0002F933F934F935F936F937F938F939F9328
+:1038D000AF93BF93CF93DF93EF93FF93C091E90032
+:1038E000CF708091EC00D82FD17080FDD0E810927D
+:1038F000E9008091F000877F8093F00078940E9427
+:103900009F1C1092E9008091F00088608093F00085
+:10391000CD2BCF70C093E900FF91EF91DF91CF9154
+:10392000BF91AF919F918F917F916F915F914F91D7
+:103930003F912F910F900FBE0F901F9018951F93DE
+:10394000CF93DF93CDB7DEB7AA970FB6F894DEBF5B
+:103950000FBECDBFE7E3F2E088E08E0F9091F1005B
+:1039600091938E13FBCF0E9417188091E80083FF7C
+:103970001FC18091370290913802492F50E04A30A0
+:10398000510508F015C1FA01E15AFF4F0C94B13608
+:10399000803881F0823809F00BC180913B028F7032
+:1039A0008093E9008091EB0085FB882780F91092D5
+:1039B000E90006C080913302909134029111826037
+:1039C0009091E800977F9093E8008093F100109227
+:1039D000F100C8C0282F2D7F09F0EAC0882319F014
+:1039E000823061F0E5C080913902813009F0E0C099
+:1039F000933009F080E0809334022BC0809139022B
+:103A0000811127C080913B028F7009F4D1C080934F
+:103A1000E9002091EB0020FF1CC0933021F480913D
+:103A2000EB00806214C09091EB0090619093EB00EA
+:103A300021E030E0A90102C0440F551F8A95E2F74A
+:103A40004093EA001092EA008091EB008860809336
+:103A5000EB001092E9008091E800877F86C0811119
+:103A6000A7C0109139021F778091E3008078812BE5
+:103A70008093E3008091E800877F8093E8000E94B4
+:103A8000BD1A8091E80080FFFCCF8091E300806840
+:103A90008093E300111102C082E001C083E08093B3
+:103AA000360286C08058823008F082C08091390288
+:103AB00090913A028C3D53E0950779F583E08A8333
+:103AC0008AE289834FB7F894DE01139620E03EE046
+:103AD00051E2E32FF0E050935700E49120FF03C040
+:103AE000E295EF703F5FEF708E2F90E0EA3010F0BC
+:103AF000C79601C0C0968D939D932F5F243149F7DF
+:103B00004FBF8091E800877F8093E8006AE270E011
+:103B1000CE0101960E94C41914C0AE014F5F5F4FE1
+:103B200060913B020E940B19BC01009709F440C050
+:103B30009091E800977F9093E80089819A810E9494
+:103B4000271A8091E8008B778093E80031C0803895
+:103B500079F58091E800877F8093E80080913202B8
+:103B60008093F1008091E8008E778093E8000E94B6
+:103B7000BD1A1EC081111CC0909139029230C0F450
+:103B80008091E800877F8093E800909332020E9442
+:103B9000BD1A80913202811106C08091E30087FD39
+:103BA00002C081E001C084E0809336020E940318C5
+:103BB0008091E80083FF0AC08091E800877F8093AE
+:103BC000E8008091EB0080628093EB00AA960FB62C
+:103BD000F894DEBF0FBECDBFDF91CF911F91089546
+:103BE000CF93809136028823A1F0C091E900CF7075
+:103BF0009091EC00892F817090FD80E8C82B109285
+:103C0000E9008091E80083FD0E949F1CCF70C09363
+:103C1000E900CF91089590938E0180938D010895CE
+:103C2000E0918D01F0918E01309721F00190F081AB
+:103C3000E02D099480E00895EF92FF920F931F9377
+:103C4000CF93DF93E0918D01F0918E013097B1F128
+:103C50008C010280F381E02D09958091E70182FFBC
+:103C60002DC080FF04C08AE598E00E941709E80192
+:103C700018E084E5E82E88E0F82E8091E70180FFC7
+:103C80000BC088811F928F93FF92EF920E94B00920
+:103C90000F900F900F900F90115021961111EDCFB2
+:103CA0008091E70180FF0AC082E598E0DF91CF9123
+:103CB0001F910F91FF90EF900C941709DF91CF9116
+:103CC0001F910F91FF90EF900895E0918D01F09179
+:103CD0008E01309721F00480F581E02D099408953C
+:103CE00020918B0130918C018217930771F0909392
+:103CF0008C0180938B01E0918D01F0918E013097C2
+:103D000021F00680F781E02D099408952091890122
+:103D100030918A018217930771F090938A01809302
+:103D20008901E0918D01F0918E01309721F000849E
+:103D3000F185E02D0994089508950C949C1E0E942D
+:103D4000302A0E94920E0E94FE2A0E9478340C941F
+:103D50006213CF93DF931F92CDB7DEB79091E70147
+:103D600092FF10C090FF0EC01F928F932CE638E098
+:103D70003F932F9389830E94B0090F900F900F906B
+:103D80000F9089810F90DF91CF910C943E0E5F923E
+:103D90006F927F928F929F92AF92BF92CF92DF925B
+:103DA000EF92FF920F931F93CF93DF9300D000D039
+:103DB0001F92CDB7DEB70E94D70E9AE9C92E91E0C7
+:103DC000D92E04E010E0AA24A394B12C502E802F09
+:103DD0000E945B0F4C01F601729062906F016826A1
+:103DE000792661147104A1F40150110978F78FEF5D
+:103DF00089838A831B820E94392A8160782F9D8360
+:103E00008C8349815A816B818D810E94771F38C0D4
+:103E10008091E70181FD0E94640F2DE030E0750183
+:103E2000022E02C0EE0CFF1C0A94E2F7C7018621A5
+:103E30009721892B09F129835A828E209F2091E0B6
+:103E4000892809F490E09B830E94392A8160782FA9
+:103E50009D838C8349815A816B818D810E94771F5C
+:103E6000000F111FF801E057FE4F80819181E82675
+:103E7000F926F182E08204C02150310980F6B4CFE6
+:103E80000E94792E10918F010E94101E1817D1F0F8
+:103E90000E94101E80938F010F900F900F900F9033
+:103EA0000F90DF91CF911F910F91FF90EF90DF90D6
+:103EB000CF90BF90AF909F908F907F906F905F90CA
+:103EC0000C94A91E0F900F900F900F900F90DF9100
+:103ED000CF911F910F91FF90EF90DF90CF90BF9007
+:103EE000AF909F908F907F906F905F900895CF9349
+:103EF000DF93CDB7DEB72B970FB6F894DEBF0FBEBA
+:103F0000CDBF4F83588769877A878B87DE011196EB
+:103F100086E0FD0111928A95E9F785E0FE0137966A
+:103F200001900D928A95E1F749815A816B817C81DC
+:103F30008D819E810E94EE252B960FB6F894DEBFF0
+:103F40000FBECDBFDF91CF910895CF93882309F4A1
+:103F5000C2C0C82F823859F40E94101E81FDBBC018
+:103F600089E30E94C8280E944E2989E30CC0833847
+:103F700079F40E94101E80FDAEC083E50E94C8281F
+:103F80000E944E2983E50E94E528CF910C944E298A
+:103F9000843859F40E94101E82FD9DC087E40E945F
+:103FA000C8280E944E2987E4EECF8CEF8C0F813A0F
+:103FB00048F48C2F0E94233381118DC08C2F0E94D6
+:103FC000C828E3CF80E28C0F883048F4C77081E0C6
+:103FD00001C0880FCA95EAF70E940729D6CF8BE562
+:103FE0008C0F833078F4C53A29F0C63A31F083E873
+:103FF00090E005C081E890E002C082E890E0CF91B7
+:104000000C94701E88E58C0F833108F064C0C83AA8
+:1040100039F1C93A41F1CA3A49F1CB3A51F1CC3AB6
+:1040200059F1CD3A61F1C03B69F1CE3A71F1CF3A25
+:1040300079F1C13B81F1C23B89F1C33B91F1C43BB2
+:1040400099F1C53BA1F1C63BA9F1C73BB1F1C83B12
+:10405000B9F1C93BC1F1CA3BC9F180E090E038C079
+:1040600082EE90E035C089EE90E032C08AEE90E0BA
+:104070002FC085EB90E02CC086EB90E029C087EB49
+:1040800090E026C08CEC90E023C08DEC90E020C046
+:1040900083E891E01DC08AE891E01AC082E991E0CE
+:1040A00017C084E991E014C081E292E011C083E27C
+:1040B00092E00EC084E292E00BC085E292E008C07C
+:1040C00086E292E005C087E292E002C08AE292E0D6
+:1040D000CF910C94861ECF910895882309F44BC08C
+:1040E000823859F40E94101E81FF45C089E30E9466
+:1040F000C8280E944E2989E30CC0833871F40E94BD
+:10410000101E80FF38C083E50E94C8280E944E29F7
+:1041100083E50E94E5280C944E29843859F40E94C6
+:10412000101E82FF28C087E40E94C8280E944E29E2
+:1041300087E4EFCF9CEF980F913A58F390E2980FF5
+:10414000983050F4877091E001C0990F8A95EAF792
+:10415000892F0E940D29DFCF9BE5980F933020F423
+:1041600080E090E00C94701E885A833120F480E047
+:1041700090E00C94861E0895882321F00E94072960
+:104180000C944E290895882321F00E940D290C9447
+:104190004E2908957F928F929F92AF92BF92CF92B5
+:1041A000DF92EF92FF920F931F93CF93DF931F92B3
+:1041B000CDB7DEB77C01C62E772EFC0105810295B6
+:1041C0000F70128111110E9424290E94C128882396
+:1041D00079F0112369F080E28C0D883048F082E09C
+:1041E0000E94AA280E94C12891E0D82ED92601C099
+:1041F000D12CE72DE295EF70F0E0E759FF4F0C94DA
+:10420000B136872D807F072D0F70882311F002951E
+:10421000007F112389F0002309F499C180E28C0DFD
+:10422000883020F4802F0E94072903C0802F0E942D
+:1042300017290E944E298BC18C2D0E946D200023CE
+:1042400009F4C3C180E28C0D883020F4802F0E94D5
+:104250000D2903C0802F0E941D290E944E29B5C13F
+:10426000872D807F972D9F70803211F4892F03C096
+:10427000892F8295807FCC2021F0F1E0CF16A1F02C
+:104280001DC0112339F0002319F1013009F50E94F6
+:1042900037299BC1002319F0013009F496C18983A5
+:1042A0000E943A29898110C1112321F0063008F0BB
+:1042B0008CC10EC0053008F088C106C1112359F029
+:1042C000002331F0F701958190FF41C19F709583E4
+:1042D0000E94BC207AC1002309F4F6C03EC1872D9C
+:1042E00086958695837090E0009719F0019761F0AC
+:1042F0006CC1112321F08C2D972D937002C080E0AA
+:1043000090E00E94701E61C1112321F08C2D972D29
+:10431000937002C080E090E00E94861E56C18C2DF2
+:10432000112319F00E94FF2C02C00E94672D0E94E9
+:10433000EC2D4BC1872D837009F052C0111145C17E
+:104340008C2D829586958770880F880F9C2D9F7085
+:10435000892E912CA12CB12C082E04C0880C991CFC
+:10436000AA1CBB1C0A94D2F7C4FE14C00FE010E0D4
+:1043700020E030E0B901A80104C0440F551F661FBA
+:10438000771F8A95D2F7CB01BA0160957095809519
+:10439000909503C060E070E0CB01272D269526950F
+:1043A000237030E02230310569F02330310589F087
+:1043B000682979298A299B292130310571F00E94C9
+:1043C000362703C1682979298A299B290E94522707
+:1043D000FCC00E943627C501B4010E941A27F5C00F
+:1043E000112319F0872D817001C08695882309F467
+:1043F000ECC08C2D829586958770880F880F9C2D38
+:104400009F70892E912CA12CB12C082E04C0880CF1
+:10441000991CAA1CBB1C0A94D2F7C4FE14C00FE05E
+:1044200010E020E030E0B901A80104C0440F551F9E
+:10443000661F771F8A95D2F7CB01BA0160957095F8
+:104440008095909503C060E070E0CB01272D269504
+:1044500026952370422F50E04230510569F04330D9
+:10446000510589F0682979298A299B29413051050C
+:1044700071F00E941028A9C0682979298A299B29EE
+:104480000E942C28A2C00E941028C501B4010E94DD
+:10449000F4279BC08C2D90E0FC01E05EF109E53132
+:1044A000F10508F050C0E758FF4F0C94B1360C2DC1
+:1044B0000F70872D8F71112321F00E948D27802F7F
+:1044C00007CF0E94AE27802F0E94C3207EC01123F9
+:1044D00041F0053008F079C0872D8F710E94D327F5
+:1044E00074C0063008F071C0F7CF112339F0872D62
+:1044F0008F710E948D2769C01123C9F3872D8F7199
+:104500000E94AE2762C0112329F0872D8F710E946F
+:1045100078275BC00E946E2758C0112351F0172DD9
+:104520001F71812F0E948D2763E0812F0E94A12897
+:104530004CC081E00E94AA28023008F446C082E004
+:104540000E94AA2842C0112331F0002381F28C2D51
+:104550000E94A51F3AC0002389F28C2D0E946D2075
+:1045600034C0472D4F706C2DC7010E94AC0D0E94C6
+:1045700092262BC0111129C0472D4F7050E04230B8
+:104580005105B9F04CF44115510581F04130510508
+:10459000E1F40E94B33419C04330510569F044304E
+:1045A000510599F48C2D0E943E350FC00E9489342C
+:1045B0000CC00E94E23409C00E94083506C0472D95
+:1045C0004F706C2DC7010E94020ADD20F9F00E9495
+:1045D0009D2880FD1BC0F70112820E9497280E942F
+:1045E0008D27C7010E9415230E9497280F90DF9105
+:1045F000CF911F910F91FF90EF90DF90CF90BF90E0
+:10460000AF909F908F907F900C94AE270F90DF918A
+:10461000CF911F910F91FF90EF90DF90CF90BF90BF
+:10462000AF909F908F907F9008950F931F93CF939B
+:10463000DF93EC01888199812B813C81232BB9F098
+:104640009F3F11F48F3F99F0CE010E94780A882392
+:1046500071F0688179818A810E9493288C010E947F
+:1046600048280E940F27B801CE010E94CA20DF917E
+:10467000CF911F910F9108950E9424290E943429FF
+:104680000E94F6280E944E290E941F2F0E94EC2DA6
+:1046900080E090E00E94701E80E090E00C94861E06
+:1046A0000E9414290C943C230E948828292F2295CB
+:1046B0002F7030E02C3031054CF42A3031056CF489
+:1046C0002250310922303105A8F407C02C303105C1
+:1046D00069F02F30310551F00DC0803F69F018F4BA
+:1046E000803E40F409C0843F29F406C093FB88272C
+:1046F00080F9089580E0089581E00895CF93DF93D5
+:1047000000D000D01F92CDB7DEB70F900F900F9062
+:104710000F900F90DF91CF910895CF93DF9300D04A
+:1047200000D000D0CDB7DEB726960FB6F894DEBF26
+:104730000FBECDBFDF91CF9108951F93CF93DF932D
+:10474000C0919A0116E080919B01C81799F0D0E0C2
+:104750001C9FF0011D9FF00D1124E456FE4F408177
+:10476000518162817381848195810E948D2321967C
+:10477000C770E9CFDF91CF911F9108954091CC018F
+:104780005091CD016091CE017091CF018091D00107
+:104790009091D1010C948D238091D10182958F70DD
+:1047A00009F054C08091CE01882309F44FC0809154
+:1047B0009A01A0919B016091CC017091CD01409133
+:1047C000CF015091D001B6E08A1709F43FC090E0C4
+:1047D00041155105C1F17F3F11F46F3FA1F1B89F21
+:1047E000F001B99FF00D1124E456FE4F21817213A0
+:1047F0002AC02081621327C02281211124C0238175
+:1048000034812417350710F421503109241B350B4E
+:10481000283C3105C0F42091D1012F7020612093F4
+:10482000D10126E0289FF001299FF00D1124EF55BA
+:10483000FE4F80818F70806180838CEC91E00E94BC
+:1048400015230C949D2301968770BECF0895CF92B7
+:10485000DF92EF92FF920F931F93CF93DF93CDB729
+:10486000DEB762970FB6F894DEBF0FBECDBF8C01E6
+:1048700085E0F801DE011D9601900D928A95E1F721
+:10488000D8014C9111965C91119712966C911297E8
+:104890001396CD90DC9014973091CC017091CD019E
+:1048A0008091CF019091D001009709F46BC17F3FB7
+:1048B00019F43F3F09F466C1E090CE01EE2009F4FF
+:1048C000C0C02091D101C816D90628F0F601E81B16
+:1048D000F90BCF0104C0809590958C0D9D1DFF2490
+:1048E000F394883C910578F0F12C207F09F0C6C044
+:1048F0007C2DD98AC88A89890E947E238CEC91E01C
+:104900000E941523B1C0822F807F09F046C0751325
+:1049100014C0341312C0611110C02F702061209395
+:10492000D1010E94BE238CEC91E00E94152380915E
+:10493000D101D80115968C932EC0CD2819F15F3F77
+:1049400011F44F3FF9F0F62E61111CC080919A01CD
+:1049500020919B0136E0821709F45AC090E0389FFD
+:10496000F001399FF00D1124E456FE4F7181571369
+:1049700006C07081471303C07281711103C0019694
+:104980008770E9CFF62E662309F418C18091D10112
+:1049900081608093D101F12C11C1751308C03413CB
+:1049A00006C0611104C08091D101D801C3C04D87F8
+:1049B0005E878D859E856A8B0E9454236A89882331
+:1049C000E1F16623D1F12091D101822F82958F7080
+:1049D00090E0029774F08091CC019091CD0198877E
+:1049E0008F831986DB86CA862C87CE0107960E94A4
+:1049F000152386E0F801ACECB1E001900D928A95A8
+:104A0000E1F70E94CC230E94BE23FF24F394D6C07A
+:104A10004D875E878D859E850E948828292F229547
+:104A20002F7030E0223031050CF0BCC09F7009F0CF
+:104A3000B6C0805E883008F4C1C0C8010E9415234A
+:104A4000E4CFC816D90608F453C0F601E81BF90BE9
+:104A5000CF01883C910508F450C0F12C7C2DD98AF7
+:104A6000C88A89890E947E23ECECF1E086E0DF01B0
+:104A70001D928A95E9F70E94BE23A0C0751314C049
+:104A8000341312C0611110C08091D101F8018583E7
+:104A9000C8010E94152386E0ECECF1E0DF011D92D5
+:104AA0008A95E9F7FE2C8AC04D875E878D859E85A5
+:104AB0006A8B0E9454236A89882309F4BECF662337
+:104AC00009F4BBCF2091D101822F82958F7090E0A5
+:104AD00002970CF48ECF8091CC019091CD019A83F6
+:104AE00089831B82DD82CC822E83CE0101967FCF0B
+:104AF000809590958C0D9D1DACCFF62E662309F404
+:104B00009CCF75132EC034132CC02091D10120FDF1
+:104B10001FC0822F82958F70D9F0D80115962C93E3
+:104B200015978F3049F08F5F982F9295907F822F45
+:104B30008F70892B15968C93C8010E94152386E0EF
+:104B4000F801ACECB1E001900D928A95E1F793CFBA
+:104B500086E0F801ACECB1E001900D928A95E1F7A6
+:104B60002DC04D875E878D859E850E9454238111BF
+:104B700040CF8091D10181608093D101C8010E9412
+:104B800015231CC0662309F458CF4D875E878D8599
+:104B90009E850E945423882309F44FCF2ACF811188
+:104BA00048CF0CC0243031050CF047CF9F7009F47A
+:104BB00040CFF8019581907F09F03BCF8F2D629611
+:104BC0000FB6F894DEBF0FBECDBFDF91CF911F911E
+:104BD0000F91FF90EF90DF90CF9008951F93CF93A8
+:104BE000DF93CDB7DEB72C970FB6F894DEBF0FBEBC
+:104BF000CDBF4F83588769877A878B879C87CE0183
+:104C000007960E942724882369F08F8198852A853A
+:104C10003B85232BF1F19F3F09F063C08F3F09F0E3
+:104C200060C037C086E0FE013796DE011196019024
+:104C30000D928A95E1F76F817885EA85FB8530973B
+:104C400041F17F3F11F46F3F21F120919B0130E052
+:104C5000C90101968770992740919A0150E0841705
+:104C6000950709F447C069837A83FD83EC8396E056
+:104C7000929FD001939FB00D1124A456BE4FFE0108
+:104C8000319601900D929A95E1F780939B010E94D5
+:104C90009D2316E080919A0190919B018917C1F1A3
+:104CA000189FC001112484569E4F0E9427248823F8
+:104CB00079F1E0919A011E9FF0011124E456FE4F14
+:104CC0004081518162817381848195810E948D230D
+:104CD00080919A0190E001968770992780939A01BC
+:104CE000D9CF4F81588569857A858B859C850E94AF
+:104CF0008D23CFCF0E94502310929B0110929A01D6
+:104D0000ECECF1E086E0DF011D928A95E9F7C1CF76
+:104D10002C960FB6F894DEBF0FBECDBFDF91CF91BA
+:104D20001F910895EF92FF920F931F93CF93DF93FC
+:104D30008C01009709F46CC0F12CEE24E394E80197
+:104D40002196F8018491843740F4843008F051C0F2
+:104D5000813081F0823019F15BC0853709F444C09D
+:104D6000A8F19CE7980F903708F052C08F770E9407
+:104D70006D2041C00E5F1F4FFE01C49180E28C0F79
+:104D8000883048F4C7708E2D01C0880FCA95EAF7A5
+:104D90000E94272914C08C2F0E94A51F2DC00E5FD2
+:104DA0001F4FFE01C49180E28C0F883058F4C77009
+:104DB0008E2D01C0880FCA95EAF70E942D290E9406
+:104DC0004E291AC08C2F0E946D2016C00E5F1F4FF7
+:104DD000FE01C491CC2381F08FE99FE00197F1F7A8
+:104DE00000C00000C150F6CF0E5F1F4FFE01F490CF
+:104DF00003C00E94A51F8E018F2D882309F49FCF29
+:104E0000EFE9FFE03197F1F700C000008150F5CFE6
+:104E1000DF91CF911F910F91FF90EF90089508952A
+:104E20006093D6017093D7018093D8019093D901F4
+:104E30000C943C230F931F930091D6011091D7013E
+:104E40002091D8013091D901DC01CB01802B912B2D
+:104E5000A22BB32B8093D6019093D701A093D801B6
+:104E6000B093D9011F910F910C943C230F931F9382
+:104E70000091D6011091D7012091D8013091D9012C
+:104E8000DC01CB0180239123A223B3238093D6019D
+:104E90009093D701A093D801B093D9011F910F919E
+:104EA0000C943C230F931F930091D6011091D701CE
+:104EB0002091D8013091D901DC01CB0180279127C5
+:104EC000A227B3278093D6019093D701A093D8014E
+:104ED000B093D9011F910F910C943C231092D201F1
+:104EE0001092D3011092D4011092D5010C943C235E
+:104EF00041E050E060E070E004C0440F551F661FC1
+:104F0000771F8A95D2F74093D2015093D3016093D3
+:104F1000D4017093D5010C943C2341E050E060E053
+:104F200070E004C0440F551F661F771F8A95D2F7A3
+:104F30008091D2019091D301A091D401B091D5017B
+:104F4000482B592B6A2B7B2B4093D2015093D301D2
+:104F50006093D4017093D5010C943C2341E050E060
+:104F600060E070E004C0440F551F661F771F8A95EC
+:104F7000D2F740955095609570958091D2019091AF
+:104F8000D301A091D401B091D501482359236A23BC
+:104F90007B234093D2015093D3016093D40170934B
+:104FA000D5010C943C2341E050E060E070E004C087
+:104FB000440F551F661F771F8A95D2F78091D20143
+:104FC0009091D301A091D401B091D50148275927E0
+:104FD0006A277B274093D2015093D3016093D40179
+:104FE0007093D5010C943C230F931F930091D20131
+:104FF0001091D3012091D4013091D501DC01CB0176
+:10500000802B912BA22BB32B8093D2019093D301B1
+:10501000A093D401B093D5011F910F910C943C2320
+:105020000F931F930091D2011091D3012091D401CD
+:105030003091D501DC01CB0180239123A223B3233E
+:105040008093D2019093D301A093D401B093D50162
+:105050001F910F910C943C230F931F930091D20149
+:105060001091D3012091D4013091D501DC01CB0105
+:1050700080279127A227B3278093D2019093D30151
+:10508000A093D401B093D5011F910F910C943C23B0
+:105090000895CF92DF92EF92FF920F931F93CF93D9
+:1050A000DF938C01C090D601D090D701E090D80159
+:1050B000F090D9018091D2019091D301A091D401B7
+:1050C000B091D501C82AD92AEA2AFB2ACFE1D0E03B
+:1050D000D701C6010C2E04C0B695A7959795879564
+:1050E0000A94D2F780FF06C0B8018C2F0E940B0CE7
+:1050F000019721F4219760F780E001C08C2FDF91A8
+:10510000CF911F910F91FF90EF90DF90CF90089576
+:10511000CF93DF93EC010E944928BE010E940B0C43
+:10512000DF91CF910895CB010E9488280895809146
+:10513000DA0185958595859508958091DA018770C6
+:10514000089598E0899F90011124262B2093DA017D
+:105150000C948D272091DA01809582238093DA01C7
+:10516000982F977069F430E0482F552747FD5095E8
+:105170002417350729F08595859585950C94AE27DC
+:1051800008959091DA01977081E009F480E0089524
+:1051900020910D0130910E01F90132969FEF40E010
+:1051A0005191581789F09F3F19F4511101C0942F64
+:1051B0004F5F4630A9F79F3F39F0F901E90FF11D24
+:1051C00097FDFA9582830895089520910D013091FD
+:1051D0000E01F9013296285F3F4F9081981301C06C
+:1051E00010823196E217F307C1F7089581E090E04D
+:1051F000E0910D01F0910E01E80FF91F1082019668
+:1052000088309105A9F708958091E601089590915D
+:10521000E601892B8093E601089580959091E6013F
+:1052200089238093E60108951092E60108959091F4
+:10523000E501892B8093E501089580959091E50122
+:1052400089238093E50108951092E50108959091D6
+:10525000E401892B8093E401089580959091E40105
+:1052600089238093E40108951092E40108958093C6
+:10527000DB0108951092DB01089580910D0190915A
+:105280000E01FC0131969C01285F3F4F80E0919117
+:1052900091118F5FE217F307D1F70895E0910D01A7
+:1052A000F0910E018091E6018083E0910D01F09173
+:1052B0000E0190818091E501892B8083E0910D01A1
+:1052C000F0910E0190818091E401892B808380917F
+:1052D000DB01882361F0E0910D01F0910E019081D6
+:1052E000892B80830E943D2981111092DB018091DE
+:1052F0000D0190910E010C941C1E90934701809318
+:105300004601089520E0009739F0AC014150510961
+:10531000842395232F5FF7CF822F08958295982FAE
+:105320009C7C392F36953695282F237344E0249F93
+:10533000C0011124932F982B292F2A7A2695892F83
+:105340008575880F822B08951F93CF93DF931F924B
+:10535000CDB7DEB799830E948E29182F9981892FA6
+:105360000E948E29212F30E0322F2227A901482BBD
+:10537000CA010F90DF91CF911F910895809136025D
+:10538000843039F11092E80120E488E190E00FB612
+:10539000F894A895809360000FBE2093600080E091
+:1053A0000E94D80980E00E943E0E83B7817F84600E
+:1053B00083BF83B7816083BF7894889583B78E7FDE
+:1053C00083BF88E10FB6F89480936000109260006C
+:1053D0000FBE0895089580E00E94D8090E94540EDF
+:1053E0000E94D70E0E94EA290E949E0F91E081112F
+:1053F00001C090E0892F08950E94502380E00E9410
+:10540000D8090E9478340E94101E0C943E0E1F9200
+:105410000F920FB60F9211248F939F93AF93BF9368
+:105420008091E801811113C08091E9019091EA0116
+:10543000A091EB01B091EC014196A11DB11D8093AB
+:10544000E9019093EA01A093EB01B093EC01BF91C5
+:10545000AF919F918F910F900FBE0F901F90189555
+:1054600082E084BD93E095BD9AEF97BD80936E0076
+:1054700008952FB7F8948091E9019091EA01A091E5
+:10548000EB01B091EC012FBF0895CF92DF92EF9224
+:10549000FF920F931F932FB7F8944091E901509119
+:1054A000EA016091EB017091EC012FBF6A017B0171
+:1054B000EE24FF248C0120E030E0C016D106E20685
+:1054C000F30610F4415051099A01281B390BC90108
+:1054D0001F910F91FF90EF90DF90CF9008951F9252
+:1054E0000F920FB60F9211248F939F93AF93BF9398
+:1054F0008091E9019091EA01A091EB01B091EC015A
+:105500000196A11DB11D8093E9019093EA01A0933A
+:10551000EB01B093EC01BF91AF919F918F910F90F0
+:105520000FBE0F901F9018950E940E1BF8942FEF3E
+:1055300087EA91E6215080409040E1F700C00000EA
+:1055400087E090EBDC018093400290934102A093AE
+:105550004202B09343029CE088E10FB6F894A8950C
+:10556000809360000FBE90936000FFCFAF92BF9218
+:10557000CF92DF92EF92FF920F931F93CF93C4E0ED
+:10558000CC24C394D12CE82EF12C8C2F0E945B0FDD
+:105590005C010DE010E09601002E02C0220F331FC7
+:1055A0000A94E2F72A213B21232B51F0602F7C2F14
+:1055B00080E00E94AF0DE816F90611F481E006C004
+:1055C0000150110940F7C15000F780E0CF911F91C1
+:1055D0000F91FF90EF90DF90CF90BF90AF90089524
+:1055E000CF93C82F8CE20E94B62A882321F08C2FFB
+:1055F000CF910C94B62A80E0CF910895CF930E946A
+:105600004E2C811102C00E942F2C8CE898E00E9441
+:105610001709C5E6C15049F00E94D70E8FE39CE9F7
+:105620000197F1F700C00000F5CF85E898E00E94EF
+:10563000170989E20E94F02A81110FC18AE20E94B3
+:10564000F02A81110E942F2C85E00E94F02A8111FE
+:105650000E94942A0E94592C8093E70187E00E94BF
+:10566000F02A8823A9F18BE10E94F02A882351F0C7
+:105670008091E70181FB222720F991E0922790FB9E
+:1056800081F90EC08EE00E94F02A882361F080919B
+:10569000E70182FB222720F991E0922790FB82F913
+:1056A0008093E70115C080E10E94F02A9091E70104
+:1056B000882341F093FB222720F981E0822780FB99
+:1056C00093F904C0892F809580FB90F99093E701AE
+:1056D0008091E7010E945D2C0E946B2C90E09093DA
+:1056E000F9018093F80180EE0E94F02A882341F0AE
+:1056F0008091F801982F909590FB80F98093F801A4
+:1057000089E30E94F02A882359F08091F80181FBF7
+:10571000222720F991E0922790FB81F98093F801EC
+:1057200082EE0E94F02A882359F08091F80182FBD2
+:10573000222720F991E0922790FB82F98093F801CB
+:1057400086EE0E94F02A882359F08091F80183FBAD
+:10575000222720F991E0922790FB83F98093F801AA
+:1057600083EE0E94F02A882359F08091F80184FB8F
+:10577000222720F991E0922790FB84F98093F80189
+:1057800085E30E94F02A882359F08091F80185FB77
+:10579000222720F991E0922790FB85F98093F80168
+:1057A00081E30E94F02A882359F08091F80186FB5A
+:1057B000222720F991E0922790FB86F98093F80147
+:1057C00081E10E94F02A882359F08091F80187FB3B
+:1057D000222720F991E0922790FB87F98093F80126
+:1057E0008091F8010E946F2C87E20E94F02AC82F56
+:1057F0008EE10E94F02A8111C2608FE10E94F02A9E
+:105800008111C46080E20E94F02A8111C86081E2A7
+:105810000E94F02A8111C06182E20E94F02A811167
+:10582000C06283E20E94F02A8111C06484E20E9477
+:10583000F02A882311F0C06802C0CC2329F08C2FF5
+:105840000E94662C6C2F03C00E94622C682F70E0AF
+:1058500080E090E0CF910C941027CF9108956DEEE9
+:105860007EEF80E090E00E94E93660E082E090E028
+:105870000E94CB3660E083E090E00E94CB3660E08F
+:1058800084E090E00E94CB3660E085E090E00E94EA
+:10589000CB3660E086E090E00C94CB3680E090E080
+:1058A0000E94C53621E08D3E9E4F09F020E0822FF8
+:1058B000089582E090E00C94B736682F82E090E083
+:1058C0000C94CB3683E090E00C94B736682F83E0DD
+:1058D00090E00C94CB3684E090E00C94B736682FBF
+:1058E00084E090E00C94CB3686E090E00C94B736E0
+:1058F000682F86E090E00C94CB368091EF0180FF1A
+:105900000BC06091120185E0689FB001112475956C
+:105910006795759567952BC081FF09C0609112014D
+:1059200085E0689FB00111247595679520C082FFBE
+:1059300007C06091120185E0689FB001112417C073
+:105940009091F0019923D1F060911101961788F799
+:105950002091120185E0289F90011124929FA001BF
+:10596000939F500D112470E0CA010E949D3660384B
+:10597000710540F46115710539F002C065E070E011
+:10598000862F08958FE7089581E008958091EF01B3
+:1059900080FF08C06091100170E07595679575955E
+:1059A000679521C081FF06C06091100170E0759578
+:1059B000679519C082FF04C06091100170E010C0AB
+:1059C0009091F0019923C1F060910F019617A0F713
+:1059D00080911001899FC001112470E00E949D36C2
+:1059E0006038710528F46115710521F0862F08953E
+:1059F0008FE7089581E0089561E070E0F4CF803F83
+:105A000021F40E947D2C819504C0813F29F40E94DD
+:105A10007D2C8093F3010895823F21F40E947D2C18
+:105A2000819504C0833F29F40E947D2C8093F2016C
+:105A30000895893F19F40E94C62C05C08A3F31F4AD
+:105A40000E94C62C81958093F40108958B3F21F428
+:105A50000E94C62C819504C08C3F29F40E94C62C5C
+:105A60008093F5010895843F21F48091F1018160D4
+:105A700017C0853F21F48091F101826011C0863FFB
+:105A800021F48091F10184600BC0873F21F4809163
+:105A9000F101886005C0883F31F48091F101806197
+:105AA0008093F10108958D3F21F48091EF01816091
+:105AB0000BC08E3F21F48091EF01826005C08F3FC3
+:105AC00029F48091EF0184608093EF010895803F75
+:105AD00039F48091F30187FF6CC01092F30169C023
+:105AE000813F29F48091F3011816BCF362C09091B4
+:105AF000F201823F29F497FF5CC01092F20159C075
+:105B0000833F19F41916CCF354C0893F41F48091B6
+:105B1000F40118160CF04DC01092F4014AC08A3FEF
+:105B200029F48091F40187FF44C0F6CF8B3F39F40C
+:105B30008091F50187FF3DC01092F5013AC08C3F7E
+:105B400029F48091F5011816BCF333C0843F21F489
+:105B50008091F1018E7F17C0853F21F48091F10182
+:105B60008D7F11C0863F21F48091F1018B7F0BC0A6
+:105B7000873F21F48091F101877F05C0883F31F490
+:105B80008091F1018F7E8093F10113C08D3F21F44C
+:105B90008091EF018E7F0BC08E3F21F48091EF0149
+:105BA0008D7F05C08F3F29F48091EF018B7F80931B
+:105BB000EF018091F20181110EC08091F3018111FA
+:105BC0000AC08091F401811106C08091F501811114
+:105BD00002C01092F00108958091E70183FF7EC01A
+:105BE00088EC98E00E9417098091F1011F928F9331
+:105BF00083EC98E09F938F930E94B00981EC98E02A
+:105C00000E9417098091F201282F332727FD309534
+:105C10003F938F938EEB98E09F938F930E94B009F0
+:105C20008CEB98E00E9417098091F301282F33270D
+:105C300027FD30953F938F9389EB98E09F938F9347
+:105C40000E94B00987EB98E00E9417098091F40147
+:105C5000282F332727FD30953F938F9384EB98E0CF
+:105C60009F938F930E94B00982EB98E00E941709DE
+:105C70008091F501282F332727FD30953F938F938F
+:105C80008FEA98E09F938F930E94B0098CEA98E086
+:105C90000E9417098091F0011F928F9389EA98E082
+:105CA0009F938F930E94B00987EA98E00E9417099A
+:105CB0008091EF011F928F9384EA98E09F938F93D6
+:105CC0000E94B00981EA98E00E9417098DB79EB73B
+:105CD0004C960FB6F8949EBF0FBE8DBF81EF91E03A
+:105CE0000E94651E0E94392A9093EE018093ED0177
+:105CF00008951F93CF93DF938091ED019091EE0172
+:105D00000E94452AAC019091F001992321F0209145
+:105D1000130130E006C0209114018AE0289F900111
+:105D200011244217530708F486C08091F201C091F4
+:105D3000F301D091F4011091F501811107C0C11157
+:105D400076C0D11174C0111172C075C09F3F19F097
+:105D50009F5F9093F001181624F40E947D2C80938D
+:105D6000F2018091F20187FF05C00E947D2C819590
+:105D70008093F2011C1624F40E947D2C8093F30181
+:105D80008091F30187FF05C00E947D2C819580934F
+:105D9000F3016091F201662339F1C091F301CC2344
+:105DA00019F1772767FD7095872F972F0E948E3501
+:105DB00023E333E343E35FE30E94F2350E945B3564
+:105DC0006093F2016C2F772767FD7095872F972FCF
+:105DD0000E948E3523E333E343E35FE30E94F23511
+:105DE0000E945B356093F3011D1624F40E94C62CBB
+:105DF0008093F4018091F40187FF05C00E94C62CB6
+:105E000081958093F401111624F40E94C62C80938E
+:105E1000F5018091F50187FF05C00E94C62C819590
+:105E20008093F501DF91CF911F910C94EC2D9F3F52
+:105E300009F08ECF96CFDF91CF911F910895E1EFBA
+:105E4000F1E085E0DF011D928A95E9F71092F001FB
+:105E50001092EF0108958BEE9AE00E9417091F92AD
+:105E600081E08F931F9285E08F938DE99AE09F9355
+:105E70008F930E94B0090F900F900F900F900F908A
+:105E80000F9008958330E9F128F4813061F0823079
+:105E900009F10895853009F462C008F449C08630DC
+:105EA00009F474C0089580911401262F30E0280F62
+:105EB000311D2F3F310524F4680F6093140103C096
+:105EC0008FEF80931401809114011F928F9386EDC0
+:105ED00099E072C080911301262F30E0280F311D08
+:105EE0002F3F310524F4680F6093130103C08FEF37
+:105EF00080931301809113011F928F9384EC99E09A
+:105F00005BC080911201262F30E0280F311D2F3FFA
+:105F1000310524F4680F6093120103C08FEF809362
+:105F20001201809112011F928F9381EB99E044C07E
+:105F300080911101262F30E0280F311D2F3F3105B0
+:105F400024F4680F6093110103C08FEF8093110157
+:105F5000809111011F928F938CE999E02DC080915F
+:105F60001001262F30E0280F311D2F3F310524F47A
+:105F7000680F6093100103C08FEF80931001809130
+:105F800010011F928F9383E899E016C080910F0152
+:105F9000262F30E0280F311D2F3F310524F4680FE4
+:105FA00060930F0103C08FEF80930F0180910F0169
+:105FB0001F928F9388E699E09F938F930E94B00978
+:105FC0000F900F900F900F900895833081F128F477
+:105FD000813059F08230D1F00895853009F449C0FC
+:105FE000B8F1863009F456C00895809114016817FD
+:105FF00020F4861B8093140102C01092140180913A
+:1060000014011F928F9389E599E054C08091130188
+:10601000681720F4861B8093130102C010921301AD
+:10602000809113011F928F9387E499E043C0809180
+:106030001201681720F4861B8093120102C010928F
+:106040001201809112011F928F9384E399E032C074
+:1060500080911101681720F4861B8093110102C002
+:1060600010921101809111011F928F938FE199E09D
+:1060700021C080911001681720F4861B80931001C5
+:1060800002C010921001809110011F928F9386E040
+:1060900099E010C080910F01681720F4861B80934F
+:1060A0000F0102C010920F0180910F011F928F9378
+:1060B0008BEE98E09F938F930E94B0090F900F9002
+:1060C0000F900F900895CF93C82F1F928F9380EF5A
+:1060D0009BE09F938F930E94B00981E090E0A0E045
+:1060E000B0E0BC01CD0104C0660F771F881F991F67
+:1060F000CA95D2F70E9410270F900F900F900F9023
+:10610000CF910C945023CF938732B0F58E3108F0A5
+:1061100088C28E3009F402C200F5873009F4CBC181
+:10612000A8F4863009F083C28091E701817F8E7FD9
+:106130008093E7018DE49DE00E94170981E291E1DF
+:106140000E94170981E08093F701B3C1883009F4F8
+:106150003FC08B3009F4A9C16AC2863109F424C258
+:1061600020F4803109F4EEC162C2893109F405C21C
+:106170008B3109F4BFC15BC2883309F496C150F476
+:10618000893209F450C2853309F44DC2873209F4CB
+:106190004AC24DC2833409F446C228F48A3308F453
+:1061A00046C2895341C2883409F041C20E9450233B
+:1061B00085E091E10E9417099FEF23ED80E3915064
+:1061C00020408040E1F700C000000E94942A71C185
+:1061D00085E291E10E94170987E890E10E94170982
+:1061E0000E94622C1F928F9384E890E19F938F937B
+:1061F0000E94B00982E890E10E9417090E94592C80
+:10620000C82F8FE690E10E9417091F92CF938AE66C
+:1062100090E19F938F930E94B00988E690E10E94DD
+:1062200017098EE590E10E9417098C2F81701F924B
+:106230008F938BE590E19F938F930E94B00989E53E
+:1062400090E10E9417098FE490E10E941709C1FBB9
+:10625000882780F91F928F938CE490E19F938F930E
+:106260000E94B0098AE490E10E9417098EE390E150
+:106270000E941709C2FB882780F91F928F938BE336
+:1062800090E19F938F930E94B00989E390E10E946F
+:10629000170980E390E10E941709C3FBCC27C0F9DE
+:1062A0001F92CF938DE290E19F938F930E94B0094C
+:1062B0008BE290E10E9417090E946B2CC82F87E1A6
+:1062C00090E10E9417091F92CF9382E190E19F9382
+:1062D0008F930E94B00980E190E10E94170987EF37
+:1062E0009FE00E9417098C2F81701F928F9384EF7B
+:1062F0009FE09F938F930E94B0098DB79EB78096C1
+:106300000FB6F8949EBF0FBE8DBF82EF9FE00E9434
+:1063100017098BED9FE00E941709C1FB882780F9C0
+:106320001F928F9388ED9FE09F938F930E94B009F7
+:1063300086ED9FE00E94170984EC9FE00E941709F8
+:10634000C2FB882780F91F928F9381EC9FE09F9377
+:106350008F930E94B0098FEB9FE00E9417098DEA8E
+:106360009FE00E941709C3FB882780F91F928F9333
+:106370008AEA9FE09F938F930E94B00988EA9FE08A
+:106380000E9417098EE99FE00E941709C4FB882725
+:1063900080F91F928F938BE99FE09F938F930E94C8
+:1063A000B00989E99FE00E94170987E89FE00E94F1
+:1063B0001709C5FB882780F91F928F9384E89FE017
+:1063C0009F938F930E94B00982E89FE00E94170973
+:1063D00086E69FE00E941709C6FB882780F91F9276
+:1063E0008F9383E69FE09F938F930E94B00981E68D
+:1063F0009FE00E94170989E59FE00E941709C7FBEB
+:10640000CC27C0F91F92CF9386E59FE09F938F938F
+:106410000E94B00984E59FE00E9417090E94742C35
+:10642000C82F8DE39FE00E9417091F92CF9388E346
+:106430009FE09F938F930E94B0098DB79EB780967F
+:106440000FB6F8949EBF0FBE8DBF86E39FE00E94FB
+:1064500017098CE29FE00E9417098C2F81701F9210
+:106460008F9389E29FE09F938F930E94B00987E208
+:106470009FE00E9417098EE19FE00E941709C695D0
+:106480001F92CF938BE19FE09F938F930E94B0095F
+:1064900089E19FE00E9417098DB79EB708960FB655
+:1064A000F8949EBF0FBE8DBF04C084E79DE00E949C
+:1064B0001709C1E0C1C08091E701C82FC095C17024
+:1064C000C0FB80F98093E701CC2349F089EF90E18C
+:1064D0000E9417098091E7018660886048C08CEEB1
+:1064E00090E10E9417098091E701897F877F80935F
+:1064F000E701DFCF9091E70191FBCC27C0F981E064
+:10650000C827892FC0FB81F98093E701CC2319F0BC
+:106510008FED90E127C081ED90E1C9CF9091E70127
+:1065200092FBCC27C0F981E0C827892FC0FB82F9F4
+:106530008093E701CC2319F082EC90E113C082EB49
+:1065400090E1B5CF9091E70193FBCC27C0F981E0B2
+:10655000C827892FC0FB83F98093E701CC2351F032
+:1065600086EA90E10E9417098091E701816080939B
+:10657000E70162C089E990E19ACF8EE39DE00E9435
+:10658000170985E29DE00E94170983EF9CE00E94B5
+:10659000170986EC9CE00E94170986E89CE00E949F
+:1065A00017098BE59CE083CF8DE49CE00E941709DE
+:1065B0000E94101E1F928F9383E39CE09F938F9302
+:1065C0000E94B00980910C011F928F938CE19CE096
+:1065D0009F938F930E94B009809188011F928F939F
+:1065E00089E09CE09F938F930E94B0098091E9011C
+:1065F0009091EA01A091EB01B091EC01BF93AF93B0
+:106600009F938F9385EF9BE09F938F930E94B00998
+:106610008DB79EB742960FB6F8949EBF0FBE8DBF42
+:1066200048CF8D5101C080E00E94633042CF87E99E
+:1066300090E10E941709C0E08C2FCF91089580E06F
+:10664000089580E00895CF93C82F8091F70181309D
+:1066500071F020F0823009F44BC042C1E0910D018D
+:10666000F0910E018081823209F03CC107C0E091B7
+:106670000D01F0910E018081823261F48C2F0E9415
+:106680001F33811104C08C2F0E9483302FC081E002
+:1066900090E02CC08C2F0E942133811126C0C43180
+:1066A000E1F070F4CB3081F0C031D1F40E942B2F97
+:1066B00088EE9BE00E94170982E08093F70115C0E5
+:1066C000C93259F0C83361F48DE49DE00E94170986
+:1066D0008CEE9BE00E94170908C01092F70104C1DC
+:1066E00086EE9BE00E941709FFC081E08170FEC02A
+:1066F000C43228F5CE3108F0C1C0CB30A1F1D0F4BE
+:10670000C73009F0D3C08EE18093140182E38093F7
+:1067100013018AE08093120184E18093110188E0E3
+:106720008093100188E280930F018CE89AE00E9428
+:106730001709BFC0C33149F1C431C1F0B7C0CB3470
+:1067400009F4A9C028F4C93289F0C83361F0AEC099
+:10675000C13509F49EC0C23509F499C0CE3409F0A0
+:10676000A5C06AE09EC00E942B2FA3C08091F601B5
+:10677000882319F01092F6019CC089E99AE00E94E2
+:10678000170981E08093F701B1C083E79AE00E9486
+:10679000170981E69AE00E941709809114011F925F
+:1067A0008F938EE59AE09F938F930E94B0098CE5BA
+:1067B0009AE00E9417098AE49AE00E9417098091E2
+:1067C00013011F928F9387E49AE09F938F930E9407
+:1067D000B00985E49AE00E94170986E39AE00E94D6
+:1067E0001709809112011F928F9383E39AE09F9380
+:1067F0008F930E94B00981E39AE00E94170980E21A
+:106800009AE00E941709809111011F928F938DE1E8
+:106810009AE09F938F930E94B0098BE19AE00E94C7
+:10682000170986E09AE00E941709809110011F92D3
+:106830008F9383E09AE09F938F930E94B00981E049
+:106840009AE00E9417098AEE99E00E941709809148
+:106850000F011F928F9387EE99E09F938F930E9471
+:10686000B00985EE99E00E9417098DB79EB748964A
+:106870000FB6F8949EBF0FBE8DBF1BC0CE51EC2F3C
+:10688000F0E0E45CFE4F80818093F60112C061E08D
+:1068900003C061E006C06AE08091F6010E94422FC9
+:1068A00008C08091F6010E94E52F03C08AE89AE0B3
+:1068B00013C08091F601882369F01F928F9384E8BA
+:1068C0009AE09F938F930E94B0090F900F900F90C2
+:1068D0000F9004C081E89AE00E94170981E006C089
+:1068E0001092F70180E002C080E000CFCF910895C0
+:1068F0000E944E2C811102C00E942F2C0E94742CE9
+:1069000080933F0280FF02C0869501C080E00C9416
+:10691000D80980913F02982F9695292F30E0233097
+:1069200031054CF49F5F990F8170892B81608093B2
+:106930003F020E94782C8091E70180FF0FC0809178
+:106940003F0286951F928F9382E791E19F938F93E9
+:106950000E94B0090F900F900F900F9080913F020E
+:1069600086950C94D80980913F02982F969591F0C6
+:106970009158990F8170892B80933F028E7F91E00F
+:1069800009F490E080913F0290FB80F980933F02F0
+:106990000E94782C8091E70180FF0FC080913F0218
+:1069A00086951F928F938AE591E19F938F930E9422
+:1069B000B0090F900F900F900F9080913F02869535
+:1069C0000C94D80980913F02982F909590FB80F904
+:1069D00080933F020E94782C8091E70180FF0FC0D6
+:1069E00080913F0281701F928F9384E491E19F9385
+:1069F0008F930E94B0090F900F900F900F9080918D
+:106A00003F0280FF02C0869501C080E00C94D80947
+:106A100090913F02892F86958F5F8F779170843098
+:106A200028F4880F892B80933F0202C090933F0285
+:106A300080913F028E7F91E009F490E080913F02C7
+:106A400090FB80F980933F020E94782C8091E701AF
+:106A500080FF0FC080913F0286951F928F9380E345
+:106A600091E19F938F930E94B0090F900F900F9028
+:106A70000F9080913F0286950C94D80920913F0297
+:106A8000922F96958927982F990F822F8170892BA5
+:106A900080933F028E7F91E009F490E080913F0265
+:106AA00090FB80F980933F020E94782C80913F02F6
+:106AB00086950C94D80904D06894B1118DC00895BE
+:106AC00070D088F09F5790F0B92F9927B751A0F058
+:106AD000D1F0660F771F881F991F1AF0BA95C9F772
+:106AE00012C0B13081F077D0B1E0089574C0672F43
+:106AF000782F8827B85F39F0B93FCCF38695779522
+:106B00006795B395D9F73EF490958095709561950A
+:106B10007F4F8F4F9F4F0895E89409C097FB3EF435
+:106B200090958095709561957F4F8F4F9F4F9923DA
+:106B3000A9F0F92F96E9BB279395F6958795779558
+:106B40006795B795F111F8CFFAF4BB0F11F460FF18
+:106B50001BC06F5F7F4F8F4F9F4F16C0882311F070
+:106B600096E911C0772321F09EE8872F762F05C084
+:106B7000662371F096E8862F70E060E02AF09A951F
+:106B8000660F771F881FDAF7880F9695879597F914
+:106B9000089557FD9058440F551F59F05F3F71F00D
+:106BA0004795880F97FB991F61F09F3F79F0879574
+:106BB0000895121613061406551FF2CF4695F1DFFD
+:106BC00008C0161617061806991FF1CF869571058D
+:106BD000610508940895E894BB2766277727CB01C1
+:106BE00097F908950BD078C069D028F06ED018F0CE
+:106BF000952309F05AC05FC01124EECFCADFA0F37D
+:106C0000959FD1F3950F50E0551F629FF001729F41
+:106C1000BB27F00DB11D639FAA27F00DB11DAA1F60
+:106C2000649F6627B00DA11D661F829F2227B00DAD
+:106C3000A11D621F739FB00DA11D621F839FA00D38
+:106C4000611D221F749F3327A00D611D231F849F88
+:106C5000600D211D822F762F6A2F11249F575040DF
+:106C60008AF0E1F088234AF0EE0FFF1FBB1F661F7A
+:106C7000771F881F91505040A9F79E3F510570F033
+:106C800014C0AACF5F3FECF3983EDCF3869577956E
+:106C90006795B795F795E7959F5FC1F7FE2B880F2E
+:106CA000911D9695879597F9089597F99F6780E8C4
+:106CB00070E060E008959FEF80EC089500240A944E
+:106CC0001616170618060906089500240A941216C7
+:106CD0001306140605060895092E0394000C11F4FA
+:106CE000882352F0BB0F40F4BF2B11F460FF04C0A7
+:106CF0006F5F7F4F8F4F9F4F0895991B79E004C0BE
+:106D0000991F961708F0961B881F7A95C9F78095EA
+:106D10000895AA1BBB1B51E107C0AA1FBB1FA617E2
+:106D2000B70710F0A61BB70B881F991F5A95A9F734
+:106D300080959095BC01CD01089597FB072E16F420
+:106D4000009407D077FD09D00E94893607FC05D052
+:106D50003EF4909581959F4F0895709561957F4F72
+:106D60000895EE0FFF1F0590F491E02D0994F99915
+:106D7000FECF92BD81BDF89A992780B50895A6E10E
+:106D8000B0E044E050E00C94F136A8E1B0E042E01D
+:106D900050E00C94F136262FF999FECF92BD81BDBB
+:106DA000F89A019700B4021639F01FBA20BD0FB649
+:106DB000F894FA9AF99A0FBE08950396272F0E9425
+:106DC000CC360E94CB36252F0E94CC36242F0C9433
+:106DD000CC360196272F0E94CC360C94CB36DC01A2
+:106DE000CB01FC01F999FECF06C0F2BDE1BDF89AD6
+:106DF000319600B40D9241505040B8F70895F89480
+:026E0000FFCFC2
+:106E0200FFFF7A166B1748171417E01601DC0128EA
+:106E120008140A321E0F1F6C76667349130353431C
+:106E220079693309196F7F59404D36201208C50719
+:106E32008F076F07FB0614072D074607010203049D
+:066E420005060708090027
+: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