Added stanleylai's personal keymap (#420)

* Added WS2812 support for KC60

* Reorganized WS2812 support into its own keymap

* Fixed relative link in README

* Moved WS2812 mention in README to the bottom

* Fixed titling in WS2812 README

* Reverted KC60 Makefile and default keymap back

* Moved RGB specific config.h to ws2812 keymap folder

* Added my personal keymap

* Updated compiled hex

* Reverted KC60 files to 3f6fac47 before pull request #419
pull/428/head
Stanley Lai 9 years ago committed by Jack Humbert
parent 650e77c657
commit c976c03547

@ -27,7 +27,7 @@
# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
# (must have Atmel FLIP installed).
#
# make debug = Start either simulavr or avarice as specified for debugging,
# make debug = Start either simulavr or avarice as specified for debugging,
# with avr-gdb or avr-insight as the front end for debugging.
#
# make filename.s = Just compile filename.c into the assembler code only.
@ -111,3 +111,4 @@ AUDIO_ENABLE ?= no # Audio output on port C6
ifndef QUANTUM_DIR
include ../../Makefile
endif

@ -45,7 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Possible pins for columns include: F1 F0 E6 D7 D6 D4 C7 C6 B7 B5 B4 B3 B1 B0
// Pins for rows include: D0 D1 F6 F7 D5
// KC60 Version 2
// KC60 Version 2
#define MATRIX_ROW_PINS { D0, D1, F6, F7, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 }
#define UNUSED_PINS

@ -62,7 +62,7 @@ void backlight_init_ports()
DDRB |= (1<<6);
PORTB &= ~(1<<6);
// Use full 16-bit resolution.
// Use full 16-bit resolution.
ICR1 = 0xFFFF;
// I could write a wall of text here to explain... but TL;DW
@ -99,7 +99,7 @@ void backlight_set(uint8_t level)
// Set the brightness
CHANNEL = 0xFFFF;
}
else
else
{
// Turn on PWM control of PB6
TCCR1A |= _BV(COM1B1);

File diff suppressed because it is too large Load Diff

@ -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 ?= no # Mouse keys(+4700)
EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
CONSOLE_ENABLE ?= no # Console for debug(+400)
COMMAND_ENABLE ?= no # 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 ?= yes # USB Nkey Rollover
ifndef QUANTUM_DIR
include ../../Makefile
endif

@ -0,0 +1,26 @@
Stanley Lai's Split Right Shift with Dedicated Arrow Keys
======================
![Image of KC60 with RGB Underglow](../ws2812/ws2812_example.jpg)
## Quantum MK Firmware
For the full Quantum feature list, see [the parent README.md](/README.md).
## Keymap Notes
- Keymap setup with split Right Shift in mind.
- Right-side modifiers are setup as dedicated arrow keys
### Base Layer Reference
- Fn Layer indicated on keycap front legends.
- Tapping Caps Lock key toggles Caps. Holding it down momentarily switches us to the Fn Layer.
- Holding down "Fn" and "Page Down" momentarily switches us to the RGB Layer. Tapping "Page Down" behaves as expected.
![Base Layer](base_layer.jpg)
### RGB Layer Reference
![RGB Layer](rgb_layer.jpg)
## WS2812 Support
By default, it is now setup for 16 LEDs on the PF5 breakout pin. See [included image](../ws2812/ws2812_wiring.jpg) for wiring reference.
### Build
To build this keymap, simply run `make KEYMAP=stanleylai`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

@ -0,0 +1,1773 @@
:100000000C9408090C944F090C944F090C944F0957
:100010000C944F090C944F090C944F090C944F0900
:100020000C944F090C944F090C94C31B0C94951C11
:100030000C942B2A0C944F090C944F090C944F09E3
:100040000C944F090C944F090C944F090C944F09D0
:100050000C944F090C94932A0C944F090C944F095B
:100060000C944F090C944F090C944F090C944F09B0
:100070000C944F090C944F090C944F090C944F09A0
:100080000C9462160C944F090C944F090C944F0970
:100090000C944F090C944F090C944F090C944F0980
:1000A0000C944F090C944F090C944F09570A740A89
:1000B000A50A7B0A820A890A900A970A9E0A021DEB
:1000C000241D171E241D171E691D8C1D171EE11DE2
:1000D000F41D4621462175217521B121CF2111231F
:1000E0001123DA2111237F227F22E522ED22112321
:1000F0000C238C228C228C228C228C228C228C220F
:100100008C228C228C228C228C228C228C228C227F
:100110008C229C22AA22B122B822C22200F001F035
:1001200002F003F004F005F006F007F008F00020FC
:100130001E001F00200021002200230024002500B3
:10014000260027002D002E002A002B0014001A0084
:100150000800150017001C0018000C001200130006
:100160002F0030003100394104001600070009005B
:100170000A000B000D000E000F00330034000000D9
:100180002800E10000001D001B000600190005000A
:100190001100100036003700380001515200E00015
:1001A000E200E300000000002C000000000000005E
:1001B0000000E700500051004F0035003A003B00BE
:1001C0003C003D003E003F00400041004200430033
:1001D000440045004C000000AC005200AB000000A1
:1001E000000000000000000000004600470048003A
:1001F00049000100500051004F00000000000000C5
:1002000000000000000000000000000000000100ED
:100210000000A800AA00A9000000000000000000E3
:1002200000000000000001004B420100010001003D
:1002300000000000AE00000000000000000001000F
:100240004A004E004D000070000000000000000059
:10025000000000000000000000000000000000009E
:10026000000000000000000000000000000000008E
:10027000000000000000000000000000000000007E
:10028000000000000000000000000000000000006E
:10029000000000000000000000000100000001203C
:1002A00002200320042005200620072008203270A9
:1002B0003170010001000100010001000000000098
:1002C000010000000000000000000100010001002A
:1002D00001000A44454255473A20656E61626C65EB
:1002E000642E0A005374617465206F6620726F7704
:1002F0002025583A2025303136620A0048756D6154
:100300006E2D7265616461626C65206D61747269E5
:10031000782073746174653A0D0A004465626F75E4
:100320006E63696E672064656C61792072656D61CA
:10033000696E696E673A2025580A0054494D455246
:10034000332064697361626C65642E0A0054494D00
:1003500045523320656E61626C65642E0A007267D7
:10036000626C696768742073657420687376205BBB
:10037000454550524F4D5D3A2025752C25752C254D
:10038000750A007267626C6967687420746F6767CA
:100390006C653A207267626C696768745F636F6E40
:1003A0006669672E656E61626C65203D2025750A61
:1003B000007267626C69676874206D6F64653A20CB
:1003C00025750A007267626C696768745F696E6997
:1003D00074207267626C696768745F636F6E6669C8
:1003E000672E6D6F6465203D20302E205772697432
:1003F000652064656661756C742076616C756573E3
:1004000020746F20454550524F4D2E0A007267628E
:100410006C696768745F696E6974206565636F6E87
:10042000666967206973206E6F7420656E61626C07
:1004300065642E0A007267626C696768745F696E32
:100440006974207374617274210A007267626C6946
:100450006768745F696E69742063616C6C65642E93
:100460000A007267626C696768745F636F6E6669C1
:10047000672E76616C203D2025640A007267626CED
:10048000696768745F636F6E6669672E7361742055
:100490003D2025640A007267626C696768745F6357
:1004A0006F6E6669672E687565203D2025640A00B9
:1004B0007267686C696768745F636F6E6669672EE0
:1004C0006D6F6465203D2025640A007267626C6967
:1004D0006768745F636F6E6669672E656E61626CD4
:1004E00065203D2025640A007267626C6967687444
:1004F0005F636F6E666967206570726F6D0A006575
:1005000065636F6E6669675F7570646174655F725D
:1005100067626C696768745F64656661756C740AAC
:1005200000643214643214783C1E1E140A05000064
:1005300000000101010202030405050607090A0B78
:100540000C0E0F1112141517191B1D1F212325281E
:100550002A2C2F313436393B3E414346494C4F52C9
:1005600055585A5D6164676A6D707376797C7F83D4
:1005700086898C8F9295989B9EA2A5A7AAADB0B3B1
:10058000B6B9BCBEC1C4C6C9CBCED0D3D5D7DADCD0
:10059000DEE0E2E4E6E8EAEBEDEEF0F1F3F4F5F6A6
:1005A000F8F9FAFAFBFCFDFDFEFEFEFFFFFFFFFF80
:1005B000FFFFFEFEFEFDFDFCFBFAFAF9F8F6F5F48E
:1005C000F3F1F0EEEDEBEAE8E6E4E2E0DEDCDAD7C8
:1005D000D5D3D0CECBC9C6C4C1BEBCB9B6B3B0ADFD
:1005E000AAA7A5A29E9B9895928F8C898683807CD2
:1005F000797673706D6A6764615D5A5855524F4CD5
:10060000494643413E3B393634312F2C2A28252395
:10061000211F1D1B1917151412110F0E0C0B0A099F
:1006200007060505040302020101010000000001A4
:100630000102020202020203030303030303030392
:10064000030303030304040404040404040404046F
:100650000405050505050505050505060606060646
:100660000606060707070707070708080808080817
:100670000909090909090A0A0A0A0A0B0B0B0B0BDB
:100680000C0C0C0C0C0D0D0D0D0E0E0E0E0F0F0F95
:10069000101010101111111212121313131414143C
:1006A0001515161616171718181919191A1A1B1BCB
:1006B0001C1C1D1D1E1E1F2020212122232324243B
:1006C000252626272828292A2B2B2C2D2E2F303083
:1006D0003132333435363738393A3B3C3D3E3F4092
:1006E000414244454647494A4B4C4E4F515253555F
:1006F00056585A5B5D5E6062636567696B6D6E70CC
:10070000727476797B7D7F818486888B8D909295BB
:10071000979A9D9FA2A5A8ABAEB1B4B7BABEC1C40B
:10072000C8CBCFD3D6DADEE2E6EAEEF2F8FF5B73AF
:100730005D004B6579626F617264207374617274DD
:100740002E0A005B575D005B535D005B525D005BF2
:10075000445D005B435D000E036B006300360030B8
:1007600000760032000000080359006F0075000099
:10077000000403090409027400040100A0FA09043A
:1007800000000103010100092111010001224000C4
:100790000705810308000A090401000103010200A2
:1007A000092111010001224D000705820308000AFA
:1007B00009040200010300000009211101000122C7
:1007C00036000705830308000A090403000203003A
:1007D00000000921110100012220000705840320E7
:1007E00000010705040320000112011001000000B0
:1007F00008EDFE60600100010200010631FF09748E
:10080000A1010975150025FF95207508810209765B
:10081000150025FF952075089102C005010980A1EA
:1008200001850216010026B7001A01002AB70075DB
:100830001095018100C0050C0901A1018503160175
:1008400000269C021A01002A9C0275109501810065
:10085000C005010902A1010901A100050919012929
:100860000515002501950575018102950175038126
:10087000010501093009311581257F95027508812F
:100880000609381581257F950175088106050C0A32
:1008900038021581257F950175088106C0C00501C4
:1008A0000906A101050719E029E7150025019508AA
:1008B0007501810295017508810105081901290555
:1008C00095057501910295017503910105071900C0
:1008D00029FF150026FF00950675088100C00A0053
:1008E0002530325820006B6579626F6172645F72E7
:1008F00065706F72743A20004B6579626F61726443
:10090000204C4544732073746174653A2025780A3D
:1009100000646F6E652E0A00626F6F676D616769B4
:1009200063207363616E3A202E2E2E2000290A0068
:100930002575002F002575005D2800256400200026
:10094000256400200025640020002564007C00252B
:10095000303258006D6F7573656B6579205B62741A
:100960006E7C782079207620685D287265702F6112
:10097000636C293A205B006D6B5F776865656C5F1F
:1009800074696D655F746F5F6D6178203D202564CB
:100990000A006D6B5F776865656C5F6D61785F738A
:1009A00070656564203D2025640A006D6B5F746985
:1009B0006D655F746F5F6D6178203D2025640A006E
:1009C0006D6B5F6D61785F7370656564203D202598
:1009D000640A006D6B5F696E74657276616C203DB0
:1009E0002025640A006D6B5F64656C6179203D2091
:1009F00025640A006D6B5F776865656C5F74696D6F
:100A0000655F746F5F6D6178203D2025640A006D1D
:100A10006B5F776865656C5F6D61785F7370656546
:100A200064203D2025640A006D6B5F74696D655F0D
:100A3000746F5F6D6178203D2025640A006D6B5FE7
:100A40006D61785F7370656564203D2025640A00E0
:100A50006D6B5F696E74657276616C203D202564F4
:100A60000A006D6B5F64656C6179203D2025640A26
:100A7000000A00257500363A20776865656C5F745A
:100A8000696D655F746F5F6D61783A20000A0025BB
:100A90007500353A20776865656C5F6D61785F73C6
:100AA000706565643A20000A00257500343A2074A8
:100AB000696D655F746F5F6D61783A20000A00258B
:100AC0007500333A206D61785F73706565643A2014
:100AD000000A00257500323A20696E7465727661ED
:100AE0006C286D73293A20000A00257500313A20E0
:100AF00064656C6179282A31306D73293A20000AC7
:100B0000092D2056616C756573202D0A004D3E003D
:100B10004D25643E20003F00736574206465666166
:100B2000756C740A00433E20007768657265206426
:100B3000656C74613A20637572736F723D25642C25
:100B400020776865656C3D25640A53656520687487
:100B500074703A2F2F656E2E77696B6970656469C2
:100B6000612E6F72672F77696B692F4D6F75736593
:100B70005F6B6579730A000A092D204D6F757365E7
:100B80006B6579202D0A4553432F713A09717569B8
:100B9000740A313A0964656C6179282A31306D73C1
:100BA000290A323A09696E74657276616C286D7330
:100BB000290A333A096D61785F73706565640A3498
:100BC0003A0974696D655F746F5F6D61780A353AD3
:100BD00009776865656C5F6D61785F7370656564E2
:100BE0000A363A09776865656C5F74696D655F748C
:100BF0006F5F6D61780A0A703A097072696E7420CD
:100C000076616C7565730A643A097365742064656E
:100C10006661756C74730A75703A092B310A646FDA
:100C2000776E3A092D310A706775703A092B3130A9
:100C30000A7067646F776E3A092D31300A0A737053
:100C4000656564203D2064656C7461202A206D61B7
:100C5000785F7370656564202A202872657065610D
:100C600074202F2074696D655F746F5F6D617829E2
:100C70000A003F004D3E2000433E20004C25640A00
:100C80000074696D65725F636F756E743A2025300C
:100C9000346C580A006B6579626F6172645F6964D5
:100CA0006C653A2025580A006B6579626F61726441
:100CB0005F70726F746F636F6C3A2025580A00681A
:100CC0006F73745F6B6579626F6172645F6C65648A
:100CD0007328293A2025580A000A092D20537461E7
:100CE000747573202D0A004743433A20352E332E66
:100CF00030204156522D4C4942433A20322E302E5C
:100D000030204156525F415243483A206176723555
:100D10000A004F5054494F4E533A204C55464120FB
:100D2000424F4F544D41474943204D4F5553454B3A
:100D300045592045585452414B455920434F4E5335
:100D40004F4C4520434F4D4D414E442034303936B1
:100D50000A004255494C443A20756E6B6E6F776EAF
:100D6000202830323A35383A3231204A756E2032F6
:100D7000312032303136290A005649443A20307841
:100D80004645454428596F7529205049443A20303A
:100D90007836303630286B63363076322920564527
:100DA000523A203078303030310A00444553433ACB
:100DB000204120637573746F6D206B6579626F617C
:100DC00072640A000A092D2056657273696F6E20DD
:100DD0002D0A000A092D20436F6E736F6C65202D5C
:100DE0000A4553432F713A09717569740A6D3A09BE
:100DF0006D6F7573656B65790A000A092D204D6169
:100E0000676963202D0A443A094465627567204D7D
:100E100065737361676520546F67676C650A583A3C
:100E2000094D6174726978204465627567204D6F61
:100E3000646520546F67676C65202D2053686F7759
:100E4000206B65797072657373657320696E206DB0
:100E5000617472697820677269640A4B3A094B655C
:100E600079626F61726420446562756720546F67B0
:100E7000676C65202D2053686F77206B65797072E1
:100E8000657373207265706F72740A4D3A09446518
:100E9000627567204D6F75736520546F67676C6569
:100EA0000A563A0956657273696F6E0A533A0953C6
:100EB00074617475730A433A0941637469766174A5
:100EC0006520436F6E736F6C65204D6F64650A46D5
:100ED000312D4631303A0953776974636820746F55
:100EE000204C6179657220302D3920284631302020
:100EF0003D204C30290A302D393A09537769746303
:100F00006820746F204C6179657220302D390A4554
:100F100053433A0953776974636820746F204C61B6
:100F200079657220302028616C7465726E61746519
:100F3000206B65792031290A47524156453A0953B9
:100F4000776974636820746F204C61796572203012
:100F50002028616C7465726E617465206B65792000
:100F600032290A50415553453A094A756D7020742B
:100F70006F20426F6F746C6F6164657220285265D8
:100F8000736574290A453A095072696E74204545A3
:100F900050524F4D2053657474696E67730A000A8E
:100FA000002575002E6C6576656C3A20000A0025D8
:100FB00075002E656E61626C653A20000A0025306E
:100FC0003258006261636B6C696768745F636F6E4F
:100FD0006669672E7261773A20000A002575002E37
:100FE0006E6B726F3A20000A002575002E737761D0
:100FF000705F6261636B736C6173685F6261636B86
:1010000073706163653A20000A002575002E7377BE
:1010100061705F67726176655F6573633A20000A8D
:10102000002575002E6E6F5F6775693A20000A0013
:101030002575002E737761705F72616C745F7267E3
:1010400075693A20000A002575002E737761705F7C
:101050006C616C745F6C6775693A20000A002575D5
:10106000002E636170736C6F636B5F746F5F636F8F
:101070006E74726F6C3A20000A002575002E73772B
:1010800061705F636F6E74726F6C5F636170736CBD
:101090006F636B3A20000A0025303258006B657987
:1010A0006D61705F636F6E6669672E7261773A205B
:1010B000000A002575002E6D6F7573653A20000AD1
:1010C000002575002E6B6579626F6172643A2000AD
:1010D0000A002575002E6D61747269783A20000A45
:1010E000002575002E656E61626C653A20000A006D
:1010F000253032580064656275675F636F6E66699C
:10110000672E7261773A20000A00257500646566D3
:1011100061756C745F6C617965723A20003F000AFA
:101120006D6F7573653A206F66660A000A6D6F759C
:1011300073653A206F6E0A000A6B6579626F61729F
:10114000643A206F66660A000A6B6579626F6172A5
:10115000643A206F6E0A000A6D61747269783A20F1
:101160006F66660A000A6D61747269783A206F6E64
:101170000A000A64656275673A206F66660A000AAB
:1011800064656275673A206F6E0A000A0A4A756DD7
:1011900070696E6720746F20626F6F746C6F61642A
:1011A00065722E2E2E2000433E20006565636F6E13
:1011B0006669673A0A006261636B6C6967687420EC
:1011C000737465703A2025750A006261636B6C69FF
:1011D00067687420746F67676C653A2025750A002C
:1011E0006261636B6C6967687420646563726561D2
:1011F00073653A2025750A006261636B6C696768E4
:101200007420696E6372656173653A2025750A0002
:1012100011241FBECFEFDAE0DEBFCDBF04B603FE60
:1012200027C080913F0290914002A0914102B0916D
:1012300042028730904BA740B04BD1F410923F024E
:1012400010924002109241021092420214BE84B7E2
:10125000877F84BF0FB6F894A8958091600088615D
:1012600080936000109260000FBEE0E0F8E3099503
:1012700011E0A0E0B1E0E6E6FEE602C005900D92C6
:10128000A634B107D9F722E0A6E4B1E001C01D926F
:10129000AF33B207E1F70E9404190C9431370C9474
:1012A0000000FF93EF93E0914601F09147013097E2
:1012B00009F00995EF91FF910895FC018591803027
:1012C00011F0EFDFFBCF0895FF27E0E230E247FFA8
:1012D0000CC0419597FF09C0EDE26095709580952F
:1012E0009095611D711D811D911D27FF02C02195E3
:1012F00030E350E2AA27660F771F881F991FAA1FA5
:10130000A41710F0A41B63955A95A9F7AA3008F00A
:10131000A95FA05DAF93F3956115710581059105F6
:1013200041F7ED3211F4EF93F395F21718F43F9370
:10133000F395FBCF8F91B5DFFA95E1F70895E99129
:10134000F9918591803021F0853219F0AADFF9CF2B
:10135000089520E0E89455915532C1F3503311F4CB
:10136000689455915A3348F4505390F3220F022E4B
:10137000220F220F200D250FF4CF0EF42195899115
:101380009991533619F3533729F1533559F1BC016B
:1013900088279927E8945C3621F48991999168947B
:1013A0005591543639F446EF7EF077FF0DC08FEF3C
:1013B0009FEF0AC055374AE039F0583540E121F037
:1013C000523642E009F00895FF93EF937DDFEF91ED
:1013D000FF91B7CFFF93EF93FC0181918030B9F378
:1013E00060DFFBCFFF93EF9368DFF1CFDF93CF9305
:1013F000CDB7DEB72596A3DFCF91DF91089508958D
:101400000C94FF0981E0089508950C94FF090C9451
:10141000020A0C94040A269A2E988FEF9FEF90935D
:1014200087008093860082E28093800089E1809328
:1014300081000C949B340E940B0A0C94000A282F04
:101440002E9880918000211108C08F7D80938000AC
:1014500010928B0010928A00089580628093800021
:10146000233019F48FEF9FEF0FC083E090E0821BD1
:101470009109880F991F2FEF3FEFA90102C05695E0
:1014800047958A95E2F7CA0190938B0080938A0072
:101490000895CF93DF93EC01862F90E0893091057A
:1014A00008F05AC0FC01EA5AFF4F0C94E3360E9440
:1014B000292982729A81992369F0882319F085E39A
:1014C00090E002C089E290E00E94ED28DF91CF9188
:1014D0000C947329882319F085E390E002C089E217
:1014E00090E00E940A29F2CF8A818823A9F1DF9136
:1014F000CF910C940D148A81882371F1DF91CF91E3
:101500000C9479128A81882339F1DF91CF910C9460
:1015100091128A81882301F1DF91CF910C94B0124E
:101520008A818823C9F0DF91CF910C94CB128A81F4
:10153000882391F0DF91CF910C94E5128A81882362
:1015400059F0DF91CF910C9400138A81882321F008
:10155000DF91CF910C940314DF91CF91089581E036
:1015600008950C94AF0A08950F931F93CF93DF93C0
:101570008C01FC01C081D181CE010E946E28BE0188
:101580000E94ED0DEC01B8010E94B10A882309F414
:1015900074C1F8018281882309F45BC080915301F2
:1015A00081111FC0C431F0E7DF0709F00AC10E94B2
:1015B000B30A81E0809353010E945D2A9093520107
:1015C0008093510110924A0110924C0110924B01EC
:1015D00010924E0110924D011092500110924F0145
:1015E0004CC180915101909152010E94692A883C1E
:1015F000910570F480914A01E82FF0E0EE0FFF1F93
:10160000E55BFE4FD183C0838F5F80934A0135C174
:10161000C43120E7D20708F028C1C23080E7D807DC
:1016200010F5C11590E7D90709F0DAC0F8018281F9
:10163000882309F4BFC00E947A23FFEF24E38CE0E3
:10164000F15020408040E1F700C000000E94B82A1D
:1016500014C1C431F0E7DF0708F0D3C0C23020E77F
:10166000D20708F49BC0F8018281882309F4A2C044
:101670000E94722C811102C00E94532C0E948F2C58
:1016800090E09093F8018093F701C230F0E7DF0714
:1016900021F48091F70181607AC0C33020E7D2073E
:1016A00021F48091F701826072C0C43080E7D807CE
:1016B00021F48091F70184606AC0C53090E7D907B2
:1016C00019F48091F70127C0C630E0E7DE0721F466
:1016D0008091F70180615BC0C730F0E7DF0721F43C
:1016E0008091F701806253C0C83020E7D20721F40F
:1016F0008091F70180644BC0C93080E7D80721F49E
:101700008091F701806843C0CA3090E7D90729F477
:101710008091F701846088603AC0CB30E0E7DE0753
:1017200021F48091F7018E7F32C0CC30F0E7DF07E3
:1017300021F48091F7018D7F2AC0CD3020E7D207B8
:1017400021F48091F7018B7F22C0CE3080E7D8074B
:1017500019F48091F7011AC08091F701CF3090E71A
:10176000D90711F48F7E13C0C031E0E7DE0711F412
:101770008F7D0DC0C131F0E7DF0711F48F7B07C00B
:10178000C231D04711F48F7702C08B7F877F80935F
:10179000F7018091F7010E94932C6FC0C11580E77B
:1017A000D80741F0C130D047F1F081E08093480183
:1017B00080934901C801DF91CF911F910F910C9443
:1017C000070AC43120E7D20708F04FC0C23080E7D3
:1017D000D80708F048CFC11590E7D90709F42BCFF7
:1017E000C130D04711F7F8018281882319F382EDC7
:1017F00092E00E945D098091E60181608093E6019C
:101800003CC0C333E0E7DE07A1F4F80182818823FE
:1018100021F01092480182E017C0809148018111A7
:1018200006C086E20E94E31F86E20E94AB2082E0AF
:1018300019C0C433D04709F0B8CFF801828188239A
:1018400031F01092490182E10E94FA2016C0809185
:101850004901811106C087E20E94E31F87E20E94CE
:10186000AB2082E10E94012108C0C333F0E7DF070B
:1018700061F2C433D04709F398CF80E0DF91CF9174
:101880001F910F9108950C941B0A0C94050A26E4ED
:10189000829FC0011124FC013EE0739FE00DF11D09
:1018A0001124E60FF11DEE0FFF1FE25DFE4F859143
:1018B00094910E94000E811540E5940708F047C0FE
:1018C000811520E4920708F014C1883E910520F5A7
:1018D000803E910508F07DC1883A910578F4853AFB
:1018E000910508F0A6C08130910509F472C108F491
:1018F0002FC18430910508F06CC12AC18B3B910542
:1019000008F4A2C0803C910508F422C1FC01EE0F4E
:10191000FF1FE456F040E7C0811530E2930758F40A
:10192000811541E0940708F054C1803F910508F407
:101930000FC190650895811520E3920708F0D6C085
:10194000FC01FF70EE0FFF1FE45EFE4FCCC081155F
:1019500035E5930708F044C0811544E5940708F085
:10196000DFC0811522E5920710F5811531E5930757
:1019700008F0C2C09C0154E0369527955A95E1F7CE
:10198000922F9370482F437021E030E002C0220F65
:10199000331F4A95E2F73C68392B8F708695869500
:1019A00040E2849FC0011124822B932B0895AC0147
:1019B00043705527282F269526958115934508F0C5
:1019C000A0C081E090E002C0880F991F4A95E2F71D
:1019D00040E2249F90011124822B932B9C68089550
:1019E0008F3240E7940790F48F3120E7920708F098
:1019F000A2C0811536E5930708F497C09C013056C4
:101A00002115304108F0A4C09F7093C0803320E7B7
:101A1000920709F497C008F492C0813340E7940715
:101A200009F493C08233904709F092C080E093EDAF
:101A30000895853A910509F48EC0863A910509F01A
:101A40008DC082E890E40895883A910509F489C030
:101A5000893A910509F488C08A3A910509F487C04A
:101A60008B3A910509F486C08C3A910509F485C03A
:101A70008D3A910509F484C0803B910509F483C037
:101A80008E3A910509F482C08F3A910509F481C01C
:101A9000813B910509F480C0823B910509F47FC028
:101AA000833B910509F47EC0843B910509F47DC018
:101AB000853B910509F47CC0863B910509F47BC008
:101AC000873B910509F47AC0883B910509F479C0F8
:101AD000893B910509F478C08A3B910509F477C0E8
:101AE00080E094E408958591949108959927906CED
:101AF00008959F70906A0895982F8827816F906A43
:101B0000089581E090E002C0880F991F4A95E2F79E
:101B100040E2249F90011124822B932B9A68089510
:101B2000982F8827846F906A08958F719927982F2E
:101B30008827906208958F519047946D089580E0B2
:101B400091ED089580E090ED089580E092ED089584
:101B500080E090E0089581E890E4089583E890E4BF
:101B6000089582EE94E4089589EE94E408958AEE4F
:101B700094E4089585EB94E4089586EB94E4089545
:101B800087EB94E408958CEC94E408958DEC94E450
:101B9000089583E895E408958AE895E4089582E934
:101BA00095E4089584E995E4089581E296E4089522
:101BB00083E296E4089584E296E4089585E296E44B
:101BC000089586E296E4089587E296E408958AE20D
:101BD00096E4089580E090E0089526E4829FC00195
:101BE0001124FC012EE0729FE00DF11D1124E60F7F
:101BF000F11DEE0FFF1FE25DFE4F85919491089558
:101C00008238910549F1B0F48133910509F459C046
:101C100048F48932910509F44FC08A32910509F4DC
:101C200055C008958533910509F441C08933910564
:101C300099F00895833E910531F138F4803E910585
:101C400091F0823E9105A9F00895863E910501F13B
:101C5000873E910539F108952091F70120FD3BC0A1
:101C600021FD39C008958091F70180FF34C089E3D8
:101C700041C08091F70182FF30C08091F70184FD5F
:101C80002EC083EE37C08091F70182FD26C0F5CFCC
:101C90008091F70183FF25C08091F70184FD1FC06B
:101CA00087EE28C08091F70183FD1BC0F5CF80919E
:101CB000F70185FD18C019C08091F70185FD15C099
:101CC00012C08091F70186FD12C013C08091F70108
:101CD00086FD0FC00CC080EE0DC082EE0BC080E010
:101CE00009C086EE07C089E205C085E303C08AE229
:101CF00001C081E390E008950C94090AE82FF0E018
:101D0000ED5DFE4F8081E82FEF70F0E082958F70DF
:101D100021E030E0A90102C0440F551F8A95E2F787
:101D200040A308950F931F93CF93DF93C4E0D0E0B7
:101D300001E010E0FE01ED5DFE4F8081E82FEF70C5
:101D4000F0E021A182958F70A80102C0440F551FB9
:101D50008A95E2F7CA01822B81A38C2F0E947E0E06
:101D6000219740F78DE090E061E070E0FC01EB5ED0
:101D7000FE4F2081E22FEF70F0E042A122952F70FC
:101D8000DB0102C0AA0FBB1F2A95E2F79D01242B9D
:101D900022A3019758F7DF91CF911F910F910895DA
:101DA0000F931F93CF93DF9385B7806885BF85B767
:101DB000806885BFC4E0D0E001E010E0FE01ED5D89
:101DC000FE4F8081E82FEF70F0E021A182958F70A7
:101DD000A80102C0440F551F8A95E2F7CA01822B61
:101DE00081A38C2F0E947E0E219740F78DE090E01A
:101DF00061E070E0FC01EB5EFE4F2081E22FEF70AE
:101E0000F0E042A122952F70DB0102C0AA0FBB1F98
:101E10002A95E2F79D01242B22A3019758F7DF9121
:101E2000CF911F910F910C94430CCF92DF92EF92C0
:101E3000FF920F931F93CF93DF930EE511E078018C
:101E4000C4E0CC24C394D12CD5E08C2F0E947E0E0C
:101E50008DE090E040E050E0FC01EB5EFE4F6081E1
:101E6000E62FEF70F0E020A130E062956F7002C0C5
:101E7000359527956A95E2F720FD09C09601082E51
:101E800002C0220F331F0A94E2F7422B532B019713
:101E900018F7D7019E918E917D018417950721F047
:101EA0004D935C93D09300018C2F0E947E0EC15005
:101EB00060F68091000187FD2FC09091E60190FFB0
:101EC00010C0282F082E000C330B3F938F938BE10B
:101ED00093E09F938F930E94F6090F900F900F90BD
:101EE0000F908091000181508093000187FD07C011
:101EF000EFE9FFE03197F1F700C000000DC0E8E620
:101F0000F1E084E591E0D8013E912E918D0132936C
:101F100022938A179B07B9F70E94450C81E0DF9155
:101F2000CF911F910F91FF90EF90DF90CF90089588
:101F3000E82FF0E0EE0FFF1FE25AFE4F8081918103
:101F40000895EF92FF920F931F93CF93DF938091A9
:101F5000E60180FF04C08CEF92E00E945D090EE56F
:101F600011E0C0E0D0E084EEE82E82E0F82E80910F
:101F7000E60180FF13C0F801808191810E94C5298C
:101F80009F938F93DF93CF93FF92EF920E94F60976
:101F90000F900F900F900F900F900F9021960E5F63
:101FA0001F4FC530D10519F7DF91CF911F910F91C8
:101FB000FF90EF9008950F931F93CF9308E611E0E1
:101FC000C0E0F801929182918F010E94A729C80F69
:101FD000F1E00E351F07A9F78C2FCF911F910F91BC
:101FE000089521B3342F3095232331B3432B3FB7CA
:101FF000F894FC01680F791FE617F70789F08191C3
:1020000098E041BB000000C087FF21BB880F0000A3
:1020100000C000C000C021BB00C09A9591F7ECCF72
:102020003FBF089520B3242B20BB9B01220F331FF9
:10203000620F731F0E94F10F87EC90E00197F1F798
:1020400000C00000089540E20C941210AF92BF92BD
:10205000CF92DF92EF92FF920F931F93CF93DF9374
:102060006C01790150E0FA01E25DF94F44918FEF84
:1020700090E0FC01E61BF109E25DF94FE491E09587
:1020800009F495C0C42FD0E08E1B91098C9F90015C
:102090008D9F300D9C9F300D1124E32F8CE3A82ED3
:1020A000B12CC601B5010E94BB36DC01623071055E
:1020B00009F446C0D0F46115710599F161307105DC
:1020C00009F079C0C31BD109B501681B790BC69F04
:1020D000C001C79F900DD69F900D1124B5010E949D
:1020E000BB36032F060F142F67C06430710509F447
:1020F0004BC0B8F16530710509F05DC0C31BD10953
:10210000B501681B790BC69FC001C79F900DD69F74
:10211000900D1124B5010E94BB36132FE32FE60F5B
:1021200044C0C31BD109CC9DC001CD9D900DDC9D49
:10213000900D1124B5010E94BB36132F160F35C028
:10214000C31BD109CA9FC001CB9F900DDA9F900D90
:102150001124B5010E94BB36142F032FE32FE60F85
:102160002BC0C31BD109B501681B790BC69FC001E9
:10217000C79F900DD69F900D1124B5010E94BB36CC
:10218000132F160F032F0FC0C31BD109CA9FC00105
:10219000CB9F900DDA9F900D1124B5010E94BB36A4
:1021A000032F060F132FE42F07C0042F05C0E42FC1
:1021B000142F042F01C0E0E0D70111960C93119762
:1021C0001C931296EC93DF91CF911F910F91FF908A
:1021D000EF90DF90CF90BF90AF90089587E090E0B0
:1021E0000C94F136AB01BC0187E090E00C940F3702
:1021F0008091E60180FF08C08FEF94E09F938F935A
:102200000E94F6090F900F9083E08093F90180916E
:10221000FA01807884668F778093FA018CEC809342
:10222000FB018093FC016091F9017091FA018091AA
:10223000FB019091FC010C94F2108091E60180FF6B
:1022400008C088EE94E09F938F930E94F6090F9048
:102250000F908091E60180FF0FC08091F90181709D
:102260001F928F938BEC94E09F938F930E94F609BB
:102270000F900F900F900F908091E60180FF10C09B
:102280008091F90186958F731F928F9380EB94E074
:102290009F938F930E94F6090F900F900F900F90CD
:1022A0008091E60180FF19C08091F901881F88277D
:1022B000881F9091FA01292F220F822B97FB9927D3
:1022C00090F99F938F9386E994E09F938F930E9458
:1022D000F6090F900F900F900F908091E60180FF0C
:1022E0000EC08091FB011F928F938CE794E09F9327
:1022F0008F930E94F6090F900F900F900F9080918E
:10230000E60180FF0EC08091FC011F928F9382E650
:1023100094E09F938F930E94F6090F900F900F9077
:102320000F9008958091F90180FF06C060E170E090
:1023300081E092E00C942310E3E0F2E0DF011197DA
:102340001C9211971C921082339682E0E333F807B7
:10235000A9F7ECCFE3E0F2E0DF0111978C9311973E
:102360006C934083339692E0E333F907A9F70C941A
:102370009211EF92FF920F931F93CF93DF9300D0B0
:102380001F92CDB7DEB7182FE92EF62E042F8091BD
:10239000F9019091FA01A091FB01B091FC018093A9
:1023A000FD019093FE01A093FF01B0930002809184
:1023B000F90180FF1FC09E012F5F3F4F812F9E2D8F
:1023C0000E9426108091FD0110FB87F98093FD018A
:1023D00016958091FE018078182BE0FA17F910937A
:1023E000FE01F092FF01009300024B8169818A8116
:1023F0000E94AA110F900F900F90DF91CF911F9123
:102400000F91FF90EF9008950F931F93CF93DF9359
:10241000EC01062F142F9091F90190FF65C0892FD0
:102420008E77823021F4CE010E94B9111BC0892F12
:1024300086958F732EE3280F2F73243018F4109194
:10244000FC0110C0865C8F73893060F4C92FCC1FEB
:10245000CC27CC1FD091FA018D2F880FC82BD7FB2A
:10246000DD27D0F98091F901C0FB87F98093F9014C
:10247000C6958091FA018078C82BD0FBC7F9C0932C
:10248000FA010093FB011093FC016091F901709136
:10249000FA018091FB019091FC010E94F210809161
:1024A000FC011F928F938091FB011F928F9380916B
:1024B000F901881F8827881F9091FA01292F220F80
:1024C000822B97FB992790F99F938F938EE593E04A
:1024D0009F938F930E94F6098DB79EB708960FB60B
:1024E000F8949EBF0FBE8DBFDF91CF911F910F91CA
:1024F0000895E9EFF1E02081221F2227221F309169
:10250000FA01432F440F842F822B37FB992790F930
:10251000089668E671E00E94CF36438162810C9490
:1025200004122091F901221F2227221F3091FA0163
:10253000432F440F842F822B37FB992790F9883043
:1025400091051CF4805A9E4F05C0089768E671E01B
:102550000E94CF364091FC016091FB010C94041263
:102560006091FB01862F90E0883F910514F4685F2D
:1025700001C06FEF8091F901881F8827881F909113
:10258000FA01292F220F97FB992790F94091FC011E
:10259000822B0C9404126091FB01862F90E0089727
:1025A00014F0685001C060E08091F901881F88270D
:1025B000881F9091FA01292F220F97FB992790F9F4
:1025C0004091FC01822B0C9404124091FC01842F59
:1025D00090E0883F910514F4485F01C04FEF80916F
:1025E000F901881F8827881F9091FA01292F220F4F
:1025F00097FB992790F96091FB01822B0C940412B0
:102600004091FC01842F90E0089714F0485001C0DD
:1026100040E08091F901881F8827881F9091FA0176
:10262000292F220F97FB992790F96091FB01822BAC
:102630000C9404128091790181110FC081E0809384
:10264000790189E0809391008FB7F89493E090939B
:10265000990090ED909398008FBF0895809171003C
:102660008260809371008091E60180FF08C08DE454
:1026700093E09F938F930E94F6090F900F90089517
:10268000809171008D7F809371008091E60180FFC1
:1026900008C08BE393E09F938F930E94F6090F90FD
:1026A0000F9008959091F90190FF4BC0917881119E
:1026B00002C0926007C0883110F09E6203C08F7321
:1026C000880F982B9093F9016091F9017091FA01AC
:1026D0008091FB019091FC010E94F2108091F90120
:1026E00086958F731F928F9381EB93E09F938F93C7
:1026F0000E94F6098091F901982F9E770F900F9014
:102700000F900F90923019F40E94401307C08695E5
:10271000825C8F73863110F40E942E138091F90130
:10272000881F8827881F9091FA01292F220F97FB75
:10273000992790F94091FC016091FB01822B0C9448
:10274000041208958091E60181608093E6018BE494
:1027500094E09F938F930E94F60981E080937A0121
:102760008091E6010F900F9080FF08C085E394E010
:102770009F938F930E94F6090F900F900E94722CE6
:10278000811110C08091E60180FF08C08DE094E0C7
:102790009F938F930E94F6090F900F900E94532CE5
:1027A0000E94F8100E94EE106093F9017093FA01F4
:1027B0008093FB019093FC016E77C1F48091E60158
:1027C00080FF08C084EC93E09F938F930E94F609EA
:1027D0000F900F900E94F8100E94EE106093F90184
:1027E0007093FA018093FB019093FC010E941D11EC
:1027F0000E941A138091F90180FF04C086958F739F
:102800000C94521308958091F90186958F738F5F10
:10281000883108F081E00C9452138091F901982FCF
:10282000909590FB80F98093F9016091F901709186
:10283000FA018091FB019091FC010E94F2108091BD
:10284000F90181701F928F9383E893E09F938F9398
:102850000E94F6098091F9010F900F900F900F9050
:1028600080FF04C086958F730C9452130E9440130E
:102870002FEF80E792E0215080409040E1F700C0C8
:1028800000000C949211CF93C82F80917701909102
:1028900078010E94692AEC2FF0E0E65DFA4FE4919E
:1028A000F0E08E179F0718F10E945D2A909378013F
:1028B00080937701E0917601F0E0E25DFA4F449178
:1028C0008091F901881F8827881F9091FA01292F8C
:1028D000220F97FB992790F96091FB01822B0E94B0
:1028E000B9118091760190E0019680937601CF91A5
:1028F0000895CF93C82F80917401909175010E9423
:10290000692AEC2FF0E0E95DFA4FE491F0E08E17D0
:102910009F07E8F00E945D2A9093750180937401EF
:102920004091FC016091FB018091720190917301D3
:102930000E94B9118091720190917301019668E62D
:1029400071E00E94BB369093730180937201CF9126
:102950000895CF92DF92FF920F931F93CF93DF934F
:10296000F82E80917001909171010E94692AEF2DDB
:10297000E695F0E0E95DFA4FE491F0E08E179F07ED
:10298000C0F10E945D2A909371018093700101E073
:1029900012E0C0E0D0E088E6C82EDD24D394809118
:1029A0006E0190916F018C0F9D1FB6010E94BB3686
:1029B00098014091FC016091FB010E9426106696EF
:1029C0000D5F1F4FC03681E0D80749F70E94921172
:1029D00080916E0190916F01F0FE06C0019668E64D
:1029E00071E00E94BB3601C0019790936F01809304
:1029F0006E01DF91CF911F910F91FF90DF90CF90EB
:102A000008958F929F92AF92BF92CF92DF92EF92F2
:102A1000FF920F931F93CF93DF93C82F80FF03C0C4
:102A2000DD24DA9402C0DD24D39480916C0190916E
:102A30006D010E94692AC695EC2FF0E0EC5DFA4F1B
:102A4000E491F0E08E179F0708F466C00E945D2AAB
:102A500090936D0180936C0191E0E92E92E0F92E44
:102A600003E012E0C0E0D0E027E0822E912CF801D4
:102A700031971082F7011082F801108287E0A82EAA
:102A8000B12CC12C80916B018C0D87FD805F082ECD
:102A9000000C990BC817D907E9F42091FC012A9D75
:102AA000C0012B9D900D1124B4010E94CF36462FFA
:102AB0008091F901881F8827881F9091FA01592F6A
:102AC000550F97FB992790F997016091FB01852B92
:102AD0000E942610CD0CF1E0AF1AB10899F62196AC
:102AE00083E0E80EF11C0D5F1F4FC031D10509F0E6
:102AF000BECF0E94921180916B0191E0D91206C065
:102B0000811102C08FE006C0815004C090E00196A0
:102B10008F70992780936B01DF91CF911F910F9157
:102B2000FF90EF90DF90CF90BF90AF909F908F90ED
:102B300008959F92AF92BF92CF92DF92EF92FF9251
:102B40000F931F93CF93DF93CDB7DEB7E0970FB608
:102B5000F894DEBF0FBECDBF182F80916901909110
:102B60006A010E94692AE12FF0E0EF5DFA4FE491DB
:102B7000F0E08E179F0708F493C00E945D2A90939F
:102B80006A0180936901CE0101967C015E0193E0A8
:102B9000A90EB11CC12CD12C8701F50131971082EF
:102BA000F7011082F5011082912C90910101809122
:102BB0006801999E800D112487FD04C080311CF0AE
:102BC0008FE001C080E0082E000C990BC816D906D2
:102BD000A1F48091F901881F8827881F9091FA013C
:102BE000592F550F97FB992790F997014091FC01B8
:102BF0006091FB01852B0E9426109394F7E09F12B1
:102C0000D4CF8FEFC81AD80A93E0E90EF11CE3E0A5
:102C1000AE0EB11CF0E1CF16D10409F0BECFA3E097
:102C2000B2E089E090E0FC01EF70FF279D012150A8
:102C30003109AF01440F551FE40FF51FBF01600FAD
:102C4000711FFB014181F901408321503109FB01D2
:102C50004081F9014083FB0122812C930196139658
:102C60008931910501F70E949211909101018091A3
:102C70006801913049F48A3F2CF489EF8093680110
:102C80008FEF08C081500AC087313CF086E1809305
:102C9000680181E08093010103C08F5F8093680128
:102CA000E0960FB6F894DEBF0FBECDBFDF91CF9197
:102CB0001F910F91FF90EF90DF90CF90BF90AF905A
:102CC0009F9008951F920F920FB60F9211242F9389
:102CD0003F934F935F936F937F938F939F93AF93A4
:102CE000BF93EF93FF938091F90186958F739EE3D5
:102CF000980F9F73943020F482500E94431423C095
:102D00009AE3980F9F73933020F486500E947914B1
:102D10001AC097E3980F9F73963020F489500E9451
:102D2000A91411C091E3980F9F73963020F48F502F
:102D30000E94011508C09BE2980F9F73933018F40E
:102D400085510E949915FF91EF91BF91AF919F918D
:102D50008F917F916F915F914F913F912F910F9044
:102D60000FBE0F901F9018958091860108959FB710
:102D7000F89410927D019FBF90913502943009F034
:102D800057C09091E9009F703091EC00232F217083
:102D900030FD20E8922B24E02093E9002091EB0005
:102DA00020FF43C02091EE0027FF3FC020917B0110
:102DB000222321F02091E80025FF37C010927B01EB
:102DC00026E03091E80035FD15C0309135023430F1
:102DD00061F53091EB0035FD28C0215021F481E0F0
:102DE00080937B0122C0EFE9FFE03197F1F700C04B
:102DF0000000E7CF8093F1008091E80085FD0AC0D4
:102E00008091E80080FFFCCF8091E8008E7780936E
:102E1000E80006C08FB7F89421E020937D018FBFB2
:102E20009F709093E90080E008959F709093E9006F
:102E30008FEF0895CF93DF9300D01F92CDB7DEB709
:102E40009C0180913502843019F593E099833B838E
:102E50002A839093E9008FEF9091E800815095FDCF
:102E600006C095ED9A95F1F700008111F5CF80919C
:102E7000E80085FF0DC040E050E063E070E0CE0167
:102E800001960E94B7198091E8008E778093E80040
:102E90000F900F900F90DF91CF910895CF93DF9314
:102EA00000D01F92CDB7DEB720913502243021F536
:102EB00022E029839B838A8383E08093E9008FEF5C
:102EC0009091E800815095FD06C095ED9A95F1F737
:102ED00000008111F5CF8091E80085FF0DC040E032
:102EE00050E063E070E0CE0101960E94B719809136
:102EF000E8008E778093E8000F900F900F90DF919D
:102F0000CF9108959C01809135028430F9F482E0DC
:102F10008093E9009FEF8091E800915085FD06C005
:102F200085ED8A95F1F700009111F5CF8091E800C9
:102F300085FF0CC040E050E065E070E0C9010E94F0
:102F4000B7198091E8008E778093E8000895CF93B9
:102F5000DF93EC0180913502843039F581E0809374
:102F6000E9008FEF9091E800815095FD06C095ED46
:102F70009A95F1F700008111F5CF8091E80085FF67
:102F800014C040E050E068E070E0CE010E94B71944
:102F90008091E8008E778093E80088E0FE01AEE73C
:102FA000B1E001900D928A95E1F7DF91CF910895FC
:102FB00083E597E00E945D0980913402811109C088
:102FC0000E94481B0E94A51B8091E20084608093B0
:102FD000E20008958FE497E00E945D0910923402A8
:102FE00008958BE497E00C945D0987E497E00C94D6
:102FF0005D0983E497E00E945D090C94202A2091EA
:103000007C012F5F822F62E30E94AF36992319F073
:1030100020937C01089510927C0180917D0188238A
:1030200071F180913502843041F58091E9008F7013
:103030002091EC00922F917020FD90E8892B94E074
:103040009093E9009091EB0090FF14C09091EE00F6
:1030500097FF10C09091E80095FF03C01092F10017
:10306000F9CF9091E80090FF05C09091E8009E771D
:103070009093E8008F708093E90010927D0108958D
:1030800042E061EC81E00E94C11A42E061EC82E022
:103090000E94C11A42E061EC83E00E94C11A42E240
:1030A00061EC84E00C94C11A80913702833009F4FA
:1030B00053C030F4813071F0823009F48CC008952F
:1030C0008A3009F478C08B3009F45EC0893009F089
:1030D0009AC020C080913602813A09F094C0809154
:1030E000E800877F8093E80080913A0290913B024C
:1030F000892B21F468E08EE791E003C060E080E076
:1031000090E070E00E94021A8091E8008B77809333
:10311000E800089580913602813209F074C08091F0
:103120003A0290913B02892B09F06DC08091E80032
:10313000877F8093E8008091E80082FD05C0809140
:1031400035028111F8CF5FC08091F1008093860134
:103150008091E8008B7753C080913602813A09F064
:1031600052C080913A0290913B02892B09F04BC0EA
:103170008091E800877F8093E8008091E80080FFDD
:10318000FCCF80910C0136C0809136028132D9F596
:1031900080913A0290913B02892BA9F58091E80039
:1031A000877F8093E8000E94F61A8091380280930E
:1031B0000C010C947A2380913602813221F58091A2
:1031C000E800877F8093E8000E94F61A8091390218
:1031D00080938701089580913602813AA1F480910D
:1031E000E800877F8093E8008091E80080FFFCCFB3
:1031F000809187018093F1008091E8008E77809321
:10320000E8000C94F61A089584B7877F84BF0FB640
:10321000F894A89580916000886180936000109276
:1032200060000FBE80E880936100109261000E94F0
:10323000DB1E0E94481B0E94A51B8091E200846057
:103240008093E20087EB96E10E94A22978940E9485
:103250002F1E0E94DD1E82E091E00E944A1E82E342
:1032600097E00E945D0980913502853089F48EE2F5
:1032700097E00E945D090E94DF2980913302882334
:1032800091F30E940F2A882371F30E94A119EBCFBA
:103290000E94051FE8CF292F332723303105C9F0BD
:1032A00060F42130310581F02230310509F041C050
:1032B00084E790E025E737E040C021323105E1F0B6
:1032C0002232310531F135C082E190E029EE37E05C
:1032D00034C099278130910549F028F0029749F5CB
:1032E000E7E5F7E005C0E1E7F7E002C0E7E6F7E071
:1032F000849190E09F0121C06430D8F4E62FF0E083
:10330000EE0FFF1FEC5CFE4F2081318189E090E0E1
:1033100014C0643070F470E0FB01EE0FFF1FE45D39
:10332000FE4F20813181FB01E85DFE4F808190E0FE
:1033300004C080E090E020E030E0FA013183208397
:10334000089580E189BD82E189BD09B400FEFDCF09
:103350008091D8008F7D8093D8008091E0008260BA
:103360008093E0008091E00081FDFCCF0895CF9232
:10337000DF92EF92FF920F931F93CF93DF93EC01B5
:103380008B016A010E94151B811133C0C114D10445
:1033900039F0F60180819181081B190BC80FD91FE4
:1033A000E12CF12C0115110519F18091E80085FD42
:1033B00016C08091E8008E778093E800C114D10494
:1033C00049F0F60180819181E80EF91EF182E082D8
:1033D00085E00FC00E94151B882321F30AC0899144
:1033E0008093F10001501109FFEFEF1AFF0ADACFC5
:1033F00080E0DF91CF911F910F91FF90EF90DF90D0
:10340000CF90089520913C0230913D022617370756
:1034100048F06115710539F42091E8002E7720936A
:10342000E80001C0B901FC0120E06115710579F1E6
:10343000809135028823F1F18530F1F18091E80027
:1034400083FD3CC08091E80082FD2EC08091E800A1
:1034500080FFEBCF2091F3008091F20090E0922B5F
:103460006115710551F08830910538F42191209350
:10347000F100615071090196F3CF21E0089709F03E
:1034800020E08091E8008E778093E800CECF211174
:10349000CFCF0AC080913502882361F0853061F07A
:1034A0008091E80083FD0AC08091E80082FFF2CF9E
:1034B00080E0089582E0089583E0089581E0089512
:1034C00020913C0230913D022617370748F06115E4
:1034D000710539F42091E8002E772093E80001C0AF
:1034E000B901FC0120E06115710591F1809135026F
:1034F000882309F440C0853009F43FC08091E8007A
:1035000083FD3DC08091E80082FD2FC08091E800DE
:1035100080FFE9CF2091F3008091F20090E0922BA0
:103520006115710559F08830910540F4249120937C
:10353000F1003196615071090196F2CF21E00897B0
:1035400009F020E08091E8008E778093E800CBCFEF
:103550002111CCCF0AC080913502882361F08530DB
:1035600061F08091E80083FD0AC08091E80082FF4D
:10357000F2CF80E0089582E0089583E0089581E02D
:103580000895982F973068F59093E900981739F0CF
:103590007091EC002091ED005091F00003C0242FB9
:1035A000762F50E021FD02C09F5FECCF3091EB0001
:1035B0003E7F3093EB003091ED003D7F3093ED0086
:1035C0003091EB0031603093EB007093EC0020936E
:1035D000ED005093F0002091EE0027FDE5CF80E054
:1035E00008958F708093E90081E0089580913602FC
:1035F00087FF11C08091E80082FD05C080913502EF
:103600008111F8CF11C08091E8008B770BC08091B9
:103610003502882349F08091E80080FFF8CF80913F
:10362000E8008E778093E80008952091E4003091BF
:10363000E50095E64091EC00842F817040FF23C0A7
:103640008091E80080FD1DC080913502882399F0AB
:10365000853099F08091EB0085FD11C04091E40028
:103660005091E5002417350729F3915011F09A0184
:10367000E1CF84E0089582E0089583E0089581E039
:10368000089580E008954091E80042FFDDCF08955D
:103690000E94B61B0E94BE1BE0EEF0E080818160BC
:1036A0008083E8EDF0E080818F77808319BCA7EDFF
:1036B000B0E08C918E7F8C9380818F7E808310927E
:1036C000340208950F931F93CF93DF930E94B61B8C
:1036D0000E94BE1BC8EDD0E088818F7788838881E7
:1036E0008068888388818F7D888319BC1092350219
:1036F00010923102109233021092320200EE10E06A
:10370000F80180818B7F808388818160888342E09B
:1037100060E080E00E94C11AE1EEF0E080818E7FDF
:103720008083E2EEF0E08081816080838081886028
:103730008083F80180818E7F808388818061888387
:10374000DF91CF911F910F910895E8EDF0E0808116
:103750008F7E8083E7EDF0E080818160808384E06C
:1037600082BF81E0809334020C94621BE8EDF0E0AC
:1037700080818E7F80831092E20008951092DA009B
:103780001092E10008951F920F920FB60F9211242C
:103790002F933F934F935F936F937F938F939F9359
:1037A000AF93BF93EF93FF938091E10082FF0BC033
:1037B0008091E20082FF07C08091E1008B7F8093BF
:1037C000E1000E94FF178091DA0080FF1FC0809106
:1037D000D80080FF1BC08091DA008E7F8093DA00D2
:1037E0008091D90080FF0DC080E189BD82E189BD53
:1037F00009B400FEFDCF81E0809335020E94D81706
:1038000005C019BC109235020E94EA178091E100B0
:1038100080FF19C08091E20080FF15C08091E20016
:103820008E7F8093E2008091E20080618093E200CD
:103830008091D80080628093D80019BC85E0809385
:1038400035020E94F5178091E10084FF30C080911D
:10385000E20084FF2CC080E189BD82E189BD09B40A
:1038600000FEFDCF8091D8008F7D8093D80080919D
:10387000E1008F7E8093E1008091E2008F7E809353
:10388000E2008091E20081608093E2008091310249
:10389000882311F084E007C08091E30087FD02C017
:1038A00081E001C083E0809335020E94F917809186
:1038B000E10083FF29C08091E20083FF25C0809151
:1038C000E100877F8093E10082E0809335021092CF
:1038D00031028091E1008E7F8093E1008091E200CF
:1038E0008E7F8093E2008091E20080618093E2000D
:1038F00042E060E080E00E94C11A8091F0008860A0
:103900008093F0000E94F117FF91EF91BF91AF916A
:103910009F918F917F916F915F914F913F912F91E7
:103920000F900FBE0F901F9018951F920F920FB619
:103930000F9211242F933F934F935F936F937F9335
:103940008F939F93AF93BF93CF93DF93EF93FF93A7
:10395000C091E900CF708091EC00D82FD17080FD2C
:10396000D0E81092E9008091F000877F8093F0000A
:1039700078940E94D91C1092E9008091F000886030
:103980008093F000CD2BCF70C093E900FF91EF91B1
:10399000DF91CF91BF91AF919F918F917F916F9167
:1039A0005F914F913F912F910F900FBE0F901F90FD
:1039B00018951F93CF93DF93CDB7DEB7AA970FB6B5
:1039C000F894DEBF0FBECDBFE6E3F2E08091F100D8
:1039D000819322E0EE33F207C9F70E9454188091D8
:1039E000E80083FF24C18091360290913702492F6D
:1039F00050E04A30510508F01AC1FA01E15AFF4F70
:103A00000C94E336803881F0823809F010C180913F
:103A10003A028F708093E9008091EB0085FB882744
:103A200080F91092E90006C0809132029091330231
:103A3000911182609091E800977F9093E8008093C5
:103A4000F1001092F100C8C0282F2D7F09F0EFC0BF
:103A5000882319F0823061F0EAC080913802813009
:103A600009F0E5C0933009F080E0809333022BC069
:103A700080913802811127C080913A028F7009F439
:103A8000D6C08093E9002091EB0020FF1CC093304A
:103A900021F48091EB00806214C09091EB00906162
:103AA0009093EB0021E030E0A90102C0440F551FC4
:103AB0008A95E2F74093EA001092EA008091EB00C9
:103AC00088608093EB001092E9008091E800877F86
:103AD00086C08111ACC0109138021F778091E3003D
:103AE0008078812B8093E3008091E800877F80932A
:103AF000E8000E94F61A8091E80080FFFCCF8091D8
:103B0000E30080688093E300111102C082E001C0ED
:103B100083E0809335028BC08058823008F087C0E4
:103B200080913802909139028C3D53E0950779F5E8
:103B300083E08A838AE289834FB7F894DE01139683
:103B400020E03EE051E2E32FF0E050935700E49193
:103B500020FF03C0E295EF703F5FEF708E2F90E083
:103B6000EA3010F0C79601C0C0968D939D932F5FE9
:103B7000243149F74FBF8091E800877F8093E800A8
:103B80006AE270E0CE0101960E94021A14C0AE01F2
:103B90004F5F5F4F60913A020E944B19BC01892B25
:103BA00009F445C09091E800977F9093E8008981DF
:103BB0009A810E94601A8091E8008B778093E800D8
:103BC00036C08038A1F58091E800877F8093E800B7
:103BD000809131028093F1008091E8008E7780938C
:103BE000E8000E94F61A23C0811121C0809138029A
:103BF0009091390299270297D4F48091E800877F49
:103C00008093E80080913802809331020E94F61A76
:103C100080913102811106C08091E30087FD02C0CE
:103C200081E001C084E0809335020E9440188091B9
:103C3000E80083FF0AC08091E800877F8093E80056
:103C40008091EB0080628093EB00AA960FB6F89407
:103C5000DEBF0FBECDBFDF91CF911F910895CF93EF
:103C6000809135028823A1F0C091E900CF70909136
:103C7000EC00892F817090FD80E8C82B1092E9003C
:103C80008091E80083FD0E94D91CCF70C093E900A9
:103C9000CF91089590938D0180938C010895E091C8
:103CA0008C01F0918D01309721F00190F081E02D91
:103CB000099480E00895EF92FF921F93CF93DF93D2
:103CC000F82E192FE0918C01F0918D013097A9F118
:103CD0000280F381E02D09958091E60182FF2DC0DD
:103CE00080FF04C086EE98E00E945D09CF2DD12FA1
:103CF00018E080EEE82E88E0F82E8091E60180FF43
:103D00000BC088811F928F93FF92EF920E94F60959
:103D10000F900F900F900F90115021961111EDCF31
:103D20008091E60180FF09C08EED98E0DF91CF9190
:103D30001F91FF90EF900C945D09DF91CF911F913F
:103D4000FF90EF900895E0918C01F0918D013097F4
:103D500021F00480F581E02D0994089520918A01D5
:103D600030918B012817390771F090938B01809364
:103D70008A01E0918C01F0918D01309721F006804D
:103D8000F781E02D099408952091880130918901EF
:103D90002817390771F09093890180938801E09189
:103DA0008C01F0918D01309721F00084F185E02D98
:103DB0000994089508950C94DA1E0E94542A0E94D2
:103DC000D00E0E94222B0E949B340C94A213CF93FE
:103DD000DF931F92CDB7DEB79091E60192FF10C03E
:103DE00090FF0EC01F928F9328EF38E03F932F93E0
:103DF00089830E94F6090F900F900F900F90898190
:103E00000F90DF91CF910C947C0E4F925F927F9236
:103E10008F929F92AF92BF92CF92DF92EF92FF92DA
:103E20000F931F93CF93DF9300D000D01F92CDB795
:103E3000DEB70E94150F99E9C92E91E0D92E04E052
:103E400010E0AA24A394B12C702E802F0E94980F0A
:103E50004C01F601529042906F01482659264114B8
:103E60005104A1F40150110978F78FEF89838A83F7
:103E70001B820E945D2A8160782F9D838C834981FB
:103E80005A816B818D810E94B51F38C08091E601F7
:103E900081FD0E94A10F2DE030E07501022E02C0CD
:103EA000EE0CFF1C0A94E2F7C2018E219F21892BA0
:103EB00009F129837A828E209F2091E0892809F4D4
:103EC00090E09B830E945D2A8160782F9D838C8384
:103ED00049815A816B818D810E94B51F000F111F8E
:103EE000F801E157FE4F80819181E826F926F182A1
:103EF000E08204C02150310980F6B4CF0E949D2E8B
:103F00000E944F1E90918E018917D1F00E944F1E82
:103F100080938E010F900F900F900F900F90DF9174
:103F2000CF911F910F91FF90EF90DF90CF90BF90B6
:103F3000AF909F908F907F905F904F900C94E71E72
:103F40000F900F900F900F900F90DF91CF911F91D6
:103F50000F91FF90EF90DF90CF90BF90AF909F9028
:103F60008F907F905F904F900895CF93DF93CDB760
:103F7000DEB72B970FB6F894DEBF0FBECDBF4F83D1
:103F8000588769877A878B87DE01119686E0FD0165
:103F900011928A95E9F785E0FE01379601900D921E
:103FA0008A95E1F749815A816B817C818D819E815F
:103FB0000E9412262B960FB6F894DEBF0FBECDBF1F
:103FC000DF91CF910895CF93C82F882309F4C1C002
:103FD000823859F40E944F1E81FDBBC089E30E94C4
:103FE000ED280E94732989E30CC0833879F40E947C
:103FF0004F1E80FDAEC083E50E94ED280E9473290C
:1040000083E50E940A29CF910C947329843859F4CE
:104010000E944F1E82FD9DC087E40E94ED280E94F1
:10402000732987E4EECF8CEF8C0F813A48F48C2F04
:104030000E94463381118DC08C2F0E94ED28E3CF62
:1040400080E28C0F883048F4C77081E001C0880F8F
:10405000CA95EAF70E942C29D6CF8BE58C0F8330C6
:1040600078F4C53A29F0C63A31F083E890E005C00B
:1040700081E890E002C082E890E0CF910C94AE1EFF
:1040800088E58C0F833108F064C0C83A39F1C93A29
:1040900041F1CA3A49F1CB3A51F1CC3A59F1CD3A12
:1040A00061F1C03B69F1CE3A71F1CF3A79F1C13B90
:1040B00081F1C23B89F1C33B91F1C43B99F1C53B0E
:1040C000A1F1C63BA9F1C73BB1F1C83BB9F1C93B6E
:1040D000C1F1CA3BC9F180E090E038C082EE90E0C7
:1040E00035C089EE90E032C08AEE90E02FC085EBBB
:1040F00090E02CC086EB90E029C087EB90E026C0D2
:104100008CEC90E023C08DEC90E020C083E891E03F
:104110001DC08AE891E01AC082E991E017C084E9E5
:1041200091E014C081E292E011C083E292E00EC0FF
:1041300084E292E00BC085E292E008C086E292E061
:1041400005C087E292E002C08AE292E0CF910C942F
:10415000C41ECF910895882309F44BC0823859F4C6
:104160000E944F1E81FF45C089E30E94ED280E94F6
:10417000732989E30CC0833871F40E944F1E80FFBD
:1041800038C083E50E94ED280E94732983E50E94D0
:104190000A290C947329843859F40E944F1E82FF17
:1041A00028C087E40E94ED280E94732987E4EFCF9E
:1041B0009CEF980F913A58F390E2980F983050F492
:1041C000877091E001C0990F8A95EAF7892F0E94C4
:1041D0003229DFCF9BE5980F933020F480E090E008
:1041E0000C94AE1E885A833120F480E090E00C9449
:1041F000C41E0895882321F00E942C290C94732951
:104200000895882321F00E9432290C94732908957F
:104210008F929F92AF92BF92CF92DF92EF92FF92D6
:104220000F931F93CF93DF931F92CDB7DEB77C011F
:10423000C62E472FFC01058102950F7012811123B4
:1042400021F079830E944929498149830E94E62807
:104250004981882381F0112371F080E28C0D883030
:1042600050F082E00E94CF280E94E62891E0D82EEC
:10427000D926498101C0D12CE42FE295EF708E2F11
:1042800090E0FC01E759FF4F0C94E336842F807FC8
:10429000042F0F70882311F00295007F112389F0FD
:1042A000002309F488C180E28C0D883020F4802F2F
:1042B0000E942C2903C0802F0E943C290E94732950
:1042C0007AC18C2D0E94AB20002309F4AAC180E2A0
:1042D0008C0D883020F4802F0E94322903C0802F5B
:1042E0000E9442290E9473299CC1942F907F842FA1
:1042F0008F70903211F08295807FCC2021F0F1E018
:10430000CF16A1F01DC0112339F0002319F101309F
:1043100009F50E945C2985C1002319F0013009F4D8
:1043200080C189830E945F29898103C1112321F003
:10433000063008F076C10EC0053008F072C1F9C031
:10434000112359F0002331F0F701958190FF33C11B
:104350009F7095830E94FA2064C1002309F4E9C08C
:1043600030C1842F86958695837019F0813061F075
:1043700058C1112321F08C2D942F937002C080E03E
:1043800090E00E94AE1E4DC1112321F08C2D942F80
:10439000937002C080E090E00E94C41E42C18C2D48
:1043A000112319F00E94232D02C00E948B2D0E9420
:1043B000102E37C1842F837009F04DC0111131C107
:1043C0002C2D229526952770220F220F6C2D6F70B1
:1043D000862F90E0A0E0B0E04C015D01022E04C009
:1043E000880C991CAA1CBB1C0A94D2F7C4FE12C0EC
:1043F0008FE090E0A0E0B0E004C0880F991FAA1FF2
:10440000BB1F2A95D2F7BC01CD01609570958095B0
:10441000909503C060E070E0CB01242F269526958F
:104420002370223051F080F4682979298A299B2948
:10443000213071F00E945B27F4C0682979298A290C
:104440009B290E947727EDC00E945B27C501B4011C
:104450000E943F27E6C0112319F0842F817001C00C
:104460008695882309F4DDC02C2D2295269527708A
:10447000220F220F6C2D6F70862F90E0A0E0B0E02D
:104480004C015D01022E04C0880C991CAA1CBB1CA7
:104490000A94D2F7C4FE12C08FE090E0A0E0B0E032
:1044A00004C0880F991FAA1FBB1F2A95D2F7BC0111
:1044B000CD01609570958095909503C060E070E0A7
:1044C000CB01242F269526952370223051F080F4BD
:1044D000682979298A299B29213071F00E94352881
:1044E000A0C0682979298A299B290E94512899C04E
:1044F0000E943528C501B4010E94192892C08C2D54
:1045000090E0FC01E05EF109E531F10508F04FC0F3
:10451000E758FF4F0C94E3360C2D0F70842F8F71EA
:10452000112321F00E94B227802F14CF0E94D3279D
:10453000802F0E94012175C0112341F0053008F041
:1045400070C0842F8F710E94F8276BC0063008F06E
:1045500068C0F7CF112339F0842F8F710E94B227E2
:1045600060C01123C9F3842F8F710E94D32759C0D3
:10457000112329F0842F8F710E949D2752C00E9421
:1045800093274FC0112351F0142F1F71812F0E94C8
:10459000B22763E0812F0E94C62843C081E00E94B9
:1045A000CF280230F0F182E00E94CF283AC01123D8
:1045B00031F0002389F28C2D0E94E31F32C00023CA
:1045C00091F28C2D0E94AB202CC04F706C2DC70136
:1045D0000E94EA0D0E94B72624C0111122C0842F28
:1045E0008F70823099F038F4882369F08130C9F4F3
:1045F0000E94D63416C0833061F0843091F48C2D43
:104600000E9461350EC00E94AC340BC00E9405357B
:1046100008C00E942B3505C04F706C2DC7010E9449
:10462000490ADD20F1F00E94C22880FD1AC0F7017E
:1046300012820E94BC280E94B227C7010E943F2319
:104640000E94BC280F90DF91CF911F910F91FF9096
:10465000EF90DF90CF90BF90AF909F908F900C9491
:10466000D3270F90DF91CF911F910F91FF90EF9083
:10467000DF90CF90BF90AF909F908F9008950F9351
:104680001F93CF93DF93EC018B819C81892BC9F021
:1046900089818F3F19F488818F3F99F0CE010E9464
:1046A000B40A882371F0688179818A810E94B828D0
:1046B0008C010E946D280E943427B801CE010E940F
:1046C0000821DF91CF911F910F9108950E944929F0
:1046D0000E9459290E941B290E9473290E94422F7F
:1046E0000E94102E80E090E00E94AE1E80E090E0DC
:1046F0000C94C41E0E9439290C9466230E94AD2894
:10470000292F22952F702C3030F42A3048F4225073
:10471000223098F405C02C3061F02F3051F00DC0DC
:10472000803F69F018F4803E40F409C0843F29F4CA
:1047300006C093FB882780F9089580E0089581E002
:104740000895CF93DF9300D000D01F92CDB7DEB78E
:104750000F900F900F900F900F90DF91CF910895D1
:10476000CF93DF9300D000D000D0CDB7DEB7269630
:104770000FB6F894DEBF0FBECDBFDF91CF91089585
:104780001F93CF93DF93C091990116E080919A0116
:10479000C81799F0D0E01C9FF0011D9FF00D112467
:1047A000E556FE4F408151816281738184819581FC
:1047B0000E94B0232196C770E9CFDF91CF911F915E
:1047C00008954091CB015091CC016091CD01709141
:1047D000CE018091CF019091D0010C94B0238091B3
:1047E000D00182958F7009F054C08091CD0188234B
:1047F00009F44FC080919901A0919A014091CE0196
:104800005091CF016091CB017091CC01B6E08A1735
:1048100009F43FC090E041155105C1F17F3F11F40B
:104820006F3FA1F1B89FF001B99FF00D1124E5563B
:10483000FE4F218127132AC02081261327C0228101
:10484000211124C0238134812417350710F421500D
:104850003109241B350B283C3105C0F42091D001CF
:104860002F7020612093D00126E0289FF001299F1E
:10487000F00D1124E056FE4F80818F70806180839F
:104880008BEC91E00E943F230C94C023019687702B
:10489000BECF0895CF92DF92EF92FF920F931F93B6
:1048A000CF93DF93CDB7DEB762970FB6F894DEBF34
:1048B0000FBECDBF8C0185E0F801DE011D96019091
:1048C0000D928A95E1F7D8014C9111965C91119760
:1048D00012966C918091CE019091CF01009709F4CE
:1048E00075C13091CB017091CC017F3F19F43F3FEE
:1048F00009F46CC1F801C380D480E090CD01EE20B2
:1049000009F4BEC02091D001C816D90628F0D601FE
:10491000A81BB90BCD0104C0809590958C0D9D1DF1
:10492000FF24F394883C910578F0F12C207F09F066
:10493000C4C07C2DD98AC88A89890E94A1238BECA6
:1049400091E00E943F23AFC0822F807F09F045C0D5
:10495000571313C0431311C061110FC02F70206192
:104960002093D0010E94E1238BEC91E00E943F2331
:104970008091D001F80185832EC0CD2819F15F3FC9
:1049800011F44F3FF9F0F62E61111CC0809199018E
:1049900020919A0136E0821709F45BC090E0389FBD
:1049A000F001399FF00D1124E556FE4F7181571328
:1049B00006C07081471303C07281711103C0019654
:1049C0008770E9CFF62E662309F41CC18091D001CF
:1049D00081608093D001F12C15C1571309C0431396
:1049E00007C0611105C08091D001F8018583C8C05E
:1049F0004D875E878D859E856A8B0E947E236A899E
:104A00008823D1F16623C1F12091D001822F8295B4
:104A10008F7090E0029774F08091CB019091CC015F
:104A200098878F831986DB86CA862C87CE010796E6
:104A30000E943F2386E0F801ABECB1E001900D92BB
:104A40008A95E1F70E94EF230E94E123FF24F3946B
:104A5000D9C04D875E878D859E850E94AD28292F00
:104A600022952F70223008F0C1C09F7009F0BBC0A2
:104A7000805E883008F4C6C0C8010E943F23E6CF9C
:104A8000C816D90608F453C0F601E81BF90BCF018C
:104A9000883C910508F450C0F12C7C2DD98AC88A35
:104AA00089890E94A123EBECF1E086E0DF011D92F1
:104AB0008A95E9F70E94E123A5C0571314C0431358
:104AC00012C0611110C08091D001F8018583C80126
:104AD0000E943F2386E0EBECF1E0DF011D928A9516
:104AE000E9F7FE2C8FC04D875E878D859E856A8B8A
:104AF0000E947E236A89882309F4BECF662309F4C5
:104B0000BBCF2091D001822F82958F7090E00297C9
:104B10000CF490CF8091CB019091CC019A83898342
:104B20001B82DD82CC822E83CE01019681CF8095BF
:104B300090958C0D9D1DACCFF62E662309F49CCF6D
:104B4000571333C0431331C02091D00120FD24C03E
:104B5000822F82958F70482F50E041155105E1F06A
:104B6000D80115962C9315974F30510549F08F5F5A
:104B7000982F9295907F822F8F70892B15968C930A
:104B8000C8010E943F2386E0F801ABECB1E0019040
:104B90000D928A95E1F78ECF86E0F801ABECB1E09B
:104BA00001900D928A95E1F72DC04D875E878D8526
:104BB0009E850E947E2381113DCF8091D00181602E
:104BC0008093D001C8010E943F231CC0662309F4D2
:104BD00053CF4D875E878D859E850E947E238823D7
:104BE00009F44ACF27CF811143CF0CC0243008F0FD
:104BF00043CF9F7009F43CCFD80115969C91907FCC
:104C000009F036CF8F2D62960FB6F894DEBF0FBE37
:104C1000CDBFDF91CF911F910F91FF90EF90DF906B
:104C2000CF9008951F93CF93DF93CDB7DEB72C9726
:104C30000FB6F894DEBF0FBECDBF4F83588769878C
:104C40007A878B879C87CE0107960E944A24882307
:104C500071F08A859B85892B09F441C088858F3F37
:104C600009F065C08F818F3F09F061C038C086E0D0
:104C7000FE013796DE01119601900D928A95E1F7BB
:104C80006A857B856115710551F1FF81E885EF3FEC
:104C900011F4FF3F21F120919A0130E0C901019602
:104CA000877099274091990150E08417950709F47E
:104CB00047C0F983EA837D836C8396E0929FD0019D
:104CC000939FB00D1124A556BE4FFE013196019061
:104CD0000D929A95E1F780939A010E94C02316E005
:104CE0008091990190919A018917B9F1189FC0019B
:104CF000112485569E4F0E944A24882371F1E09129
:104D000099011E9FF0011124E556FE4F408151810B
:104D100062817381848195810E94B0238091990181
:104D200090E001968770992780939901D9CF4F81A0
:104D3000588569857A858B859C850E94B023CFCF65
:104D40000E947A2310929A0110929901EBECF1E003
:104D500086E0DF011D928A95E9F72C960FB6F8944C
:104D6000DEBF0FBECDBFDF91CF911F910895EF92AF
:104D7000FF920F931F93CF93DF938C01892B09F43C
:104D80006CC0F12CEE24E394E8012196F8018491A3
:104D9000843740F4843008F051C0813081F0823093
:104DA00019F15BC0853709F444C0A8F19CE7980F5E
:104DB000903708F052C08F770E94AB2041C00E5F41
:104DC0001F4FFE01849190E2980F983050F4877045
:104DD000FE2D01C0FF0F8A95EAF78F2F0E944C2904
:104DE00014C00E94E31F2DC00E5F1F4FFE0184916F
:104DF00090E2980F983060F48770FE2D01C0FF0F8D
:104E00008A95EAF78F2F0E9452290E94732919C0B0
:104E10000E94AB2016C00E5F1F4FFE01C491CC2331
:104E200081F08FE99FE00197F1F700C00000C150C9
:104E3000F6CF0E5F1F4FFE01F49003C00E94E31FE8
:104E40008E018F2D882309F49FCFEFE9FFE0319782
:104E5000F1F700C000008150F5CFDF91CF911F9195
:104E60000F91FF90EF90089508956093D50170938E
:104E7000D6018093D7019093D8010C9466230F93A9
:104E80001F930091D5011091D6012091D701309147
:104E9000D801DC01CB01802B912BA22BB32B80936B
:104EA000D5019093D601A093D701B093D8011F915B
:104EB0000F910C9466230F931F930091D5011091CD
:104EC000D6012091D7013091D801DC01CB0180239C
:104ED0009123A223B3238093D5019093D601A0936D
:104EE000D701B093D8011F910F910C9466230F93B3
:104EF0001F930091D5011091D6012091D7013091D7
:104F0000D801DC01CB0180279127A227B32780930A
:104F1000D5019093D601A093D701B093D8011F91EA
:104F20000F910C9466231092D1011092D20110922D
:104F3000D3011092D4010C94662341E050E060E06C
:104F400070E004C0440F551F661F771F8A95D2F783
:104F50004093D1015093D2016093D3017093D40157
:104F60000C94662341E050E060E070E004C0440F20
:104F7000551F661F771F8A95D2F78091D1019091B6
:104F8000D201A091D301B091D401482B592B6A2BA7
:104F90007B2B4093D1015093D2016093D301709346
:104FA000D4010C94662341E050E060E070E004C05E
:104FB000440F551F661F771F8A95D2F7409550956D
:104FC000609570958091D1019091D201A091D3010B
:104FD000B091D401482359236A237B234093D10104
:104FE0005093D2016093D3017093D4010C94662343
:104FF00041E050E060E070E004C0440F551F661FC0
:10500000771F8A95D2F78091D1019091D201A0911A
:10501000D301B091D401482759276A277B274093B1
:10502000D1015093D2016093D3017093D4010C94B9
:1050300066230F931F930091D1011091D20120910B
:10504000D3013091D401DC01CB01802B912BA22B19
:10505000B32B8093D1019093D201A093D301B0934D
:10506000D4011F910F910C9466230F931F9300910D
:10507000D1011091D2012091D3013091D401DC01F2
:10508000CB0180239123A223B3238093D10190935A
:10509000D201A093D301B093D4011F910F910C942E
:1050A00066230F931F930091D1011091D20120919B
:1050B000D3013091D401DC01CB0180279127A227B5
:1050C000B3278093D1019093D201A093D301B093E1
:1050D000D4011F910F910C9466230895CF92DF9213
:1050E000EF92FF920F931F93CF93DF938C01C090A9
:1050F000D101D090D201E090D301F090D401809101
:10510000D5019091D601A091D701B091D801C82ABC
:10511000D92AEA2AFB2ACFE1D0E0D701C6010C2E1A
:1051200004C0B695A795979587950A94D2F780FD08
:1051300004C0219790F780E007C0B8018C2F0E942F
:10514000470C0197B1F38C2FDF91CF911F910F91F5
:10515000FF90EF90DF90CF900895CF93DF93EC0115
:105160000E946E28BE010E94470CDF91CF910895E6
:10517000CB010E94AD2808958091D9018595859530
:10518000859508958091D9018770089598E0899F49
:1051900090011124262B2093D9010C94B227209141
:1051A000D901809582238093D901982F977069F453
:1051B00030E0482F082E000C550B2417350729F036
:1051C0008595859585950C94D32708959091D9015F
:1051D000977081E009F480E0089520910D013091ED
:1051E0000E01F90132969FEF40E05191851789F049
:1051F0009F3F19F4511101C0942F4F5F4630A9F71A
:105200009F3F39F0F901E90FF11D97FDFA9582836F
:105210000895089520910D0130910E01F901329603
:10522000285F3F4F9081891301C010823196E217A9
:10523000F307C1F7089581E090E0E0910D01F0914E
:105240000E01E80FF91F1082019688309105A9F729
:1052500008958091E50108959091E501892B80934F
:10526000E501089580959091E50189238093E501FA
:1052700008951092E50108959091E401892B80939F
:10528000E401089580959091E40189238093E401DD
:1052900008951092E40108959091E301892B809381
:1052A000E301089580959091E30189238093E301C0
:1052B00008951092E30108958093DA010895109201
:1052C000DA01089580910D0190910E01FC01319653
:1052D0009C01285F3F4F80E0919191118F5FE21711
:1052E000F307D1F70895E0910D01F0910E0180913F
:1052F000E5018083E0910D01F0910E019081809194
:10530000E401892B8083E0910D01F0910E019081E1
:105310008091E301892B80838091DA01882361F0F9
:10532000E0910D01F0910E019081892B80830E9404
:10533000622981111092DA0180910D0190910E0184
:105340000C945B1E9093470180934601089520E0E2
:10535000009739F0AC0141505109842395232F5F08
:10536000F7CF822F08958295982F937344E0949FEE
:10537000900111248C7C86958695282B822F85752B
:10538000880F2A7A2695822B08951F93CF93DF9357
:105390001F92CDB7DEB799830E94B329182F998148
:1053A000892F0E94B329212F30E0322F2227A90113
:1053B000482BCA010F90DF91CF911F9108958091E2
:1053C0003502843051F11092E70120E488E190E049
:1053D0000FB6F894A895809360000FBE20936000EC
:1053E00080E00E941F0A80E00E947C0E83B7817FCC
:1053F000846083BF83B7816083BF7894889583B7C7
:105400008E7F83BF0FB6F894A89580916000886165
:1054100080936000109260000FBE0895089580E0B0
:105420000E941F0A0E94920E0E94150F0E940E2ACF
:105430000E94DB0F91E0811101C090E0892F089557
:105440000E947A2380E00E941F0A0E949B340E94DF
:105450004F1E0C947C0E1F920F920FB60F921124C8
:105460008F939F93AF93BF938091E701811113C0F6
:105470008091E8019091E901A091EA01B091EB01DE
:105480004196A11DB11D8093E8019093E901A0937D
:10549000EA01B093EB01BF91AF919F918F910F9073
:1054A0000FBE0F901F90189582E084BD93E095BDCC
:1054B0009AEF97BD80936E0008952FB7F89480916E
:1054C000E8019091E901A091EA01B091EB012FBFB1
:1054D0000895CF92DF92EF92FF920F931F932FB711
:1054E000F8944091E8015091E9016091EA017091CE
:1054F000EB012FBF6A017B01EE24FF248C0120E029
:1055000030E0C016D106E206F30610F4415051090E
:105510009A01281B390BC9011F910F91FF90EF9041
:10552000DF90CF9008951F920F920FB60F92112423
:105530008F939F93AF93BF938091E8019091E9017E
:10554000A091EA01B091EB010196A11DB11D8093DC
:10555000E8019093E901A093EA01B093EB01BF91B8
:10556000AF919F918F910F900FBE0F901F90189544
:105570000E94481BF8942FEF87EA91E62150804063
:105580009040E1F700C0000087E090EBDC018093E1
:105590003F0290934002A0934102B09342029CE0EC
:1055A00088E10FB6F894A895809360000FBE9093A1
:1055B0006000FFCFAF92BF92CF92DF92EF92FF9247
:1055C0000F931F93CF93C4E0CC24C394D12CE82E27
:1055D000F12C8C2F0E94980F5C010DE010E0C601A9
:1055E000002E02C0880F991F0A94E2F78A219B219E
:1055F000892B51F0602F7C2F80E00E94ED0DE81682
:10560000F90611F481E006C00150110940F7C150BC
:1056100000F780E0CF911F910F91FF90EF90DF9006
:10562000CF90BF90AF900895CF93C82F8CE20E9487
:10563000DA2A882321F08C2FCF910C94DA2A80E08B
:10564000CF910895CF930E94722C811102C00E94C5
:10565000532C88E199E00E945D09C5E6C15049F0EC
:105660000E94150F8FE39CE90197F1F700C000003D
:10567000F5CF81E199E00E945D0989E20E94142B37
:1056800081110FC18AE20E94142B81110E94532CB8
:1056900085E00E94142B81110E94B82A0E947D2C63
:1056A0008093E60187E00E94142B8823A9F18BE107
:1056B0000E94142B882351F08091E60181FB222760
:1056C00020F991E0922790FB81F90EC08EE00E94B4
:1056D000142B882361F08091E60182FB222720F9B8
:1056E00091E0922790FB82F98093E60115C080E15A
:1056F0000E94142B9091E601882341F093FB22270E
:1057000020F981E0822780FB93F904C0892F8095DE
:1057100080FB90F99093E6018091E6010E94812C34
:105720000E948F2C90E09093F8018093F70180EE17
:105730000E94142B882341F08091F701982F9095B7
:1057400090FB80F98093F70189E30E94142B882352
:1057500059F08091F70181FB222720F991E09227EF
:1057600090FB81F98093F70182EE0E94142B88232D
:1057700059F08091F70182FB222720F991E09227CE
:1057800090FB82F98093F70186EE0E94142B882308
:1057900059F08091F70183FB222720F991E09227AD
:1057A00090FB83F98093F70183EE0E94142B8823EA
:1057B00059F08091F70184FB222720F991E092278C
:1057C00090FB84F98093F70185E30E94142B8823D2
:1057D00059F08091F70185FB222720F991E092276B
:1057E00090FB85F98093F70181E30E94142B8823B5
:1057F00059F08091F70186FB222720F991E092274A
:1058000090FB86F98093F70181E10E94142B882395
:1058100059F08091F70187FB222720F991E0922728
:1058200090FB87F98093F7018091F7010E94932CF8
:1058300087E20E94142BC82F8EE10E94142B811145
:10584000C2608FE10E94142B8111C46080E20E942B
:10585000142B8111C86081E20E94142B8111C06158
:1058600082E20E94142B8111C06283E20E94142BF9
:105870008111C06484E20E94142B882311F0C06857
:1058800002C0CC2329F08C2F0E948A2C6C2F03C0DD
:105890000E94862C682F70E080E090E0CF910C94FD
:1058A0003527CF9108956DEE7EEF80E090E00E9465
:1058B0001B3760E082E090E00E94FD3660E083E00C
:1058C00090E00E94FD3660E084E090E00E94FD36AA
:1058D00060E085E090E00E94FD3660E086E090E0C8
:1058E0000C94FD3680E090E00E94F73621E08D3E7A
:1058F0009E4F09F020E0822F089582E090E00C9402
:10590000E936682F82E090E00C94FD3683E090E069
:105910000C94E936682F83E090E00C94FD3684E027
:1059200090E00C94E936682F84E090E00C94FD360A
:1059300086E090E00C94E936682F86E090E00C94C5
:10594000FD368091EE0180FF0BC06091120185E071
:10595000689FB001112475956795759567952BC063
:1059600081FF09C06091120185E0689FB001112498
:105970007595679520C082FF07C06091120185E090
:10598000689FB001112417C09091EF019923D1F0C5
:1059900060911101961788F72091120185E0289FE8
:1059A00090011124929FA001939F500D112470E04B
:1059B000CA010E94CF366038710540F46115710547
:1059C00019F406C065E070E0862F08958FE708950A
:1059D00081E008958091EE0180FF08C06091100180
:1059E00070E0759567957595679521C081FF06C034
:1059F0006091100170E07595679519C082FF04C031
:105A00006091100170E010C09091EF01992399F01E
:105A100060910F019617A0F780911001899FC00136
:105A2000112470E00E94CF366038710540F4611592
:105A3000710519F406C061E070E0862F08958FE7C4
:105A4000089581E00895803F21F40E94A12C819562
:105A500004C0813F29F40E94A12C8093F201089593
:105A6000823F21F40E94A12C819504C0833F29F438
:105A70000E94A12C8093F1010895893F19F40E949E
:105A8000EA2C05C08A3F31F40E94EA2C819580936C
:105A9000F30108958B3F21F40E94EA2C819504C004
:105AA0008C3F29F40E94EA2C8093F4010895843FEE
:105AB00021F48091F001816017C0853F21F480912D
:105AC000F001826011C0863F21F48091F001846072
:105AD0000BC0873F21F48091F001886005C0883FAA
:105AE00031F48091F00180618093F00108958D3F41
:105AF00021F48091EE0181600BC08E3F21F48091F2
:105B0000EE01826005C08F3F29F48091EE01846030
:105B10008093EE010895803F39F48091F20187FF70
:105B20006CC01092F20169C0813F29F48091F201AA
:105B30001816BCF362C09091F101823F29F497FFDF
:105B40005CC01092F10159C0833F19F41916CCF3CF
:105B500054C0893F41F48091F30118160CF04DC0F8
:105B60001092F3014AC08A3F29F48091F30187FF24
:105B700044C0F6CF8B3F39F48091F40187FF3DC0DC
:105B80001092F4013AC08C3F29F48091F401181668
:105B9000BCF333C0843F21F48091F0018E7F17C0A5
:105BA000853F21F48091F0018D7F11C0863F21F463
:105BB0008091F0018B7F0BC0873F21F48091F00131
:105BC000877F05C0883F31F48091F0018F7E8093FC
:105BD000F00113C08D3F21F48091EE018E7F0BC048
:105BE0008E3F21F48091EE018D7F05C08F3F29F417
:105BF0008091EE018B7F8093EE018091F101811104
:105C00000EC08091F20181110AC08091F3018111CF
:105C100006C08091F401811102C01092EF01089535
:105C20008091E60183FF7EC084E599E00E945D09D2
:105C30008091F0011F928F938FE499E09F938F934F
:105C40000E94F6098DE499E00E945D098091F101BE
:105C5000282F082E000C330B3F938F938AE499E092
:105C60009F938F930E94F60988E499E00E945D0952
:105C70008091F201282F082E000C330B3F938F9355
:105C800085E499E09F938F930E94F60983E499E05D
:105C90000E945D098091F301282F082E000C330B20
:105CA0003F938F9380E499E09F938F930E94F6092E
:105CB0008EE399E00E945D098091F401282F082E5F
:105CC000000C330B3F938F938BE399E09F938F935B
:105CD0000E94F60988E399E00E945D098091EF0136
:105CE0001F928F9385E399E09F938F930E94F6090B
:105CF00083E399E00E945D098091EE011F928F93EA
:105D000080E399E09F938F930E94F6098DE299E0DA
:105D10000E945D098DB79EB74C960FB6F8949EBF52
:105D20000FBE8DBF80EF91E00E94A31E0E945D2AEE
:105D30009093ED018093EC0108951F93CF93DF932F
:105D40008091EC019091ED010E94692AAC01909143
:105D5000EF01992321F02091130130E006C020913A
:105D600014018AE0289F900111244217530708F478
:105D700085C08091F101C091F201D091F3011091A1
:105D8000F401811107C0C11175C0D11173C0111187
:105D900071C074C09F3F19F09F5F9093EF01181678
:105DA00024F40E94A12C8093F1018091F10187FFDE
:105DB00005C00E94A12C81958093F1011C1624F44A
:105DC0000E94A12C8093F2018091F20187FF05C00F
:105DD0000E94A12C81958093F2016091F1016623CC
:105DE00031F1C091F201CC2311F1062E000C770B9A
:105DF000880B990B0E94B63523E333E343E35FE35B
:105E00000E941A360E947E356093F1016C2FCC0FF0
:105E1000770B880B990B0E94B63523E333E343E3FA
:105E20005FE30E941A360E947E356093F2011D16D0
:105E300024F40E94EA2C8093F3018091F30187FF00
:105E400005C00E94EA2C81958093F301111624F479
:105E50000E94EA2C8093F4018091F40187FF05C031
:105E60000E94EA2C81958093F401DF91CF911F91DC
:105E70000C94102E9F3F09F08FCFA0CFDF91CF91D0
:105E80001F910895E0EFF1E085E0DF011D928A9512
:105E9000E9F71092EF011092EE01089587E79BE079
:105EA0000E945D091F9281E08F931F9285E08F937E
:105EB00089E29BE09F938F930E94F6090F900F90C9
:105EC0000F900F900F900F9008958330E9F128F410
:105ED000813061F0823009F10895853009F462C0A3
:105EE00008F449C0863009F474C008958091140103
:105EF000262F30E0280F311D2F3F310524F4680F85
:105F00006093140103C08FEF8093140180911401FA
:105F10001F928F9382E69AE072C080911301262F20
:105F200030E0280F311D2F3F310524F4680F6093B6
:105F3000130103C08FEF80931301809113011F920F
:105F40008F9380E59AE05BC080911201262F30E0AC
:105F5000280F311D2F3F310524F4680F6093120183
:105F600003C08FEF80931201809112011F928F93D3
:105F70008DE39AE044C080911101262F30E0280F74
:105F8000311D2F3F310524F4680F6093110103C0C8
:105F90008FEF80931101809111011F928F9388E2FE
:105FA0009AE02DC080911001262F30E0280F311D7E
:105FB0002F3F310524F4680F6093100103C08FEF69
:105FC00080931001809110011F928F938FE09AE0CF
:105FD00016C080910F01262F30E0280F311D2F3F72
:105FE000310524F4680F60930F0103C08FEF809395
:105FF0000F0180910F011F928F9384EF99E09F937F
:106000008F930E94F6090F900F900F900F900895B4
:10601000833081F128F4813059F08230D1F0089535
:10602000853009F449C0B8F1863009F456C00895A6
:1060300080911401681720F4861B8093140102C01C
:1060400010921401809114011F928F9385EE99E0B4
:1060500054C080911301681720F4861B80931301AC
:1060600002C010921301809113011F928F9383ED50
:1060700099E043C080911201681720F4861B809339
:10608000120102C010921201809112011F928F938F
:1060900080EC99E032C080911101681720F4861BD2
:1060A0008093110102C010921101809111011F9281
:1060B0008F938BEA99E021C080911001681720F43A
:1060C000861B8093100102C0109210018091100174
:1060D0001F928F9382E999E010C080910F01681799
:1060E00020F4861B80930F0102C010920F01809153
:1060F0000F011F928F9387E799E09F938F930E94E0
:10610000F6090F900F900F900F900895CF93C82F1E
:106110001F928F938CE79CE09F938F930E94F609C8
:1061200081E090E0A0E0B0E0BC01CD0104C0660FCA
:10613000771F881F991FCA95D2F70E9435270F90A5
:106140000F900F900F90CF910C947A23CF938732BA
:10615000B0F58E3108F088C28E3009F402C200F525
:10616000873009F4CBC1A8F4863009F083C280914E
:10617000E601817F8E7F8093E60183ED9DE00E94A2
:106180005D0987EA91E10E945D0981E08093F60153
:10619000B3C1883009F43FC08B3009F4A9C16AC289
:1061A000863109F424C220F4803109F4EEC162C2C0
:1061B000893109F405C28B3109F4BFC15BC2883350
:1061C00009F496C150F4893209F450C2853309F4B8
:1061D0004DC2873209F44AC24DC2833409F446C223
:1061E00028F48A3308F446C2895341C2883409F03E
:1061F00041C20E947A238BE891E10E945D099FEFE2
:1062000023ED80E3915020408040E1F700C0000082
:106210000E94B82A71C18BEA91E10E945D098DE06C
:1062200091E10E945D090E94862C1F928F938AE063
:1062300091E19F938F930E94F60988E091E10E947B
:106240005D090E947D2CC82F85EF90E10E945D09B9
:106250001F92CF9380EF90E19F938F930E94F60956
:106260008EEE90E10E945D0984EE90E10E945D094E
:106270008C2F81701F928F9381EE90E19F938F936B
:106280000E94F6098FED90E10E945D0985ED90E195
:106290000E945D09C1FB882780F91F928F9382EDD0
:1062A00090E19F938F930E94F60980ED90E10E9408
:1062B0005D0984EC90E10E945D09C2FB882780F9AA
:1062C0001F928F9381EC90E19F938F930E94F60928
:1062D0008FEB90E10E945D0986EB90E10E945D09E1
:1062E000C3FBCC27C0F91F92CF9383EB90E19F9320
:1062F0008F930E94F60981EB90E10E945D090E9454
:106300008F2CC82F8DE990E10E945D091F92CF93D9
:1063100088E990E19F938F930E94F60986E990E1C6
:106320000E945D098DE790E10E945D098C2F8170CC
:106330001F928F938AE790E19F938F930E94F609B3
:106340008DB79EB780960FB6F8949EBF0FBE8DBFD7
:1063500088E790E10E945D0981E690E10E945D0975
:10636000C1FB882780F91F928F938EE590E19F9360
:106370008F930E94F6098CE590E10E945D098AE402
:1063800090E10E945D09C2FB882780F91F928F93DC
:1063900087E490E19F938F930E94F60985E490E152
:1063A0000E945D0983E390E10E945D09C3FB882799
:1063B00080F91F928F9380E390E19F938F930E94C7
:1063C000F6098EE290E10E945D0984E290E10E946C
:1063D0005D09C4FB882780F91F928F9381E290E1C9
:1063E0009F938F930E94F6098FE190E10E945D09CF
:1063F0008DE090E10E945D09C5FB882780F91F921E
:106400008F938AE090E19F938F930E94F60988E032
:1064100090E10E945D098CEE9FE00E945D09C6FB41
:10642000882780F91F928F9389EE9FE09F938F9327
:106430000E94F60987EE9FE00E945D098FED9FE0C4
:106440000E945D09C7FBCC27C0F91F92CF938CED4A
:106450009FE09F938F930E94F6098AED9FE00E9430
:106460005D090E94982CC82F83EC9FE00E945D0973
:106470001F92CF938EEB9FE09F938F930E94F6091C
:106480008DB79EB780960FB6F8949EBF0FBE8DBF96
:106490008CEB9FE00E945D0982EB9FE00E945D090A
:1064A0008C2F81701F928F938FEA9FE09F938F9321
:1064B0000E94F6098DEA9FE00E945D0984EA9FE050
:1064C0000E945D09C6951F92CF9381EA9FE09F933A
:1064D0008F930E94F6098FE99FE00E945D098DB7B6
:1064E0009EB708960FB6F8949EBF0FBE8DBF04C02E
:1064F0008AEF9DE00E945D09C1E0C1C08091E60184
:10650000C82FC095C170C0FB80F98093E601CC23F1
:1065100049F08FE791E10E945D098091E601866074
:10652000886048C082E791E10E945D098091E601A0
:10653000897F877F8093E601DFCF9091E60191FB11
:10654000CC27C0F981E0C827892FC0FB81F980934F
:10655000E601CC2319F085E691E127C087E591E1BA
:10656000C9CF9091E60192FBCC27C0F981E0C82702
:10657000892FC0FB82F98093E601CC2319F088E4CF
:1065800091E113C088E391E1B5CF9091E60193FBCF
:10659000CC27C0F981E0C827892FC0FB83F98093FD
:1065A000E601CC2351F08CE291E10E945D098091DB
:1065B000E60181608093E60162C08FE191E19ACFAC
:1065C00084EC9DE00E945D098BEA9DE00E945D09DC
:1065D00089E79DE00E945D0982E59DE00E945D09DA
:1065E00082E19DE00E945D0987EE9CE083CF89ED0A
:1065F0009CE00E945D090E944F1E1F928F938FEBBB
:106600009CE09F938F930E94F60980910C011F924A
:106610008F9388EA9CE09F938F930E94F609809164
:1066200087011F928F9385E99CE09F938F930E942F
:10663000F6098091E8019091E901A091EA01B091F9
:10664000EB01BF93AF939F938F9381E89CE09F935F
:106650008F930E94F6098DB79EB742960FB6F894B5
:106660009EBF0FBE8DBF48CF8D5101C080E00E94FC
:10667000863042CF8DE191E10E945D09C0E08C2F10
:10668000CF91089580E008950C944233CF93C82FA2
:106690008091F601813071F020F0823009F44BC016
:1066A00042C1E0910D01F0910E018081823209F02A
:1066B0003CC107C0E0910D01F0910E018081823252
:1066C00061F48C2F0E944433811104C08C2F0E94EE
:1066D000A6302FC081E090E02CC08C2F0E94423366
:1066E000811126C0C431E1F070F4CB3081F0C031AB
:1066F000D1F40E944E2F84E79CE00E945D0982E065
:106700008093F60115C0C93259F0C83361F483EDA6
:106710009DE00E945D0988E79CE00E945D0908C039
:106720001092F60104C182E79CE00E945D09FFC05F
:1067300081E08170FEC0C43228F5CE3108F0C1C0BE
:10674000CB30A1F1D0F4C73009F0D3C08EE18093F3
:10675000140182E3809313018AE08093120184E1A3
:106760008093110188E08093100188E280930F01EB
:1067700088E19BE00E945D09BFC0C33149F1C4318B
:10678000C1F0B7C0CB3409F4A9C028F4C93289F0EC
:10679000C83361F0AEC0C13509F49EC0C23509F4FA
:1067A00099C0CE3409F0A5C06AE09EC00E944E2F69
:1067B000A3C08091F501882319F01092F5019CC0C7
:1067C00085E29BE00E945D0981E08093F601B1C003
:1067D0008FEF9AE00E945D098DEE9AE00E945D09BC
:1067E000809114011F928F938AEE9AE09F938F936A
:1067F0000E94F60988EE9AE00E945D0986ED9AE013
:106800000E945D09809113011F928F9383ED9AE09E
:106810009F938F930E94F60981ED9AE00E945D0993
:1068200082EC9AE00E945D09809112011F928F9381
:106830008FEB9AE09F938F930E94F6098DEB9AE07D
:106840000E945D098CEA9AE00E945D098091110125
:106850001F928F9389EA9AE09F938F930E94F60983
:1068600087EA9AE00E945D0982E99AE00E945D0948
:10687000809110011F928F938FE89AE09F938F93DE
:106880000E94F6098DE89AE00E945D0986E79AE089
:106890000E945D0980910F011F928F9383E79AE018
:1068A0009F938F930E94F60981E79AE00E945D0909
:1068B0008DB79EB748960FB6F8949EBF0FBE8DBF9A
:1068C0001BC0CE51EC2FF0E0E45CFE4F8081809342
:1068D000F50112C061E003C061E006C06AE080918A
:1068E000F5010E94652F08C08091F5010E940830D3
:1068F00003C086E19BE013C08091F501882369F015
:106900001F928F9380E19BE09F938F930E94F609E3
:106910000F900F900F900F9004C08DE09BE00E94AD
:106920005D0981E006C01092F60180E002C080E0BF
:1069300000CFCF9108950E94722C811102C00E9455
:10694000532C0E94982C80933E0280FF02C08695B3
:1069500001C080E00C941F0A80913E02982F96950A
:10696000292F30E0233031054CF49F5F990F81705F
:10697000892B816080933E020E949C2C8091E601CD
:1069800080FF0FC080913E0286951F928F9388EF03
:1069900091E19F938F930E94F6090F900F900F90B3
:1069A0000F9080913E0286950C941F0A80913E02C2
:1069B000982F969591F09158990F8170892B80931B
:1069C0003E028E7F91E009F490E080913E0290FBC0
:1069D00080F980933E020E949C2C8091E60180FF0A
:1069E0000FC080913E0286951F928F9380EE91E1B9
:1069F0009F938F930E94F6090F900F900F900F9026
:106A000080913E0286950C941F0A80913E02982F39
:106A1000909590FB80F980933E020E949C2C80917F
:106A2000E60180FF0FC080913E0281701F928F931C
:106A30008AEC91E19F938F930E94F6090F900F903B
:106A40000F900F9080913E0280FF02C0869501C09A
:106A500080E00C941F0A90913E02892F86958F5FEB
:106A60008F779170843028F4880F892B80933E02B1
:106A700002C090933E0280913E028E7F91E009F425
:106A800090E080913E0290FB80F980933E020E944C
:106A90009C2C8091E60180FF0FC080913E0286957C
:106AA0001F928F9386EB91E19F938F930E94F6093B
:106AB0000F900F900F900F9080913E0286950C944E
:106AC0001F0A20913E02922F96958927982F990FA1
:106AD000822F8170892B80933E028E7F91E009F492
:106AE00090E080913E0290FB80F980933E020E94EC
:106AF0009C2C80913E0286950C941F0A0E9485353D
:106B00006894B1110C94143608950E94F93588F0F8
:106B10009F5798F0B92F9927B751B0F0E1F0660F61
:106B2000771F881F991F1AF0BA95C9F714C0B130A2
:106B300091F00E941336B1E008950C941336672F3C
:106B4000782F8827B85F39F0B93FCCF386957795D1
:106B50006795B395D9F73EF49095809570956195BA
:106B60007F4F8F4F9F4F0895E89409C097FB3EF4E5
:106B700090958095709561957F4F8F4F9F4F99238A
:106B8000A9F0F92F96E9BB279395F6958795779508
:106B90006795B795F111F8CFFAF4BB0F11F460FFC8
:106BA0001BC06F5F7F4F8F4F9F4F16C0882311F020
:106BB00096E911C0772321F09EE8872F762F05C034
:106BC000662371F096E8862F70E060E02AF09A95CF
:106BD000660F771F881FDAF7880F9695879597F9C4
:106BE000089557FD9058440F551F59F05F3F71F0BD
:106BF0004795880F97FB991F61F09F3F79F0879524
:106C00000895121613061406551FF2CF4695F1DFAC
:106C100008C0161617061806991FF1CF869571053C
:106C2000610508940895E894BB2766277727CB0170
:106C300097F908950E942D360C949E360E94903646
:106C400038F00E94973620F0952311F00C94873687
:106C50000C948D3611240C9414360E94F13570F387
:106C6000959FC1F3950F50E0551F629FF001729FF1
:106C7000BB27F00DB11D639FAA27F00DB11DAA1F00
:106C8000649F6627B00DA11D661F829F2227B00D4D
:106C9000A11D621F739FB00DA11D621F839FA00DD8
:106CA000611D221F749F3327A00D611D231F849F28
:106CB000600D211D822F762F6A2F11249F5750407F
:106CC0009AF0F1F088234AF0EE0FFF1FBB1F661FFA
:106CD000771F881F91505040A9F79E3F510580F0C3
:106CE0000C9487360C9414365F3FE4F3983ED4F34B
:106CF000869577956795B795F795E7959F5FC1F767
:106D0000FE2B880F911D9695879597F9089597F911
:106D10009F6780E870E060E008959FEF80EC089541
:106D200000240A941616170618060906089500246A
:106D30000A9412161306140605060895092E0394E4
:106D4000000C11F4882352F0BB0F40F4BF2B11F458
:106D500060FF04C06F5F7F4F8F4F9F4F0895991B57
:106D600079E004C0991F961708F0961B881F7A9542
:106D7000C9F780950895AA1BBB1B51E107C0AA1F44
:106D8000BB1FA617B70710F0A61BB70B881F991FCC
:106D90005A95A9F780959095BC01CD01089597FB70
:106DA000072E16F4009407D077FD09D00E94BB3659
:106DB00007FC05D03EF4909581959F4F08957095FE
:106DC00061957F4F0895EE0FFF1F0590F491E02D20
:106DD0000994F999FECF92BD81BDF89A992780B5A3
:106DE0000895A6E1B0E044E050E00C942337A8E118
:106DF000B0E042E050E00C942337262FF999FECF03
:106E000092BD81BDF89A019700B4021639F01FBAFD
:106E100020BD0FB6F894FA9AF99A0FBE089503961A
:106E2000272F0E94FE360E94FD36252F0E94FE3637
:106E3000242F0C94FE360196272F0E94FE360C94C8
:106E4000FD36DC01CB01FC01F999FECF06C0F2BD95
:106E5000E1BDF89A319600B40D9241505040B8F718
:066E60000895F894FFCF35
:106E6600FFFFB416A71782174E171A1701DB012862
:106E760008140A321E0F1F6C7666734913035343B8
:106E860079693309196F7F59404D36209E0851089C
:106E96001B08FB078707A007B907D20701020304EF
:066EA600050607080900C3
:00000001FF

@ -0,0 +1,3 @@
// Use configs from WS2812 enabled Keymap
#include "../ws2812/config.h"

@ -0,0 +1,151 @@
// 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"
// 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
#define _RGBL 2
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// See base_layer.png and rgb_layer.png for layout reference
// Base Default Layer
// Mac Modifier Layout. Use BootMagic to toggle GUI and ALT positions.
[_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, \
LT(_FL, 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, MO(_FL), KC_UP, \
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI,KC_LEFT, KC_DOWN, KC_RGHT),
// Function layer
[_FL] = KEYMAP(
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_NO, KC_MPRV,KC_UP, KC_MNXT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR,KC_SLCK, KC_PAUS, KC_INS, \
KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_TRNS,KC_NO, KC_MUTE,KC_VOLD,KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, LT(_RGBL, KC_PGUP),\
KC_TRNS,KC_TRNS,KC_TRNS, KC_MPLY, KC_TRNS,KC_HOME, KC_PGDN, KC_END),
// RGB Layer
[_RGBL] = KEYMAP(
#ifdef RGBLIGHT_ENABLE
RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_TRNS,KC_NO, F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), BL_STEP,BL_TOGG, KC_TRNS, KC_TRNS,\
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS),
#else
RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, BL_STEP,BL_TOGG, KC_TRNS, KC_TRNS,\
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS),
#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
};
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
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;
#ifdef RGBLIGHT_ENABLE
case RGBLED_TOGGLE:
//led operations
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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save