alps64: Add unimap support
authortmk <hasu@tmk-kbd.com>
Wed, 12 Oct 2016 07:59:12 +0000 (16:59 +0900)
committertmk <hasu@tmk-kbd.com>
Wed, 12 Oct 2016 11:23:02 +0000 (20:23 +0900)
keyboard/alps64/Makefile
keyboard/alps64/Makefile.actionmap [new file with mode: 0644]
keyboard/alps64/Makefile.keymap_editor
keyboard/alps64/Makefile.unimap [new file with mode: 0644]
keyboard/alps64/binary/alps64_unimap.hex [new file with mode: 0644]
keyboard/alps64/unimap_plain.c [new file with mode: 0644]
keyboard/alps64/unimap_trans.h [new file with mode: 0644]

index 330a8a1e168e91d7813459f2a325146a631362ed..d9968f7c7995d862ff778c322fde42d671ae08b4 100644 (file)
@@ -1,61 +1,21 @@
-#----------------------------------------------------------------------------
-# 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".
-#----------------------------------------------------------------------------
-
 # Target file name (without extension).
 # Target file name (without extension).
-TARGET = alps64
+TARGET ?= alps64
 
 # Directory common source filess exist
 
 # Directory common source filess exist
-TMK_DIR = ../../tmk_core
+TMK_DIR ?= ../../tmk_core
 
 # Directory keyboard dependent files exist
 
 # Directory keyboard dependent files exist
-TARGET_DIR = .
+TARGET_DIR ?= .
 
 # project specific files
 
 # project specific files
-SRC  matrix.c \
+SRC ?= matrix.c \
        led.c
 
        led.c
 
-CONFIG_H = config.h
+CONFIG_H ?= config.h
 
 
 # MCU name
 
 
 # MCU name
-MCU = atmega32u2
+MCU ?= atmega32u2
 
 # Processor frequency.
 #     This will define a symbol, F_CPU, in all source code files equal to the
 
 # Processor frequency.
 #     This will define a symbol, F_CPU, in all source code files equal to the
@@ -68,14 +28,14 @@ MCU = atmega32u2
 #     does not *change* the processor frequency - it should merely be updated to
 #     reflect the processor speed set externally so that the code can use accurate
 #     software delays.
 #     does not *change* the processor frequency - it should merely be updated to
 #     reflect the processor speed set externally so that the code can use accurate
 #     software delays.
-F_CPU = 16000000
+F_CPU ?= 16000000
 
 
 #
 # LUFA specific
 #
 # Target architecture (see library "Board Types" documentation).
 
 
 #
 # LUFA specific
 #
 # Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
+ARCH ?= AVR8
 
 # Input clock frequency.
 #     This will define a symbol, F_USB, in all source code files equal to the
 
 # Input clock frequency.
 #     This will define a symbol, F_USB, in all source code files equal to the
@@ -88,7 +48,7 @@ ARCH = AVR8
 #
 #     If no clock division is performed on the input clock inside the AVR (via the
 #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 #
 #     If no clock division is performed on the input clock inside the AVR (via the
 #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
+F_USB ?= $(F_CPU)
 
 # Interrupt driven control endpoint task(+60)
 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 
 # Interrupt driven control endpoint task(+60)
 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
@@ -100,26 +60,34 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 #   Atmel DFU loader 4096
 #   LUFA bootloader  4096
 #   USBaspLoader     2048
 #   Atmel DFU loader 4096
 #   LUFA bootloader  4096
 #   USBaspLoader     2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+BOOTLOADER_SIZE ?= 4096
+OPT_DEFS += -DBOOTLOADER_SIZE=$(BOOTLOADER_SIZE)
 
 
 # Build Options
 #   comment out to disable the options.
 #
 
 
 # Build Options
 #   comment out to disable the options.
 #
-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
-#SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes     # USB Nkey Rollover
-#ACTIONMAP_ENABLE = yes        # Use 16bit action codes in keymap instead of 8bit keycodes
-
-
-ifdef ACTIONMAP_ENABLE
-    KEYMAP_FILE = actionmap
+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
+#SLEEP_LED_ENABLE ?= yes  # Breathing sleep LED during USB suspend
+#NKRO_ENABLE ?= yes    # USB Nkey Rollover
+#ACTIONMAP_ENABLE ?= yes       # Use 16bit action codes in keymap instead of 8bit keycodes
+
+
+#
+# Keymap file
+#
+ifeq (yes,$(strip $(UNIMAP_ENABLE)))
+    KEYMAP_FILE = unimap
 else
 else
-    KEYMAP_FILE = keymap
+    ifeq (yes,$(strip $(ACTIONMAP_ENABLE)))
+        KEYMAP_FILE = actionmap
+    else
+        KEYMAP_FILE = keymap
+    endif
 endif
 ifdef KEYMAP
     SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
 endif
 ifdef KEYMAP
     SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
diff --git a/keyboard/alps64/Makefile.actionmap b/keyboard/alps64/Makefile.actionmap
new file mode 100644 (file)
index 0000000..1de4707
--- /dev/null
@@ -0,0 +1,3 @@
+TARGET = alps64_actionmap
+ACTIONMAP_ENABLE = yes # Use 16bit action codes in keymap instead of 8bit keycodes
+include Makefile
index 08293d5d08f6eba3547084b4dc26aef5a5e677ac..8d337b18c3893c2f0e0359df7330f0809bdcb62b 100644 (file)
@@ -1,5 +1,4 @@
-# build firmware for keymap editor
-#
+TARGET = alps64_editor
 KEYMAP_SECTION_ENABLE = yes    # fixed address keymap for keymap editor
 KEYMAP = editor
 include Makefile
 KEYMAP_SECTION_ENABLE = yes    # fixed address keymap for keymap editor
 KEYMAP = editor
 include Makefile
diff --git a/keyboard/alps64/Makefile.unimap b/keyboard/alps64/Makefile.unimap
new file mode 100644 (file)
index 0000000..5d5694f
--- /dev/null
@@ -0,0 +1,4 @@
+TARGET = alps64_unimap
+UNIMAP_ENABLE = yes
+KEYMAP_SECTION_ENABLE = yes
+include Makefile
diff --git a/keyboard/alps64/binary/alps64_unimap.hex b/keyboard/alps64/binary/alps64_unimap.hex
new file mode 100644 (file)
index 0000000..62d854e
--- /dev/null
@@ -0,0 +1,1287 @@
+:100000000C943F050C9486050C9486050C9486058B\r
+:100010000C9486050C9486050C9486050C94860534\r
+:100020000C9486050C9486050C9486050C94F00BB4\r
+:100030000C949F0C0C94C81A0C9486050C9486059D\r
+:100040000C9486050C9486050C9486050C943C1B38\r
+:100050000C9486050C9486050C9486050C948605F4\r
+:100060000C9486050C9486050C9486050C948605E4\r
+:100070000C9486057E068106840687068A068D0610\r
+:1000800090060C0D2E0D1C0E2E0D1C0E730D960DD4\r
+:100090001C0EEB0DFE0DA711A711D411D4112F12B8\r
+:1000A0006B1263146314831263147E137E1339146A\r
+:1000B000631463144F147E10360E0F12272D7F37F2\r
+:1000C000383334132F2E7C7D29283130742A7879E7\r
+:1000D00039042B14351E7B641D161A081F207A1B49\r
+:1000E0000709151721222C06190A1C182324650557\r
+:1000F000110B0D0C25260A002530325800626F7551\r
+:100100006E6365213A20004B6579626F61726420ED\r
+:1001100073746172742E0A0055534220636F6E66C9\r
+:100120006967757265642E0A000D0A696E69740A42\r
+:10013000000E0341006C00700073003600340000B4\r
+:1001400000080354004D004B00000004030904099B\r
+:10015000027400040100A03209040000010301013F\r
+:100160000009211101000122400007058103080058\r
+:100170000A09040100010301020009211101000123\r
+:10018000224D000705820308000A0904020001034A\r
+:100190000000000921110100012236000705830338\r
+:1001A00008000A09040300020300000009211101EC\r
+:1001B0000001222200070584032000010705040333\r
+:1001C0002000011201100100000008EDFE6464012E\r
+:1001D00000010200010631FF0974A1010975150033\r
+:1001E00026FF009520750881020976150026FF007C\r
+:1001F000952075089102C005010980A101850216AC\r
+:10020000810026B7001A81002AB700751095018178\r
+:1002100000C0050C0901A1018503160100269C02FE\r
+:100220001A01002A9C02751095018100C005010980\r
+:1002300002A1010901A100050919012905150025DF\r
+:10024000019505750181029501750381010501097B\r
+:100250003009311581257F95027508810609381509\r
+:1002600081257F950175088106050C0A38021581E4\r
+:10027000257F950175088106C0C005010906A10109\r
+:10028000050719E029E71500250195087501810288\r
+:100290009501750881010508190129059505750164\r
+:1002A00091029501750391010507190029FF1500B9\r
+:1002B00026FF00950675088100C00A0025303258D7\r
+:1002C00020006B6579626F6172645F7265706F7236\r
+:1002D000743A20004C45443A20253032580A002513\r
+:1002E0003032583A202530386225730A00722F6365\r
+:1002F0002030313233343536370A00646F6E652E64\r
+:100300000A00626F6F746D61676963207363616E69\r
+:100310003A202E2E2E2000290A002575002F0025B8\r
+:1003200075005D280025640020002564002000255C\r
+:10033000640020002564007C0025303258006D6F79\r
+:100340007573656B6579205B62746E7C78207920AB\r
+:100350007620685D287265702F61636C293A205B96\r
+:10036000006D6B5F776865656C5F74696D655F7460\r
+:100370006F5F6D6178203D2025640A006D6B5F77AB\r
+:100380006865656C5F6D61785F7370656564203D5D\r
+:100390002025640A006D6B5F74696D655F746F5F23\r
+:1003A0006D6178203D2025640A006D6B5F6D61787A\r
+:1003B0005F7370656564203D2025640A006D6B5F86\r
+:1003C000696E74657276616C203D2025640A006D4B\r
+:1003D0006B5F64656C6179203D2025640A006D6B5C\r
+:1003E0005F776865656C5F74696D655F746F5F6D7D\r
+:1003F0006178203D2025640A006D6B5F7768656534\r
+:100400006C5F6D61785F7370656564203D20256465\r
+:100410000A006D6B5F74696D655F746F5F6D617805\r
+:10042000203D2025640A006D6B5F6D61785F7370FD\r
+:10043000656564203D2025640A006D6B5F696E74FC\r
+:10044000657276616C203D2025640A006D6B5F64E7\r
+:10045000656C6179203D2025640A000A002575003D\r
+:10046000363A20776865656C5F74696D655F746F97\r
+:100470005F6D61783A20000A00257500353A2077D3\r
+:100480006865656C5F6D61785F73706565643A205F\r
+:10049000000A00257500343A2074696D655F746F39\r
+:1004A0005F6D61783A20000A00257500333A206DAF\r
+:1004B00061785F73706565643A20000A00257500F5\r
+:1004C000323A20696E74657276616C286D73293AD0\r
+:1004D00020000A00257500313A2064656C61792896\r
+:1004E0002A31306D73293A20000A092D2056616C9B\r
+:1004F000756573202D0A004D3E004D25643E200099\r
+:100500003F007365742064656661756C740A00430E\r
+:100510003E200077686572652064656C74613A20DE\r
+:10052000637572736F723D25642C20776865656C06\r
+:100530003D25640A53656520687474703A2F2F65F1\r
+:100540006E2E77696B6970656469612E6F72672FB3\r
+:1005500077696B692F4D6F7573655F6B6579730A8A\r
+:10056000000A092D204D6F7573656B6579202D0A82\r
+:100570004553432F713A09717569740A313A096418\r
+:10058000656C6179282A31306D73290A323A09691C\r
+:100590006E74657276616C286D73290A333A096D41\r
+:1005A00061785F73706565640A343A0974696D65D2\r
+:1005B0005F746F5F6D61780A353A09776865656CBD\r
+:1005C0005F6D61785F73706565640A363A097768B4\r
+:1005D00065656C5F74696D655F746F5F6D61780AE6\r
+:1005E0000A703A097072696E742076616C75657371\r
+:1005F0000A643A097365742064656661756C747386\r
+:100600000A75703A092B310A646F776E3A092D31F9\r
+:100610000A706775703A092B31300A7067646F771A\r
+:100620006E3A092D31300A0A7370656564203D20E9\r
+:1006300064656C7461202A206D61785F73706565F4\r
+:1006400064202A2028726570656174202F207469E7\r
+:100650006D655F746F5F6D6178290A003F004D3EE4\r
+:100660002000433E20004C25640A000A092D204347\r
+:100670006F6E736F6C65202D0A4553432F713A09D5\r
+:10068000717569740A6D3A096D6F7573656B65797B\r
+:100690000A000A092D204D61676963202D0A643A1A\r
+:1006A0000964656275670A783A096465627567204E\r
+:1006B0006D61747269780A6B3A09646562756720C6\r
+:1006C0006B6579626F6172640A6D3A09646562757F\r
+:1006D00067206D6F7573650A763A0976657273697E\r
+:1006E0006F6E0A733A097374617475730A633A0919\r
+:1006F000636F6E736F6C65206D6F64650A302D34A7\r
+:100700003A096C61796572302D34284631302D46B6\r
+:1007100034290A506175733A09626F6F746C6F61A6\r
+:100720006465720A653A09656570726F6D0A000A40\r
+:10073000002575002E6E6B726F3A20000A00257539\r
+:10074000002E737761705F6261636B736C617368B5\r
+:100750005F6261636B73706163653A20000A002514\r
+:1007600075002E737761705F67726176655F657380\r
+:10077000633A20000A002575002E6E6F5F67756969\r
+:100780003A20000A002575002E737761705F726150\r
+:100790006C745F726775693A20000A002575002E37\r
+:1007A000737761705F6C616C745F6C6775693A2018\r
+:1007B000000A002575002E636170736C6F636B5FB8\r
+:1007C000746F5F636F6E74726F6C3A20000A00255D\r
+:1007D00075002E737761705F636F6E74726F6C5FFC\r
+:1007E000636170736C6F636B3A20000A00253032CE\r
+:1007F00058006B65796D61705F636F6E6669672E17\r
+:100800007261773A20000A002575002E6D6F7573AE\r
+:10081000653A20000A002575002E6B6579626F61CC\r
+:1008200072643A20000A002575002E6D61747269A9\r
+:10083000783A20000A002575002E656E61626C65AD\r
+:100840003A20000A00253032580064656275675FFF\r
+:10085000636F6E6669672E7261773A20000A002521\r
+:10086000750064656661756C745F6C617965723A78\r
+:1008700020003F0074696D65725F72656164333298\r
+:1008800028293A202530346C580A006B6579626F4C\r
+:100890006172645F69646C653A2025580A006B6573\r
+:1008A00079626F6172645F70726F746F636F6C3ABC\r
+:1008B0002025580A00686F73745F6B6579626F61F9\r
+:1008C00072645F6C65647328293A2025580A000A0F\r
+:1008D000092D20537461747573202D0A004743431A\r
+:1008E0003A20342E392E32204156522D4C49424363\r
+:1008F0003A20312E382E3073766E204156525F41A9\r
+:100900005243483A2061767233350A004F505449B9\r
+:100910004F4E533A204C55464120424F4F544D4183\r
+:10092000474943204D4F5553454B45592045585451\r
+:1009300052414B455920434F4E534F4C4520434F56\r
+:100940004D4D414E44204B45594D41505F53454319\r
+:1009500054494F4E20343039360A004255494C44F0\r
+:100960003A20336562376361642D6469727479205B\r
+:100970002832303A32323A3431204F6374203132E7\r
+:100980002032303136290A005649443A2030784620\r
+:1009900045454428544D4B29205049443A2030784D\r
+:1009A0003634363428416C7073363429205645521B\r
+:1009B0003A203078303030310A00444553433A20F1\r
+:1009C000544D4B206B6579626F6172642066697269\r
+:1009D0006D7761726520666F7220416C707336347A\r
+:1009E0000A000A092D2056657273696F6E202D0A60\r
+:1009F000000A6D6F7573653A206F66660A000A6DAE\r
+:100A00006F7573653A206F6E0A000A6B6579626FC5\r
+:100A10006172643A206F66660A000A6B6579626FDC\r
+:100A20006172643A206F6E0A000A6D6174726978AF\r
+:100A30003A206F66660A000A6D61747269783A201E\r
+:100A40006F6E0A000A64656275673A206F6E0A006D\r
+:100A50000A64656275673A206F66660A000A0A6270\r
+:100A60006F6F746C6F616465722E2E2E2000433E92\r
+:100A700020006565636F6E6669673A0A000011249D\r
+:100A80001FBECFEFD4E0DEBFCDBF04B603FE27C04C\r
+:100A90008091CD019091CE01A091CF01B091D00174\r
+:100AA0008730904BA740B04BD1F41092CD011092FB\r
+:100AB000CE011092CF011092D00114BE84B7877F6F\r
+:100AC00084BF0FB6F894A8958091600088618093E8\r
+:100AD0006000109260000FBEE0E0F8E3099511E0BD\r
+:100AE000A0E0B1E0EAE1FEE402C005900D92A4337B\r
+:100AF000B107D9F721E0A4E3B1E001C01D92AD3CFC\r
+:100B0000B207E1F70E943C090C940B270C940000FB\r
+:100B1000FF93EF93E0913401F0913501309709F0A4\r
+:100B20000995EF91FF910895FC018591803011F0B6\r
+:100B3000EFDFFBCF0895FF27E0E230E247FF0CC074\r
+:100B4000419597FF09C0EDE260957095809590956D\r
+:100B5000611D711D811D911D27FF02C0219530E38C\r
+:100B600050E2AA27660F771F881F991FAA1FA41794\r
+:100B700010F0A41B63955A95A9F7AA3008F0A95F55\r
+:100B8000A05DAF93F395611571058105910541F75E\r
+:100B9000ED3211F4EF93F395F21718F43F93F395B8\r
+:100BA000FBCF8F91B5DFFA95E1F70895E991F991BF\r
+:100BB0008591803021F0853219F0AADFF9CF0895B0\r
+:100BC00020E0E89455915532C1F3503311F4689404\r
+:100BD00055915A3348F4505390F3220F022E220FAE\r
+:100BE000220F200D250FF4CF0EF4219589919991B4\r
+:100BF000533619F3533729F1533559F1BC0188277E\r
+:100C00009927E8945C3621F48991999168945591DB\r
+:100C1000543639F446EF7EF077FF0DC08FEF9FEF2B\r
+:100C20000AC055374AE039F0583540E121F05236D4\r
+:100C300042E009F00895FF93EF937DDFEF91FF917C\r
+:100C4000B7CFFF93EF93FC0181918030B9F360DF60\r
+:100C5000FBCFFF93EF9368DFF1CFDF93CF93CDB757\r
+:100C6000DEB72596A3DFCF91DF9108958AB1807812\r
+:100C70008AB98BB180788BB93A98429808950E94CE\r
+:100C8000360684B114B885B18FEF85B9A6E3B1E01B\r
+:100C9000EEE3F1E088E08E0F11921D928E13FCCFEF\r
+:100CA0008091AE0182608093AE013D9A459A2FEF0C\r
+:100CB00089E698E1215080409040E1F700C00000B3\r
+:100CC0003D9845980895EF92FF920F931F93CF930D\r
+:100CD000DF93C6E3D1E0F12C85E0E82E08EF10E0C9\r
+:100CE0008F2D90E0FC013197E730F10520F4E65CB0\r
+:100CF000FF4F0C94C026509A589814C0519A599896\r
+:100D000011C0529A5A980EC0539A5B980BC0549ACD\r
+:100D10005C9808C0559A5D9805C0569A5E9802C0C6\r
+:100D20003A9A429880EA8A95F1F783B18095988142\r
+:100D3000981739F1888380910001882301F180910F\r
+:100D4000AE0180FF04C08DEF90E00E949405809179\r
+:100D5000AE0180FF0CC0809100011F928F931F9302\r
+:100D60000F930E942D060F900F900F900F9080917F\r
+:100D7000AE0180FF04C086EF90E00E949405E092EF\r
+:100D800000010E943606F394219698E0F912A8CF4C\r
+:100D9000809100018823B1F0815080930001882365\r
+:100DA00039F08FE99FE00197F1F700C000000AC019\r
+:100DB000AEE3B1E0E6E3F1E0CF01885F91919D936E\r
+:100DC0008E13FCCF81E0DF91CF911F910F91FF90A7\r
+:100DD000EF900895E82FF0E0E25CFE4F80810895E7\r
+:100DE00081FF03C03D9A459A08953D98459808951E\r
+:100DF0008091520108959FB7F894109249019FBFC6\r
+:100E00009091C301943009F057C09091E9009F7010\r
+:100E10003091EC00232F217030FD20E8922B24E04C\r
+:100E20002093E9002091EB0020FF43C02091EE00C9\r
+:100E300027FF3FC020914601222321F02091E800A6\r
+:100E400025FF37C01092460126E03091E80035FDBD\r
+:100E500015C03091C301343061F53091EB0035FDA0\r
+:100E600028C0215021F481E08093460122C0EFE99F\r
+:100E7000FFE03197F1F700C00000E7CF8093F10069\r
+:100E80008091E80085FD0AC08091E80080FFFCCFDA\r
+:100E90008091E8008E778093E80006C08FB7F894C1\r
+:100EA00021E0209349018FBF9F709093E90080E07B\r
+:100EB00008959F709093E9008FEF0895CF93DF938B\r
+:100EC00000D01F92CDB7DEB79C018091C301843062\r
+:100ED00019F593E099833B832A839093E9008FEF80\r
+:100EE0009091E800815095FD06C095ED9A95F1F737\r
+:100EF00000008111F5CF8091E80085FF0DC040E032\r
+:100F000050E063E070E0CE0101960E94FE098091FE\r
+:100F1000E8008E778093E8000F900F900F90DF919C\r
+:100F2000CF910895CF93DF9300D01F92CDB7DEB756\r
+:100F30002091C301243021F522E029839B838A83F9\r
+:100F400083E08093E9008FEF9091E800815095FD58\r
+:100F500006C095ED9A95F1F700008111F5CF8091CB\r
+:100F6000E80085FF0DC040E050E063E070E0CE0196\r
+:100F700001960E94FE098091E8008E778093E80038\r
+:100F80000F900F900F90DF91CF9108952091C301A2\r
+:100F90002430F1F422E02093E9002FEF3091E800B3\r
+:100FA000215035FD06C035ED3A95F1F700002111CD\r
+:100FB000F5CF2091E80025FF0BC040E050E065E050\r
+:100FC00070E00E94FE098091E8008E778093E8002F\r
+:100FD0000895CF93DF932091C301243039F521E0A8\r
+:100FE0002093E9002FEF3091E800215035FD06C035\r
+:100FF00035ED3A95F1F700002111F5CF2091E80089\r
+:1010000025FF14C0EC0140E050E068E070E00E9471\r
+:10101000FE098091E8008E778093E80088E0FE0169\r
+:10102000AAE4B1E001900D928A95E1F7DF91CF91AA\r
+:1010300008950895209147012F5F822F62E30E9457\r
+:10104000A026992319F02093470108951092470193\r
+:1010500080914901882371F18091C301843041F569\r
+:101060008091E9008F702091EC00922F917020FD0B\r
+:1010700090E8892B94E09093E9009091EB0090FF29\r
+:1010800014C09091EE0097FF10C09091E80095FF7A\r
+:1010900003C01092F100F9CF9091E80090FF05C0D5\r
+:1010A0009091E8009E779093E8008F708093E9001C\r
+:1010B00010924901089542E061EC81E00E94070B23\r
+:1010C00042E061EC82E00E94070B42E061EC83E0C9\r
+:1010D0000E94070B42E261EC84E00C94070B8091C4\r
+:1010E000C501833009F453C030F4813071F082308F\r
+:1010F00009F48CC008958A3009F478C08B3009F463\r
+:101100005EC0893009F09AC020C08091C401813A44\r
+:1011100009F094C08091E800877F8093E800809177\r
+:10112000C8019091C901892B21F468E08AE491E01B\r
+:1011300003C060E080E090E070E00E94490A809186\r
+:10114000E8008B778093E80008958091C401813294\r
+:1011500009F074C08091C8019091C901892B09F0F0\r
+:101160006DC08091E800877F8093E8008091E8005F\r
+:1011700082FD05C08091C3018111F8CF5FC08091CD\r
+:10118000F100809352018091E8008B7753C08091E9\r
+:10119000C401813A09F052C08091C8019091C901FF\r
+:1011A000892B09F04BC08091E800877F8093E8008D\r
+:1011B0008091E80080FFFCCF80910B0136C08091C8\r
+:1011C000C4018132D9F58091C8019091C901892B60\r
+:1011D000A9F58091E800877F8093E8000E943C0B8E\r
+:1011E0008091C60180930B010C9484148091C401FA\r
+:1011F000813221F58091E800877F8093E8000E948A\r
+:101200003C0B8091C7018093530108958091C401E4\r
+:10121000813AA1F48091E800877F8093E800809173\r
+:10122000E80080FFFCCF809153018093F100809112\r
+:10123000E8008E778093E8000C943C0B08950895A5\r
+:10124000089580915201809348011092520180E0EC\r
+:101250000E94F0060E948C0F0C9484140C942109B7\r
+:101260000E94871A8091C101882329F00E94B01A38\r
+:1012700081110C94E809089584B7877F84BF0FB665\r
+:10128000F894A89580916000886180936000109226\r
+:1012900060000FBE90E080E80FB6F8948093610084\r
+:1012A000909361000FBE8BEF96E00E945B1A89E27B\r
+:1012B00091E00E9494050E941F090E94C50E0E94A1\r
+:1012C0008D0B0E94E00B8091E20084608093E2002D\r
+:1012D00078948091C3018430E1F788E191E00E9425\r
+:1012E00094050E94C70E81E091E00E94340E87E0D1\r
+:1012F00091E00E9494050E9420098091C3018530ED\r
+:1013000019F40E943009F9CF0E94CD0EF6CF0E9449\r
+:10131000C41A809148018093520108950C94870962\r
+:10132000292F332723303105C9F064F421303105EA\r
+:1013300081F02230310509F043C084E790E02FE4CA\r
+:1013400031E042C021323105F1F02232310541F164\r
+:1013500037C082E190E023EC31E036C0992781303C\r
+:10136000910541F08230910541F0892B49F5EBE47C\r
+:10137000F1E005C0E1E4F1E002C0E1E3F1E08491D5\r
+:1013800090E09F0121C06430D8F4E62FF0E0EE0F2A\r
+:10139000FF1FE05EFE4F2081318189E090E014C0A4\r
+:1013A000643070F470E0FB01EE0FFF1FE85EFE4F4B\r
+:1013B00020813181FB01EC5EFE4F808190E004C012\r
+:1013C00080E090E020E030E0FA013183208308954E\r
+:1013D00084E089BD86E089BD09B400FEFDCF80911F\r
+:1013E000D8008F7D8093D8008091E0008260809348\r
+:1013F000E0008091E00081FDFCCF0895CF92DF9264\r
+:10140000EF92FF920F931F93CF93DF93EC018B0129\r
+:101410006A010E945B0B811133C0C114D10439F001\r
+:10142000F60180819181081B190BC80FD91FE12C8F\r
+:10143000F12C0115110519F18091E80085FD16C008\r
+:101440008091E8008E778093E800C114D10449F0C0\r
+:10145000F60180819181E80EF91EF182E08285E03B\r
+:101460000FC00E945B0B882321F30AC089918093EF\r
+:10147000F10001501109FFEFEF1AFF0ADACF80E007\r
+:10148000DF91CF911F910F91FF90EF90DF90CF9060\r
+:1014900008952091CA013091CB012617370748F0F3\r
+:1014A0006115710539F42091E8002E772093E8004A\r
+:1014B00001C0B90140E06115710591F12091C301AE\r
+:1014C000222309F440C0253009F43FC02091E800F0\r
+:1014D00023FD3DC02091E80022FD2FC02091E800AF\r
+:1014E00020FFE9CF2091F20030E0FC01CF0161152F\r
+:1014F000710559F02830310540F481918093F10055\r
+:10150000615071092F5F3F4FF1CF41E02830310525\r
+:1015100009F040E02091E8002E772093E800CBCF3F\r
+:101520004111CCCF0AC08091C301882361F085307E\r
+:1015300061F08091E80083FD0AC08091E80082FF9D\r
+:10154000F2CF80E0089582E0089583E0089581E07D\r
+:1015500008952091CA013091CB012617370748F032\r
+:101560006115710539F42091E8002E772093E80089\r
+:1015700001C0B901FC0120E06115710579F180918C\r
+:10158000C301882309F43DC0853009F43CC0809133\r
+:10159000E80083FD3AC08091E80082FD2CC0809174\r
+:1015A000E80080FFE9CF8091F20090E061157105BD\r
+:1015B00059F08830910540F424912093F100319640\r
+:1015C000615071090196F2CF21E0089709F020E0FF\r
+:1015D0008091E8008E778093E800CECF2111CFCFA5\r
+:1015E0000AC08091C301882361F0853061F0809149\r
+:1015F000E80083FD0AC08091E80082FFF2CF80E01E\r
+:10160000089582E0089583E0089581E00895982F79\r
+:10161000953058F59093E900981739F07091EC00E7\r
+:101620002091ED005091F00003C0242F762F50E060\r
+:1016300021FF19C03091EB003E7F3093EB003091D9\r
+:10164000ED003D7F3093ED003091EB003160309341\r
+:10165000EB007093EC002093ED005093F00020918C\r
+:10166000EE0027FF07C09F5FD3CF8F708093E90004\r
+:1016700081E0089580E008958091C40187FF11C042\r
+:101680008091E80082FD05C08091C3018111F8CFEF\r
+:1016900011C08091E8008B770BC08091C301882333\r
+:1016A00049F08091E80080FFF8CF8091E8008E77C4\r
+:1016B0008093E80008952091E4003091E50095E6DC\r
+:1016C0004091EC00842F817040FF22C08091E8009F\r
+:1016D00080FD1CC08091C301882391F0853091F07A\r
+:1016E0008091EB0085FD10C04091E4005091E50031\r
+:1016F0004217530729F39A01915011F784E0089596\r
+:1017000082E0089583E0089581E0089580E00895DF\r
+:101710004091E80042FFDECF08950E94EA0B0E944C\r
+:10172000ED0BE0EEF0E0808181608083E8EDF0E099\r
+:1017300080818F77808319BCE3E6F0E0808181604F\r
+:1017400080831092C20108950E94EA0B0E94ED0B63\r
+:101750008091D8008F778093D8008091D8008068DE\r
+:101760008093D8008091D8008F7D8093D80084E04A\r
+:1017700089BD86E089BD09B400FEFDCF1092C3018A\r
+:101780001092BF011092C1011092C00142E060E0CE\r
+:1017900080E00E94070B8091E1008E7F8093E10042\r
+:1017A0008091E20081608093E2008091E200886095\r
+:1017B0008093E2008091E0008E7F8093E0000895A6\r
+:1017C000E3E6F0E080818E7F808381E08093C20138\r
+:1017D0000C94A40B1092E20008951092E100089579\r
+:1017E0001F920F920FB60F9211242F933F934F9396\r
+:1017F0005F936F937F938F939F93AF93BF93EF9379\r
+:10180000FF938091E10082FF0BC08091E20082FF94\r
+:1018100007C08091E1008B7F8093E1000E941A084D\r
+:101820008091E10080FF19C08091E20080FF15C027\r
+:101830008091E2008E7F8093E2008091E2008061DF\r
+:101840008093E2008091D80080628093D80019BC18\r
+:1018500085E08093C3010E942E098091E10084FFFE\r
+:1018600030C08091E20084FF2CC084E089BD86E016\r
+:1018700089BD09B400FEFDCF8091D8008F7D809393\r
+:10188000D8008091E1008F7E8093E1008091E2009A\r
+:101890008F7E8093E2008091E20081608093E2007D\r
+:1018A0008091BF01882311F084E007C08091E3009C\r
+:1018B00087FD02C081E001C083E08093C3010E94E4\r
+:1018C0008E098091E10083FF29C08091E20083FFAF\r
+:1018D00025C08091E100877F8093E10082E08093C2\r
+:1018E000C3011092BF018091E1008E7F8093E100DF\r
+:1018F0008091E2008E7F8093E2008091E20080611F\r
+:101900008093E20042E060E080E00E94070B80915B\r
+:10191000F00088608093F0000E941908FF91EF9119\r
+:10192000BF91AF919F918F917F916F915F914F91F7\r
+:101930003F912F910F900FBE0F901F9018951F92FF\r
+:101940000F920FB60F9211242F933F934F935F93F3\r
+:101950006F937F938F939F93AF93BF93CF93DF93B7\r
+:10196000EF93FF93C091E900CF708091EC00D82FE6\r
+:10197000D17080FDD0E81092E9008091F000877F5F\r
+:101980008093F00078940E94E30C1092E90080911B\r
+:10199000F00088608093F000CD2BCF70C093E900F9\r
+:1019A000FF91EF91DF91CF91BF91AF919F918F9177\r
+:1019B0007F916F915F914F913F912F910F900FBE4B\r
+:1019C0000F901F9018951F93CF93DF93CDB7DEB77D\r
+:1019D000AA970FB6F894DEBF0FBECDBFE4ECF1E0DE\r
+:1019E00088E08E0F9091F10091938E13FBCF0E94AF\r
+:1019F0006F088091E80083FF1FC18091C40190911E\r
+:101A0000C501492F50E04A30510508F015C1FA01CF\r
+:101A1000EF5BFF4F0C94C026803881F0823809F0CC\r
+:101A20000BC18091C8018F708093E9008091EB0019\r
+:101A300085FB882780F91092E90006C08091C001DB\r
+:101A40009091C101911182609091E800977F9093ED\r
+:101A5000E8008093F1001092F100C8C0282F2D7F7C\r
+:101A600009F0EAC0882319F0823061F0E5C0809166\r
+:101A7000C601813009F0E0C0933009F080E0809326\r
+:101A8000C1012BC08091C601811127C08091C8017E\r
+:101A90008F7009F4D1C08093E9002091EB0020FF02\r
+:101AA0001CC0933021F48091EB00806214C09091AF\r
+:101AB000EB0090619093EB0021E030E0A90102C0BF\r
+:101AC000440F551F8A95E2F74093EA001092EA000E\r
+:101AD0008091EB0088608093EB001092E900809188\r
+:101AE000E800877F86C08111A7C01091C6011F77CB\r
+:101AF0008091E3008078812B8093E3008091E8005F\r
+:101B0000877F8093E8000E943C0B8091E80080FF73\r
+:101B1000FCCF8091E30080688093E300111102C044\r
+:101B200082E001C083E08093C30186C08058823088\r
+:101B300008F082C08091C6019091C7018C3D53E0AE\r
+:101B4000950779F583E08A838AE289834FB7F89411\r
+:101B5000DE01139620E03EE051E2E32FF0E05093E7\r
+:101B60005700E49120FF03C0E295EF703F5FEF70F4\r
+:101B70008E2F90E0EA3010F0C79601C0C0968D938A\r
+:101B80009D932F5F243149F74FBF8091E800877FF5\r
+:101B90008093E8006AE270E0CE0101960E94490A53\r
+:101BA00014C0AE014F5F5F4F6091C8010E94900961\r
+:101BB000BC01892B09F440C09091E800977F909375\r
+:101BC000E80089819A810E94A90A8091E8008B77B8\r
+:101BD0008093E80031C0803879F58091E800877FF4\r
+:101BE0008093E8008091BF018093F1008091E8002C\r
+:101BF0008E778093E8000E943C0B1EC081111CC0B0\r
+:101C00009091C6019230C0F48091E800877F809364\r
+:101C1000E8009093BF010E943C0B8091BF018111AD\r
+:101C200006C08091E30087FD02C081E001C084E02E\r
+:101C30008093C3010E945B088091E80083FF0AC083\r
+:101C40008091E800877F8093E8008091EB008062BC\r
+:101C50008093EB00AA960FB6F894DEBF0FBECDBFFF\r
+:101C6000DF91CF911F91089590935901809358016E\r
+:101C70000895E0915801F0915901309721F00190B9\r
+:101C8000F081E02D099480E00895EF92FF920F9388\r
+:101C90001F93CF93DF93E0915801F0915901309752\r
+:101CA000B1F18C010280F381E02D09958091AE01A4\r
+:101CB00082FF2DC080FF04C082EC92E00E94940558\r
+:101CC000E80118E08CEBE82E82E0F82E8091AE015E\r
+:101CD00080FF0BC088811F928F93FF92EF920E942A\r
+:101CE0002D060F900F900F900F901150219611110B\r
+:101CF000EDCF8091AE0180FF0AC08AEB92E0DF91C8\r
+:101D0000CF911F910F91FF90EF900C949405DF916C\r
+:101D1000CF911F910F91FF90EF900895E09158019E\r
+:101D2000F0915901309721F00480F581E02D09945C\r
+:101D3000089520915601309157018217930771F051\r
+:101D40009093570180935601E0915801F091590109\r
+:101D5000309721F00680F781E02D099408952091B5\r
+:101D60005401309155018217930771F090935501FA\r
+:101D700080935401E0915801F0915901309721F07E\r
+:101D80000084F185E02D099408950C948D0F0E9434\r
+:101D9000F11A0E943F060C94191CCF92DF92EF9229\r
+:101DA000FF920F931F93CF93DF9300D000D000D00A\r
+:101DB000CDB7DEB70E9463068BE5C82E81E0D82E32\r
+:101DC00000E010E0E02E802F0E94EA06F60141912B\r
+:101DD0006F01F42EF826B1F40F5F1F4F0830110584\r
+:101DE00089F78FEF89838A831B820E94FA1A8160A8\r
+:101DF000782F9D838C8349815A816B818D810E94CC\r
+:101E0000C40F47C09091AE0191FF04C08E830E9421\r
+:101E10008E0F8E8120E030E04F2D50E0922FBA01DE\r
+:101E2000022E02C0759567950A94E2F760FF2BC0F9\r
+:101E30002983EA8221E030E0690102C0CC0CDD1C7C\r
+:101E40009A95E2F790E08C219D21892B09F420E0FE\r
+:101E50002B830E94FA1A8160782F9D838C8349819D\r
+:101E60005A816B818D810E94C40F49815A816B8197\r
+:101E70007C818D810E94731AF801E55AFE4F8081A2\r
+:101E8000C826C08206C02F5F3F4F2830310531F68B\r
+:101E9000A3CF0E94721A0E94A01F10915A010E94A3\r
+:101EA000390E181741F10E94390E80935A01909112\r
+:101EB000AE0192FF0EC090FF0CC01F928F9384ED75\r
+:101EC00092E09F938F930E942D060F900F900F909A\r
+:101ED0000F9080915A0126960FB6F894DEBF0FBE80\r
+:101EE000CDBFDF91CF911F910F91FF90EF90DF90C9\r
+:101EF000CF900C94841A26960FB6F894DEBF0FBECE\r
+:101F0000CDBFDF91CF911F910F91FF90EF90DF90A8\r
+:101F1000CF9008950C94F00608950895EF92FF92E3\r
+:101F20000F931F93CF93DF938DEE92E00E94940561\r
+:101F3000C0E0D0E088E2E82E81E0F82E0FED12E05C\r
+:101F40008C2F0E94EA060E94601AFF92EF921F9265\r
+:101F50008F93DF93CF931F930F930E942D062196AB\r
+:101F60008DB79EB708960FB6F8949EBF0FBE8DBF73\r
+:101F7000C830D10529F7DF91CF911F910F91FF90C4\r
+:101F8000EF90089508950895CF93DF93CDB7DEB70E\r
+:101F90002B970FB6F894DEBF0FBECDBF942F4F83A3\r
+:101FA000252F588769877A878B874A855B85452BDC\r
+:101FB00021F02F3F09F59F3FF9F4DE01119686E0ED\r
+:101FC000FD0111928A95E9F785E0FE0137960190AF\r
+:101FD0000D928A95E1F749815A816B817C818D81CF\r
+:101FE0009E810E942D172B960FB6F894DEBF0FBE70\r
+:101FF000CDBFDF91CF9108954F81588569857A854E\r
+:102000008B850E94731AD9CFCF93882309F4E8C037\r
+:10201000C82F8238A1F40E94390E81FDE1C089E306\r
+:102020000E94BC190E94351A2FEF81EE94E02150D6\r
+:1020300080409040E1F700C0000089E315C083387C\r
+:10204000C1F40E94390E80FDCBC083E50E94BC190B\r
+:102050000E94351A2FEF81EE94E02150804090408D\r
+:10206000E1F700C0000083E50E94D919CF910C94DC\r
+:10207000351A8438A1F40E94390E82FDB1C087E47C\r
+:102080000E94BC190E94351A2FEF81EE94E0215076\r
+:1020900080409040E1F700C0000087E4E5CF8CEF7E\r
+:1020A0008C0F813A48F48C2F0E940124811198C032\r
+:1020B0008C2F0E94BC19DACF80E28C0F883048F454\r
+:1020C000C77081E001C0880FCA95EAF70E94FB192A\r
+:1020D000CDCF8BE58C0F833078F4C53A29F0C63A22\r
+:1020E00031F083E890E005C081E890E002C082E82A\r
+:1020F00090E0CF910C94990E88E58C0F853108F013\r
+:102100006FC0C83A61F1C93A69F1CA3A71F1CB3A84\r
+:1021100079F1CC3A81F1CD3A89F1CE3A91F1CF3AC9\r
+:1021200099F1C13BA1F1C03BA9F1C23BB1F1C33B65\r
+:10213000B9F1C43BC1F1C53BC9F1C63BD1F1C73BC5\r
+:10214000D9F1C83BE1F1C93BE9F1CA3BF1F1CB3B25\r
+:10215000F9F1CC3B09F43FC080E090E03EC082EE54\r
+:1021600090E03BC089EE90E038C08AEE90E035C048\r
+:1021700085EB90E032C086EB90E02FC083EB90E0DF\r
+:102180002CC084EB90E029C087EB90E026C08CEC5B\r
+:1021900090E023C08DEC90E020C083E891E01DC06A\r
+:1021A0008AE891E01AC082E991E017C084E991E0E1\r
+:1021B00014C081E292E011C083E292E00EC084E29A\r
+:1021C00092E00BC085E292E008C086E292E005C092\r
+:1021D00087E292E002C08AE292E0CF910C94AF0EC7\r
+:1021E000CF910895882309F466C08238A1F40E9433\r
+:1021F000390E81FF60C089E30E94BC190E94351A24\r
+:102200002FEF81EE94E0215080409040E1F700C034\r
+:10221000000089E315C08338B9F40E94390E80FFAD\r
+:102220004AC083E50E94BC190E94351A2FEF81EE47\r
+:1022300094E0215080409040E1F700C0000083E529\r
+:102240000E94D9190C94351A8438A1F40E94390ED1\r
+:1022500082FF31C087E40E94BC190E94351A2FEF1B\r
+:1022600081EE94E0215080409040E1F700C00000F2\r
+:1022700087E4E6CF9CEF980F913A10F390E2980F25\r
+:10228000983050F4877091E001C0990F8A95EAF771\r
+:10229000892F0E94011AD6CF9BE5980F933020F426\r
+:1022A00080E090E00C94990E885A853120F480E00B\r
+:1022B00090E00C94AF0E0895882321F00E94FB1942\r
+:1022C0000C94351A0895882321F00E94011A0C9469\r
+:1022D000351A0895CF92DF92EF92FF920F931F93DA\r
+:1022E000CF93DF9300D000D000D0CDB7DEB725E08C\r
+:1022F000FC01DE01119601900D922A95E1F7FC0197\r
+:1023000040813181F280258122952F706381748113\r
+:10231000672B09F4D8C23F3F19F44F3F09F4D3C2E9\r
+:102320006C0149833A8389819A812E830E947B19AB\r
+:10233000182F092F0E947A190E948A18E02FE2951F\r
+:10234000EF70F0E0E55BFF4F2E810C94C026802FEC\r
+:10235000807F902F9F70092F882311F00295007FB6\r
+:10236000FF2049F0002309F45FC2802F0E940E1A5B\r
+:102370000E94351A59C2812F0E94F210002309F4DD\r
+:10238000A2C2802F0E94141A26960FB6F894DEBFC0\r
+:102390000FBECDBFDF91CF911F910F91FF90EF90B6\r
+:1023A000DF90CF900C94351A802F807F902F9F70F4\r
+:1023B000092F803211F00295007F112319F011309E\r
+:1023C00001F129C0FF20A9F0802F222349F12130FB\r
+:1023D00039F526960FB6F894DEBF0FBECDBFDF915C\r
+:1023E000CF911F910F91FF90EF90DF90CF900C94C1\r
+:1023F0001E1A222319F0213009F465C20E94211A05\r
+:102400002CC0FF20E9F0263008F05DC20E94F819C8\r
+:10241000802329F022C0FF20F1F0211115C0802F68\r
+:1024200026960FB6F894DEBF0FBECDBFDF91CF91D9\r
+:102430001F910F91FF90EF90DF90CF900C945C1163\r
+:10244000253008F040C209C0F601858180FFECC14B\r
+:102450008F708583E4CF2111FBC1802F69C1202FAC\r
+:1024600026952695237030E02115310521F0213085\r
+:102470003105C9F028C2FF2021F0812F902F9370E1\r
+:1024800002C080E090E026960FB6F894DEBF0FBE43\r
+:10249000CDBFDF91CF911F910F91FF90EF90DF9013\r
+:1024A000CF900C94990EFF2021F0812F902F9370E4\r
+:1024B00002C080E090E026960FB6F894DEBF0FBE13\r
+:1024C000CDBFDF91CF911F910F91FF90EF90DF90E3\r
+:1024D000CF900C94AF0E812FFF2019F00E94261E82\r
+:1024E00002C00E948E1E26960FB6F894DEBF0FBE65\r
+:1024F000CDBFDF91CF911F910F91FF90EF90DF90B3\r
+:10250000CF900C94131F802F837009F078C0F110C6\r
+:10251000DAC1812F829586958770880F880F912F59\r
+:102520009F70C92ED12CE12CF12C082E04C0CC0CAC\r
+:10253000DD1CEE1CFF1C0A94D2F714FF12C04FE002\r
+:1025400050E060E070E004C0440F551F661F771F25\r
+:102550008A95D2F7CB01BA016095709580959095D8\r
+:1025600003C060E070E0CB01202F269526952370F4\r
+:10257000422F50E042305105D1F04330510559F11E\r
+:102580006C297D298E299F294130510541F12696DC\r
+:102590000FB6F894DEBF0FBECDBFDF91CF911F9174\r
+:1025A0000F91FF90EF90DF90CF900C949F186C29C3\r
+:1025B0007D298E299F2926960FB6F894DEBF0FBE7F\r
+:1025C000CDBFDF91CF911F910F91FF90EF90DF90E2\r
+:1025D000CF900C94B1180E949F18C701B60126969F\r
+:1025E0000FB6F894DEBF0FBECDBFDF91CF911F9124\r
+:1025F0000F91FF90EF90DF90CF900C948D18FF20FB\r
+:1026000019F0802F817001C08695882309F45BC181\r
+:10261000812F829586958770880F880F912F9F70E4\r
+:10262000C92ED12CE12CF12C082E04C0CC0CDD1CC1\r
+:10263000EE1CFF1C0A94D2F714FF12C04FE050E0CA\r
+:1026400060E070E004C0440F551F661F771F8A9535\r
+:10265000D2F7CB01BA01609570958095909503C033\r
+:1026600060E070E0CB01202F269526952370422F45\r
+:1026700050E042305105D1F04330510559F16C29F9\r
+:102680007D298E299F294130510541F126960FB6AB\r
+:10269000F894DEBF0FBECDBFDF91CF911F910F9198\r
+:1026A000FF90EF90DF90CF900C9456196C297D2904\r
+:1026B0008E299F2926960FB6F894DEBF0FBECDBF98\r
+:1026C000DF91CF911F910F91FF90EF90DF90CF900E\r
+:1026D0000C9468190E945619C701B60126960FB6C8\r
+:1026E000F894DEBF0FBECDBFDF91CF911F910F9148\r
+:1026F000FF90EF90DF90CF900C944419103F41F180\r
+:1027000018F4103E48F48BC0123F09F450C0D8F1C1\r
+:10271000133F09F460C083C01F70802F8F71FF20AA\r
+:1027200021F00E94DD18812F7BCE0E94FE18812FA0\r
+:1027300026960FB6F894DEBF0FBECDBFDF91CF91C6\r
+:102740001F910F91FF90EF90DF90CF900C94631149\r
+:10275000FF20A9F0253008F0B6C0802F8F71269693\r
+:102760000FB6F894DEBF0FBECDBFDF91CF911F91A2\r
+:102770000F91FF90EF90DF90CF900C9423192630AB\r
+:1027800008F0A1C0EACFFF20A1F0802F8F7126961C\r
+:102790000FB6F894DEBF0FBECDBFDF91CF911F9172\r
+:1027A0000F91FF90EF90DF90CF900C94DD18FF20F9\r
+:1027B00061F3802F8F7126960FB6F894DEBF0FBE9F\r
+:1027C000CDBFDF91CF911F910F91FF90EF90DF90E0\r
+:1027D000CF900C94FE18FF2091F0802F8F712696D9\r
+:1027E0000FB6F894DEBF0FBECDBFDF91CF911F9122\r
+:1027F0000F91FF90EF90DF90CF900C94C818269621\r
+:102800000FB6F894DEBF0FBECDBFDF91CF911F9101\r
+:102810000F91FF90EF90DF90CF900C94C318FF20A2\r
+:10282000A1F0222309F4B1CF812F26960FB6F89498\r
+:10283000DEBF0FBECDBFDF91CF911F910F91FF90F3\r
+:10284000EF90DF90CF900C940410222309F4B1CFC5\r
+:10285000812F26960FB6F894DEBF0FBECDBFDF9155\r
+:10286000CF911F910F91FF90EF90DF90CF900C943C\r
+:10287000F210402F4F70612FC6010E94C31B269695\r
+:102880000FB6F894DEBF0FBECDBFDF91CF911F9181\r
+:102890000F91FF90EF90DF90CF900C94D517402FC1\r
+:1028A0004F70612FC60126960FB6F894DEBF0FBE9B\r
+:1028B000CDBFDF91CF911F910F91FF90EF90DF90EF\r
+:1028C000CF900C94C61B26960FB6F894DEBF0FBEB1\r
+:1028D000CDBFDF91CF911F910F91FF90EF90DF90CF\r
+:1028E000CF9008950E941B1A0E94EA190E94351A7F\r
+:1028F0000E9447200E94131F80E090E00E94990EE2\r
+:1029000080E090E00C94AF0E0E940B1A0C947214AD\r
+:102910000E947B19292F22952F7030E02C30310531\r
+:102920004CF42A3031056CF4225031092230310543\r
+:1029300088F407C02C30310549F02F30310531F0D3\r
+:1029400009C0803E48F0803F29F406C093FB8827E9\r
+:1029500080F9089580E0089581E00895CF93DF9392\r
+:1029600000D000D01F92CDB7DEB70F900F900F9020\r
+:102970000F900F90DF91CF910895CF93DF9300D008\r
+:1029800000D000D0CDB7DEB726960FB6F894DEBFE4\r
+:102990000FBECDBFDF91CF910895CF93DF93C0914C\r
+:1029A000630180916401C817A1F0D0E0CE0166E018\r
+:1029B00070E00E948F26FC01EB59FE4F408151814F\r
+:1029C00062817381848195810E94BD142196C770B4\r
+:1029D000E8CFDF91CF9108954091950150919601F4\r
+:1029E00060919701709198018091990190919A015D\r
+:1029F0000C94BD14CF93DF9380919A0182958F70D0\r
+:102A000009F05CC080919701882309F457C0209198\r
+:102A10006301D091640140919501C0919601E091CC\r
+:102A20009801F09199012D1709F448C030E03097D2\r
+:102A300009F440C0CF3F11F44F3FE1F1C90166E016\r
+:102A400070E00E948F26DC01AB59BE4F11968C912D\r
+:102A50001197C8132FC08C9148132CC012968C91DB\r
+:102A60001297811127C013968D919C9114978E1700\r
+:102A70009F0708F401978E1B9F0B883C9105D0F4AB\r
+:102A800080919A018F70806180939A01C90166E0FC\r
+:102A900070E00E948F26FC01E659FE4F90819F70E6\r
+:102AA0009061908385E991E00E946A11DF91CF9156\r
+:102AB0000C94CD142F5F3F4F2770B5CFDF91CF918E\r
+:102AC0000895BF92CF92DF92EF92FF920F931F93E0\r
+:102AD000CF93DF93CDB7DEB761970FB6F894DEBF23\r
+:102AE0000FBECDBF8C0185E0F801DE011D9601907F\r
+:102AF0000D928A95E1F7D8014C9111962C9111977E\r
+:102B00001296EC9012971396CD90DC9014975091FA\r
+:102B1000950160919601809198019091990100979B\r
+:102B200009F46EC16F3F19F45F3F09F469C1B090B9\r
+:102B30009701BB2009F4C3C030919A01C816D90689\r
+:102B400028F0F601E81BF90BCF0104C080959095A1\r
+:102B50008C0D9D1DFF24F394883C910588F0F12C89\r
+:102B6000307F09F0CBC07C2DD98AC88A522F6E2DB8\r
+:102B700089890E94AE1485E991E00E946A11B4C06F\r
+:102B8000832F807F09F049C0621314C0541312C010\r
+:102B9000E11010C03F70306130939A010E94EC1434\r
+:102BA00085E991E00E946A1180919A01D8011596F9\r
+:102BB0008C9331C0CD2831F12F3F11F44F3F11F1EB\r
+:102BC000FE2CE1101FC0E091630130916401E31716\r
+:102BD00009F45CC0F0E0CF0166E070E00E948F264F\r
+:102BE000DC01AB59BE4F11968C911197281307C089\r
+:102BF0008C91481304C012968C91811103C03196B8\r
+:102C0000E770E5CFFE2CEE2009F416C180919A0101\r
+:102C1000816080939A01F12C0FC1621308C0541394\r
+:102C200006C0E11004C080919A01D801C1C04D874F\r
+:102C30002E878D859E850E9488148823E1F1EE20E1\r
+:102C4000D1F120919A01822F82958F7090E00297A6\r
+:102C500074F0809195019091960198878F831986E1\r
+:102C6000DB86CA862C87CE0107960E946A1186E011\r
+:102C7000F801A5E9B1E001900D928A95E1F70E9473\r
+:102C8000FA140E94EC14FF24F394D6C04D872E87CB\r
+:102C90008D859E850E947B19292F22952F7030E00B\r
+:102CA000223031050CF0BCC09F7009F0B6C0805EC8\r
+:102CB000883008F4C1C0C8010E946A11E4CFC81668\r
+:102CC000D90608F453C0F601E81BF90BCF01883C84\r
+:102CD000910508F450C0F12C7C2DD98AC88A522F56\r
+:102CE0006E2D89890E94AE14E5E9F1E086E0DF01EE\r
+:102CF0001D928A95E9F70E94EC149EC0621314C0DD\r
+:102D0000541312C0E11010C080919A01F80185831C\r
+:102D1000C8010E946A1186E0E5E9F1E0DF011D9239\r
+:102D20008A95E9F7FB2C88C04D872E878D859E8577\r
+:102D30000E948814882309F4BECFEE2009F4BBCF8B\r
+:102D400020919A01822F82958F7090E002970CF467\r
+:102D50008ECF80919501909196019A8389831B82F1\r
+:102D6000DD82CC822E83CE0101967FCF8095909517\r
+:102D70008C0D9D1DACCFFE2CEE2009F49CCF621370\r
+:102D80002EC054132CC020919A0120FD1FC0822F09\r
+:102D900082958F70D9F0D80115962C9315978F30A6\r
+:102DA00049F08F5F982F9295907F822F8F70892B9B\r
+:102DB00015968C93C8010E946A1186E0F801A5E976\r
+:102DC000B1E001900D928A95E1F795CF86E0F80188\r
+:102DD000A5E9B1E001900D928A95E1F72DC04D87EC\r
+:102DE0002E878D859E850E948814811140CF809109\r
+:102DF0009A01816080939A01C8010E946A111CC0E7\r
+:102E0000EE2009F458CF4D872E878D859E850E9430\r
+:102E10008814882309F44FCF2ACF811148CF0CC0E2\r
+:102E2000243031050CF047CF9F7009F440CFF801F2\r
+:102E30009581907F09F03BCF8F2D61960FB6F89466\r
+:102E4000DEBF0FBECDBFDF91CF911F910F91FF90DD\r
+:102E5000EF90DF90CF90BF900895CF93DF93CDB7E1\r
+:102E6000DEB72C970FB6F894DEBF0FBECDBF4F83F1\r
+:102E7000588769877A878B879C87CE0107960E943F\r
+:102E80006115882371F08F8198852A853B85232BD6\r
+:102E900009F43FC09F3F09F068C08F3F09F065C04B\r
+:102EA00038C086E0FE013796DE01119601900D9242\r
+:102EB0008A95E1F76F817885EA85FB85309749F13E\r
+:102EC0007F3F11F46F3F29F18091640190E09C01F4\r
+:102ED0002F5F3F4F277033274091630150E0241745\r
+:102EE000350709F44BC069837A83FD83EC8366E080\r
+:102EF00070E00E948F26DC01AB59BE4F96E0FE01C8\r
+:102F0000319601900D929A95E1F7209364010E9409\r
+:102F1000CD1480916301909164018917E9F190E0EB\r
+:102F200066E070E00E948F268B599E4F0E946115CB\r
+:102F3000882391F18091630190E066E070E00E9447\r
+:102F40008F26FC01EB59FE4F4081518162817381D4\r
+:102F5000848195810E94BD148091630190E0019667\r
+:102F60008770992780936301D4CF4F8158856985F5\r
+:102F70007A858B859C850E94BD14CBCF0E948414DA\r
+:102F80001092640110926301E5E9F1E086E0DF014F\r
+:102F90001D928A95E9F7BDCF2C960FB6F894DEBF47\r
+:102FA0000FBECDBFDF91CF910895DF92EF92FF92D8\r
+:102FB0000F931F93CF93DF93FC01892B09F48AC0F1\r
+:102FC000E12CF12CDD24D394EF01219684918537F7\r
+:102FD00009F461C058F4843708F04EC0843008F01A\r
+:102FE0006AC08130D1F0823071F174C0883709F441\r
+:102FF0005DC050F4863709F455C0873709F06AC0C0\r
+:103000008E2D0E94081A54C09CE7980F903708F044\r
+:1030100061C08F770E94F21050C08F010E5F1F4F6A\r
+:10302000FE01849190E2980F983050F48770FD2D46\r
+:1030300001C0FF0F8A95EAF78F2F0E940E1A14C065\r
+:103040000E94041013C08F010E5F1F4FFE01C49138\r
+:1030500080E28C0F883060F4C7708D2D01C0880F1E\r
+:10306000CA95EAF70E94141A0E94351AE80125C091\r
+:103070008C2F0E94F210FACF9F012E5F3F4FFE016E\r
+:10308000C491CC2369F08FE99FE00197F1F700C06C\r
+:103090000000C150F6CF9F012E5F3F4FFE01F4901C\r
+:1030A000E9010BC00E94F819E82E07C00E940B1A14\r
+:1030B0000E94351A02C00E9404108F2D882341F00F\r
+:1030C000EFE9FFE03197F1F700C000008150F6CF43\r
+:1030D000FE017ACFDF91CF911F910F91FF90EF907A\r
+:1030E000DF90089560939F017093A0018093A101E8\r
+:1030F0009093A2010E94821A0C94721460939B0117\r
+:1031000070939C0180939D0190939E010E94831A6D\r
+:103110000C94721408950C9472180F931F930091DD\r
+:103120009F011091A0012091A1013091A201602B7B\r
+:10313000712B822B932B1F910F910C9472180F936C\r
+:103140001F9300919F011091A0012091A101309146\r
+:10315000A20160237123822393231F910F910C946A\r
+:1031600072180F931F9300919F011091A00120915D\r
+:10317000A1013091A20160277127822793271F9117\r
+:103180000F910C94721860E070E0CB010C947E18E3\r
+:103190000F931F9341E050E060E070E08A019B01D3\r
+:1031A00004C0000F111F221F331F8A95D2F7C901D7\r
+:1031B000B8011F910F910C947E180F931F9341E05B\r
+:1031C00050E060E070E004C0440F551F661F771F99\r
+:1031D0008A95D2F780919B0190919C01A0919D01CD\r
+:1031E000B0919E018A019B01082B192B2A2B3B2BA6\r
+:1031F000C901B8011F910F910C947E180F931F9372\r
+:1032000041E050E060E070E004C0440F551F661FCD\r
+:10321000771F8A95D2F7409550956095709580916B\r
+:103220009B0190919C01A0919D01B0919E018A010A\r
+:103230009B01082319232A233B23C901B8011F91AD\r
+:103240000F910C947E180F931F9341E050E060E0C3\r
+:1032500070E004C0440F551F661F771F8A95D2F790\r
+:1032600080919B0190919C01A0919D01B0919E0144\r
+:103270008A019B01082719272A273B27C901B80182\r
+:103280001F910F910C947E180F931F9300919B0137\r
+:1032900010919C0120919D0130919E01602B712B1A\r
+:1032A000822B932B1F910F910C947E180F931F93D9\r
+:1032B00000919B0110919C0120919D0130919E01F4\r
+:1032C00060237123822393231F910F910C947E1806\r
+:1032D0000F931F9300919B0110919C0120919D01E0\r
+:1032E00030919E0160277127822793271F910F91AC\r
+:1032F0000C947E180895CF92DF92EF92FF920F9375\r
+:103300001F93CF93DF938C01C0909F01D090A001B9\r
+:10331000E090A101F090A20140919B0150919C018D\r
+:1033200060919D0170919E01C42AD52AE62AF72A50\r
+:10333000CFE1D0E0D701C6010C2E04C0B695A79509\r
+:10334000979587950A94D2F780FF07C0B8018C2F14\r
+:103350000E94941B8130910531F4219758F7B801F0\r
+:1033600080E00E94941BDF91CF911F910F91FF90FD\r
+:10337000EF90DF90CF90089520910C0130910D01D6\r
+:10338000F90132969FEF40E05191581789F09F3F25\r
+:1033900019F4511101C0942F4F5F4630A9F79F3F98\r
+:1033A00039F0F901E90FF11D97FDFA95828308952F\r
+:1033B000089520910C0130910D01F9013296285F9A\r
+:1033C0003F4F9081981301C010823196E217F307A6\r
+:1033D000C1F7089581E090E0E0910C01F0910D01BA\r
+:1033E000E80FF91F1082019688309105A9F708951A\r
+:1033F0008091AD0108959091AD01892B8093AD012D\r
+:10340000089580959091AD0189238093AD01089531\r
+:103410008093AD0108951092AD0108959091AC0193\r
+:10342000892B8093AC01089580959091AC018923FC\r
+:103430008093AC0108951092AC0108958093A3018C\r
+:1034400008951092A301089580910C0190910D01AF\r
+:10345000FC0131969C01285F3F4F80E091919111D2\r
+:103460008F5FE217F307D1F70895E0910C01F09117\r
+:103470000D018091AD018083E0910C01F0910D016F\r
+:1034800090818091AC01892B80838091A301882356\r
+:1034900061F0E0910C01F0910D019081892B808306\r
+:1034A0000E94241A81111092A30180910C01909125\r
+:1034B0000D010C94450E90933501809334010895CD\r
+:1034C0008295982F9C7C292F26952695982F93736B\r
+:1034D000990F990F922B892F8A7A86959575990F56\r
+:1034E000892B08950895CF93DF9300D000D01F92C9\r
+:1034F000CDB7DEB70F900F900F900F900F90DF9128\r
+:10350000CF910895089508950C948A0F089580919D\r
+:10351000C301843021F11092AF0120E488E190E0F2\r
+:103520000FB6F894A895809360000FBE20936000BA\r
+:1035300083B7817F846083BF83B7816083BF7894C2\r
+:10354000889583B78E7F83BF0FB6F894A895809136\r
+:103550006000886180936000109260000FBE089543\r
+:10356000CF930E94C20F0E9463060E94C30FC0E067\r
+:103570008C2F0E94EA06811104C0CF5FC830C1F7CA\r
+:1035800001C081E0CF9108950E948C0F0C948414A7\r
+:103590001F920F920FB60F9211248F939F93AF93A8\r
+:1035A000BF938091AF01811113C08091B0019091C0\r
+:1035B000B101A091B201B091B3014196A11DB11D1D\r
+:1035C0008093B0019093B101A093B201B093B30185\r
+:1035D000BF91AF919F918F910F900FBE0F901F9051\r
+:1035E000189582E084BD93E095BD9AEF97BD8093D6\r
+:1035F0006E0008952FB7F8948091B0019091B101B9\r
+:10360000A091B201B091B3012FBF08952FB7F894E4\r
+:103610006091B0017091B1018091B2019091B301BC\r
+:103620002FBF0895CF92DF92EF92FF920F931F93D7\r
+:103630002FB7F8944091B0015091B1016091B2015F\r
+:103640007091B3012FBF6A017B01EE24FF248C012E\r
+:1036500020E030E0C016D106E206F30610F4415037\r
+:1036600051099A01281B390BC9011F910F91FF9035\r
+:10367000EF90DF90CF9008951F920F920FB60F92A8\r
+:1036800011248F939F93AF93BF938091B00190913A\r
+:10369000B101A091B201B091B3010196A11DB11D7C\r
+:1036A0008093B0019093B101A093B201B093B301A4\r
+:1036B000BF91AF919F918F910F900FBE0F901F9070\r
+:1036C00018950E948D0BF8942FEF87EA91E6215010\r
+:1036D00080409040E1F700C0000087E090EBDC0103\r
+:1036E0008093CD019093CE01A093CF01B093D001F0\r
+:1036F0009CE088E10FB6F894A895809360000FBE17\r
+:1037000090936000FFCFE92FF0E093E0EE0FFF1FF2\r
+:103710009A95E1F7E80FF11DEA54FF4F9491892F34\r
+:103720008F7092959F700895CF93C82FCB010E9400\r
+:10373000831B492F90E0242F30E054E0220F331FE9\r
+:103740005A95E1F7282B392B2038310519F480E000\r
+:1037500090E017C0EC2FF0E023E0EE0FFF1F2A955A\r
+:10376000E1F74770E40FF11D34E0EE0FFF1F3A95CB\r
+:10377000E1F7E80FF91FEE0FFF1FE050F8498591C0\r
+:103780009491CF91089580E090E008950895CF92AC\r
+:10379000DF92EF92FF920F931F93CF936C01C0E0E3\r
+:1037A0008C2F0E94EA0600E010E0E82EF12CC70101\r
+:1037B000002E02C0959587950A94E2F780FF16C007\r
+:1037C000602F7C2F80E00E94941B9C018C159D052E\r
+:1037D00059F0832F807E932F907C11F0803A31F442\r
+:1037E00030E02C153D0511F481E009C00F5F1F4F3B\r
+:1037F00008301105E1F6CF5FC83091F680E0CF9137\r
+:103800001F910F91FF90EF90DF90CF900895CF938D\r
+:10381000DF93EC018CE290E00E94C71B882329F023\r
+:10382000CE01DF91CF910C94C71B80E0DF91CF9147\r
+:103830000895CF930E947A1D811102C00E94601DDD\r
+:1038400082E093E00E949405C5E6C15049F00E94D1\r
+:1038500063068FE39CE90197F1F700C00000F5CF04\r
+:103860008BEF92E00E94940589E290E00E94071C91\r
+:10387000811124C18AE290E00E94071C81110E94FC\r
+:10388000601D85E090E00E94071C81110E94611B71\r
+:103890000E94861A0E94851D8093AE0187E090E009\r
+:1038A0000E94071C8823C1F18BE190E00E94071C55\r
+:1038B000882351F08091AE0181FB222720F991E00D\r
+:1038C000922790FB81F90FC08EE090E00E94071CC8\r
+:1038D000882361F08091AE0182FB222720F991E0DC\r
+:1038E000922790FB82F98093AE0116C080E190E0B0\r
+:1038F0000E94071C9091AE01882341F093FB222780\r
+:1039000020F981E0822780FB93F904C0892F8095FC\r
+:1039100080FB90F99093AE018091AE010E94891DC9\r
+:103920000E94971D8093CC0180EE90E00E94071CBE\r
+:10393000882341F08091CC01982F909590FB80F9DD\r
+:103940008093CC0189E390E00E94071C882359F002\r
+:103950008091CC0181FB222720F991E0922790FBF6\r
+:1039600081F98093CC0182EE90E00E94071C8823AD\r
+:1039700059F08091CC0182FB222720F991E0922717\r
+:1039800090FB82F98093CC0186EE90E00E94071CA8\r
+:10399000882359F08091CC0183FB222720F991E004\r
+:1039A000922790FB83F98093CC0183EE90E00E94F4\r
+:1039B000071C882359F08091CC0184FB222720F931\r
+:1039C00091E0922790FB84F98093CC0185E390E00D\r
+:1039D0000E94071C882359F08091CC0185FB222787\r
+:1039E00020F991E0922790FB85F98093CC0181E347\r
+:1039F00090E00E94071C882359F08091CC0186FB3F\r
+:103A0000222720F991E0922790FB86F98093CC0140\r
+:103A100081E190E00E94071C882359F08091CC013D\r
+:103A200087FB222720F991E0922790FB87F980936A\r
+:103A3000CC018091CC010E949B1D87E290E00E9406\r
+:103A4000071CC82F8EE190E00E94071C8111C26004\r
+:103A50008FE190E00E94071C8111C46080E290E039\r
+:103A60000E94071C8111C86081E290E00E94071C3F\r
+:103A70008111C06182E290E00E94071C8111C06246\r
+:103A800083E290E00E94071C8111C06484E290E010\r
+:103A90000E94071C882311F0C06802C0CC2329F0C3\r
+:103AA0008C2F0E94921D6C2F03C00E948E1D682FC8\r
+:103AB00070E080E090E0CF910C948B18CF91089546\r
+:103AC0006DEE7EEF80E090E00E94F62660E082E0FE\r
+:103AD00090E00E94E82660E083E090E00E94E82603\r
+:103AE00060E084E090E00E94E82660E085E090E0FD\r
+:103AF0000C94E82680E090E00E94E22621E08D3ED2\r
+:103B00009E4F09F020E0822F089582E090E00C940F\r
+:103B1000DA26682F82E090E00C94E82683E090E0BB\r
+:103B20000C94DA26682F83E090E00C94E82684E079\r
+:103B300090E00C94DA26682F84E090E00C94E8265C\r
+:103B40008091B60180FF0CC08091110190E065E08A\r
+:103B500070E00E948F2695958795959587952EC044\r
+:103B600081FF0AC08091110190E065E070E00E9441\r
+:103B70008F269595879522C082FF08C080911101FC\r
+:103B800090E065E070E00E948F2618C02091B70198\r
+:103B90002223D1F030911001231780F78091110179\r
+:103BA00090E065E070E00E948F26622F70E00E9436\r
+:103BB0008F26632F70E00E94AC26CB0180389105E0\r
+:103BC00030F4009731F0089585E090E008958FE794\r
+:103BD000089581E008958091B60180FF08C060914A\r
+:103BE0000F0170E0759567957595679523C081FF06\r
+:103BF00006C060910F0170E0759567951BC082FF4C\r
+:103C000004C060910F0170E012C06091B70166239B\r
+:103C1000D1F020910E016217A0F780910F0170E0A2\r
+:103C200090E00E948F26622F70E00E94AC266038E0\r
+:103C3000710528F46115710521F0862F08958FE72D\r
+:103C4000089581E0089561E070E0F4CF803F21F4B1\r
+:103C50000E94A01D819504C0813F29F40E94A01DEF\r
+:103C60008093BA010895823F21F40E94A01D81959E\r
+:103C700004C0833F29F40E94A01D8093B9010895D8\r
+:103C8000893F19F40E94EB1D05C08A3F31F40E9460\r
+:103C9000EB1D81958093BB0108958B3F21F40E9419\r
+:103CA000EB1D819504C08C3F29F40E94EB1D80938D\r
+:103CB000BC010895843F21F48091B801816017C050\r
+:103CC000853F21F48091B801826011C0863F21F4C4\r
+:103CD0008091B80184600BC0873F21F48091B801C6\r
+:103CE000886005C0883F31F48091B801806180937D\r
+:103CF000B80108958D3F21F48091B60181600BC019\r
+:103D00008E3F21F48091B601826005C08F3F29F477\r
+:103D10008091B60184608093B6010895803F39F4A4\r
+:103D20008091BA0187FF6CC01092BA0169C0813FCF\r
+:103D300029F48091BA011816BCF362C09091B901C0\r
+:103D4000823F29F497FF5CC01092B90159C0833FAC\r
+:103D500019F41916CCF354C0893F41F48091BB018A\r
+:103D600018160CF04DC01092BB014AC08A3F29F4CE\r
+:103D70008091BB0187FF44C0F6CF8B3F39F480911F\r
+:103D8000BC0187FF3DC01092BC013AC08C3F29F4B2\r
+:103D90008091BC011816BCF333C0843F21F480919C\r
+:103DA000B8018E7F17C0853F21F48091B8018D7FC7\r
+:103DB00011C0863F21F48091B8018B7F0BC0873FF3\r
+:103DC00021F48091B801877F05C0883F31F480914C\r
+:103DD000B8018F7E8093B80113C08D3F21F480918C\r
+:103DE000B6018E7F0BC08E3F21F48091B6018D7F8E\r
+:103DF00005C08F3F29F48091B6018B7F8093B60177\r
+:103E00008091B90181110EC08091BA0181110AC05F\r
+:103E10008091BB01811106C08091BC01811102C05B\r
+:103E20001092B70108958091AE0183FF7EC08EE3AA\r
+:103E300093E00E9494058091B8011F928F9389E3CB\r
+:103E400093E09F938F930E942D0687E393E00E9457\r
+:103E500094058091B901282F082E000C330B3F9355\r
+:103E60008F9384E393E09F938F930E942D0682E3C8\r
+:103E700093E00E9494058091BA01282F082E000C2F\r
+:103E8000330B3F938F938FE293E09F938F930E9426\r
+:103E90002D068DE293E00E9494058091BB01282FAE\r
+:103EA000082E000C330B3F938F938AE293E09F938D\r
+:103EB0008F930E942D0688E293E00E9494058091E2\r
+:103EC000BC01282F082E000C330B3F938F9385E203\r
+:103ED00093E09F938F930E942D0682E293E00E94CD\r
+:103EE00094058091B7011F928F938FE193E09F9388\r
+:103EF0008F930E942D068DE193E00E94940580919E\r
+:103F0000B6011F928F938AE193E09F938F930E9453\r
+:103F10002D0687E193E00E9494058DB79EB74C96DD\r
+:103F20000FB6F8949EBF0FBE8DBF88EB91E00E9444\r
+:103F30008E0E0E94FA1A9093B5018093B4010895F1\r
+:103F40001F93CF93DF938091B4019091B5010E94AC\r
+:103F5000121BFC012091B701222329F0909112013C\r
+:103F6000892F90E007C08091130190E06AE070E033\r
+:103F70000E948F26E817F90708F485C08091B901DF\r
+:103F8000C091BA01D091BB011091BC01811107C051\r
+:103F9000C11175C0D11173C0111171C074C02F3F10\r
+:103FA00019F02F5F2093B701181624F40E94A01D6A\r
+:103FB0008093B9018091B90187FF05C00E94A01DBF\r
+:103FC00081958093B9011C1624F40E94A01D809352\r
+:103FD000BA018091BA0187FF05C00E94A01D81959A\r
+:103FE0008093BA016091B901662331F1C091BA01A1\r
+:103FF000CC2311F1062E000C770B880B990B0E9435\r
+:104000008E2523E333E343E35FE30E94F2250E941E\r
+:1040100056256093B9016C2FCC0F770B880B990B49\r
+:104020000E948E2523E333E343E35FE30E94F225FE\r
+:104030000E9456256093BA011D1624F40E94EB1DC0\r
+:104040008093BB018091BB0187FF05C00E94EB1DDF\r
+:1040500081958093BB01111624F40E94EB1D80937F\r
+:10406000BC018091BC0187FF05C00E94EB1D8195BA\r
+:104070008093BC01DF91CF911F910C94131F2F3FB0\r
+:1040800009F08FCF97CFDF91CF911F910895E8EB83\r
+:10409000F1E085E0DF011D928A95E9F71092B70102\r
+:1040A0001092B601089581E695E00E9494051F9252\r
+:1040B00081E08F931F9285E08F9383E195E09F933A\r
+:1040C0008F930E942D060F900F900F900F900F90DE\r
+:1040D0000F9008958330E9F128F4813061F0823047\r
+:1040E00009F10895853009F462C008F449C08630AA\r
+:1040F00009F474C0089580911301262F30E0280F31\r
+:10410000311D2F3F310524F4680F6093130103C064\r
+:104110008FEF80931301809113011F928F938CE492\r
+:1041200094E072C080911201262F30E0280F311DDB\r
+:104130002F3F310524F4680F6093120103C08FEF05\r
+:1041400080931201809112011F928F938AE394E071\r
+:104150005BC080911101262F30E0280F311D2F3FC9\r
+:10416000310524F4680F6093110103C08FEF809331\r
+:104170001101809111011F928F9387E294E044C056\r
+:1041800080911001262F30E0280F311D2F3F31057F\r
+:1041900024F4680F6093100103C08FEF8093100127\r
+:1041A000809110011F928F9382E194E02DC0809145\r
+:1041B0000F01262F30E0280F311D2F3F310524F449\r
+:1041C000680F60930F0103C08FEF80930F01809100\r
+:1041D0000F011F928F9389EF93E016C080910E011B\r
+:1041E000262F30E0280F311D2F3F310524F4680FB2\r
+:1041F00060930E0103C08FEF80930E0180910E013A\r
+:104200001F928F938EED93E09F938F930E942D06C4\r
+:104210000F900F900F900F900895833081F128F444\r
+:10422000813059F08230D1F00895853009F449C0C9\r
+:10423000B8F1863009F456C00895809113016817CB\r
+:1042400020F4861B8093130102C010921301809109\r
+:1042500013011F928F938FEC93E054C08091120151\r
+:10426000681720F4861B8093120102C0109212017D\r
+:10427000809112011F928F938DEB93E043C0809148\r
+:104280001101681720F4861B8093110102C010925F\r
+:104290001101809111011F928F938AEA93E032C03D\r
+:1042A00080911001681720F4861B8093100102C0D2\r
+:1042B00010921001809110011F928F9385E993E075\r
+:1042C00021C080910F01681720F4861B80930F0195\r
+:1042D00002C010920F0180910F011F928F938CE703\r
+:1042E00093E010C080910E01681720F4861B809324\r
+:1042F0000E0102C010920E0180910E011F928F9349\r
+:1043000081E693E09F938F930E942D060F900F906C\r
+:104310000F900F900895CF93C82F1F928F9386E62A\r
+:1043200096E09F938F930E942D0681E090E0A0E09D\r
+:10433000B0E0BC01CD0104C0660F771F881F991F34\r
+:10434000CA95D2F70E948B180F900F900F900F9084\r
+:10435000CF910C948414CF938732B0F58E3108F04E\r
+:1043600040C28E3009F4BEC100F5873009F48DC11A\r
+:10437000A8F4863009F039C28091AE01817F8E7F2A\r
+:104380008093AE018BE696E00E9494058EE69AE05B\r
+:104390000E94940581E08093BE0175C1883009F4C4\r
+:1043A0003FC08B3009F46BC120C2863109F4E0C1F3\r
+:1043B00020F4803109F4AAC118C2893109F4C1C1BD\r
+:1043C0008B3109F47BC111C2883309F458C150F410\r
+:1043D000893209F404C2853309F401C2873209F035\r
+:1043E00004C2FDC1833409F4FAC128F48A3308F405\r
+:1043F000FCC18953F7C1883409F0F7C10E948414C5\r
+:104400008DE59AE00E9494059FEF23ED80E39150A3\r
+:1044100020408040E1F700C000000E94611B33C1D2\r
+:1044200082E79AE00E94940582E698E00E94940553\r
+:104430000E948E1D1F928F938FE598E09F938F931C\r
+:104440000E942D068DE598E00E9494050E94851D2E\r
+:10445000C82F8AE498E00E9494051F92CF9385E4C8\r
+:1044600098E09F938F930E942D0683E498E00E942A\r
+:10447000940589E398E00E9494058C2F81701F9227\r
+:104480008F9386E398E09F938F930E942D0684E399\r
+:1044900098E00E9494058AE298E00E949405C1FB8E\r
+:1044A000882780F91F928F9387E298E09F938F93DC\r
+:1044B0000E942D0685E298E00E94940589E198E02B\r
+:1044C0000E949405C2FB882780F91F928F9386E192\r
+:1044D00098E09F938F930E942D0684E198E00E94BC\r
+:1044E00094058BE098E00E949405C3FBCC27C0F9AB\r
+:1044F0001F92CF9388E098E09F938F930E942D06A0\r
+:1045000086E098E00E9494050E94971DC82F82EFD4\r
+:1045100097E00E9494051F92CF938DEE97E09F93B2\r
+:104520008F930E942D068BEE97E00E94940582EDFA\r
+:1045300097E00E9494058C2F81701F928F938FECCF\r
+:1045400097E09F938F930E942D068DB79EB780961C\r
+:104550000FB6F8949EBF0FBE8DBF8DEC97E00E9402\r
+:10456000940586EB97E00E949405C1FB882780F9AB\r
+:104570001F928F9383EB97E09F938F930E942D065A\r
+:1045800081EB97E00E9494058FE997E00E949405E3\r
+:10459000C2FB882780F91F928F938CE997E09F9345\r
+:1045A0008F930E942D068AE997E00E94940588E87F\r
+:1045B00097E00E949405C3FB882780F91F928F9390\r
+:1045C00085E897E09F938F930E942D0683E897E0FC\r
+:1045D0000E94940589E797E00E949405C4FB882710\r
+:1045E00080F91F928F9386E797E09F938F930E94A5\r
+:1045F0002D0684E797E00E94940582E697E00E94EA\r
+:104600009405C5FB882780F91F928F938FE597E06B\r
+:104610009F938F930E942D068DE597E00E9494054D\r
+:1046200081E497E00E949405C6FB882780F91F92D9\r
+:104630008F938EE397E09F938F930E942D068CE3D8\r
+:1046400097E00E94940584E397E00E949405C7FBDD\r
+:10465000CC27C0F91F92CF9381E397E09F938F936C\r
+:104660000E942D068FE297E00E9494058DB79EB7B9\r
+:104670004C960FB6F8949EBF0FBE8DBF04C082E962\r
+:1046800096E00E949405C1E0B5C08091AE01C82FAC\r
+:10469000C17080FF09C080E59AE00E949405809176\r
+:1046A000AE01817F8E7F47C084E49AE00E9494052A\r
+:1046B0008091AE0181608093AE01E5CF9091AE0113\r
+:1046C00091FBCC27C0F981E0C827892FC0FB81F975\r
+:1046D0008093AE01CC2319F087E39AE027C089E2EA\r
+:1046E0009AE0CFCF9091AE0192FBCC27C0F981E048\r
+:1046F000C827892FC0FB82F98093AE01CC2319F023\r
+:104700008AE19AE013C08AE09AE0BBCF9091AE01B3\r
+:1047100093FBCC27C0F981E0C827892FC0FB83F920\r
+:104720008093AE01CC2351F08EEF99E00E94940566\r
+:104730008091AE0181608093AE015CC081EF99E011\r
+:10474000A0CF82EE99E00E9494058AEB99E00E9446\r
+:10475000940588E899E00E9494058BE599E00E9411\r
+:1047600094058CE099E00E9494058DED98E089CF46\r
+:104770008FEC98E00E9494050E94390E1F928F934F\r
+:1047800085EB98E09F938F930E942D0680910B01FB\r
+:104790001F928F938EE998E09F938F930E942D062E\r
+:1047A000809153011F928F938BE898E09F938F9392\r
+:1047B0000E942D060E94061B9F938F937F936F93F9\r
+:1047C00084E798E09F938F930E942D068DB79EB744\r
+:1047D00042960FB6F8949EBF0FBE8DBF54CF80E0B7\r
+:1047E00001C08D510E948B214ECF82E798E00E943C\r
+:1047F0009405C0E08C2FCF91089580E0089580E06B\r
+:104800000895CF93C82F8091BE01813071F020F0C0\r
+:10481000823009F44BC042C1E0910C01F0910D01CE\r
+:104820008081823209F03CC107C0E0910C01F09117\r
+:104830000D018081823261F48C2F0E94FD23811151\r
+:1048400004C08C2F0E94AB212FC081E090E02CC0CF\r
+:104850008C2F0E94FF23811126C0C431E1F070F437\r
+:10486000CB3081F0C031D1F40E9453208EE596E028\r
+:104870000E94940582E08093BE0115C0C93259F0B0\r
+:10488000C83361F48BE696E00E94940582E696E0D8\r
+:104890000E94940508C01092BE0104C18CE596E008\r
+:1048A0000E949405FFC081E08170FEC0C43228F5EB\r
+:1048B000CE3108F0C1C0CB30A1F1D0F4C73009F03F\r
+:1048C000D3C08EE18093130182E3809312018AE0CA\r
+:1048D0008093110184E18093100188E080930F019F\r
+:1048E00088E280930E0182E095E00E949405BFC0AB\r
+:1048F000C33149F1C431C1F0B7C0CB3409F4A9C008\r
+:1049000028F4C93289F0C83361F0AEC0C13509F46A\r
+:104910009EC0C23509F499C0CE3409F0A5C06AE042\r
+:104920009EC00E945320A3C08091BD01882319F02E\r
+:104930001092BD019CC08FE095E00E94940581E03B\r
+:104940008093BE01B1C089EE94E00E94940587ED8A\r
+:1049500094E00E949405809113011F928F9384ED3F\r
+:1049600094E09F938F930E942D0682ED94E00E9425\r
+:10497000940580EC94E00E949405809112011F92AE\r
+:104980008F938DEB94E09F938F930E942D068BEB7A\r
+:1049900094E00E9494058CEA94E00E949405809132\r
+:1049A00011011F928F9389EA94E09F938F930E9445\r
+:1049B0002D0687EA94E00E94940586E994E00E941F\r
+:1049C0009405809110011F928F9383E994E09F9347\r
+:1049D0008F930E942D0681E994E00E9494058CE754\r
+:1049E00094E00E94940580910F011F928F9389E7B4\r
+:1049F00094E09F938F930E942D0687E794E00E9496\r
+:104A0000940580E694E00E94940580910E011F9227\r
+:104A10008F938DE594E09F938F930E942D068BE5F5\r
+:104A200094E00E9494058DB79EB748960FB6F8940F\r
+:104A30009EBF0FBE8DBF1BC0CE51EC2FF0E0E75DD7\r
+:104A4000FE4F80818093BD0112C061E003C061E030\r
+:104A500006C06AE08091BD010E946A2008C0809172\r
+:104A6000BD010E940D2103C080E095E013C080913C\r
+:104A7000BD01882369F01F928F938AEF94E09F9382\r
+:104A80008F930E942D060F900F900F900F9004C0EF\r
+:104A900087EF94E00E94940581E006C01092BE0169\r
+:104AA00080E002C080E000CFCF9108950E945D2594\r
+:104AB0006894B1110C94EC2508950E94D12588F0DA\r
+:104AC0009F5798F0B92F9927B751B0F0E1F0660FD2\r
+:104AD000771F881F991F1AF0BA95C9F714C0B13013\r
+:104AE00091F00E94EB25B1E008950C94EB25672F1F\r
+:104AF000782F8827B85F39F0B93FCCF38695779542\r
+:104B00006795B395D9F73EF490958095709561952A\r
+:104B10007F4F8F4F9F4F0895E89409C097FB3EF455\r
+:104B200090958095709561957F4F8F4F9F4F9923FA\r
+:104B3000A9F0F92F96E9BB279395F6958795779578\r
+:104B40006795B795F111F8CFFAF4BB0F11F460FF38\r
+:104B50001BC06F5F7F4F8F4F9F4F16C0882311F090\r
+:104B600096E911C0772321F09EE8872F762F05C0A4\r
+:104B7000662371F096E8862F70E060E02AF09A953F\r
+:104B8000660F771F881FDAF7880F9695879597F934\r
+:104B9000089557FD9058440F551F59F05F3F71F02D\r
+:104BA0004795880F97FB991F61F09F3F79F0879594\r
+:104BB0000895121613061406551FF2CF4695F1DF1D\r
+:104BC00008C0161617061806991FF1CF86957105AD\r
+:104BD000610508940895E894BB2766277727CB01E1\r
+:104BE00097F908950E9404260C947E260E94702650\r
+:104BF00038F00E94772620F0952311F00C94672658\r
+:104C00000C946D260C94EC250E94C92578F3992309\r
+:104C1000C9F35523B9F3950F50E0551FAA27EE2786\r
+:104C2000FF27BB2700240894679520F4E20FF31FA9\r
+:104C3000B41F0A1E220F331F441FAA1F6695A9F72F\r
+:104C4000779530F4F30FB41F0A1E121E08F4639513\r
+:104C5000330F441FAA1F221F769599F7879520F4DA\r
+:104C6000B40F0A1E121E631F440FAA1F221F331FF8\r
+:104C70008695A9F7862F712D602D11249F575040DE\r
+:104C80009AF0F1F088234AF0EE0FFF1FBB1F661F5A\r
+:104C9000771F881F91505040A9F79E3F510580F023\r
+:104CA0000C9467260C94EC255F3FE4F3983ED4F314\r
+:104CB000869577956795B795F795E7959F5FC1F7C7\r
+:104CC000FE2B880F911D9695879597F9089597F972\r
+:104CD0009F6780E870E060E008959FEF80EC0895A2\r
+:104CE00000240A94161617061806090608950024CB\r
+:104CF0000A9412161306140605060895092E039445\r
+:104D0000000C11F4882352F0BB0F40F4BF2B11F4B8\r
+:104D100060FF04C06F5F7F4F8F4F9F4F0895002447\r
+:104D2000552704C0080E591F880F991F009729F0B6\r
+:104D300076956795B8F37105B9F7802D952F08958D\r
+:104D4000991B79E004C0991F961708F0961B881FDD\r
+:104D50007A95C9F78095089597FB072E16F400946D\r
+:104D600007D077FD09D00E94C62607FC05D03EF487\r
+:104D7000909581959F4F0895709561957F4F089507\r
+:104D8000EE0FFF1F0590F491E02D0994AA1BBB1BA9\r
+:104D900051E107C0AA1FBB1FA617B70710F0A61B3B\r
+:104DA000B70B881F991F5A95A9F780959095BC015C\r
+:104DB000CD010895F999FECF92BD81BDF89A99274A\r
+:104DC00080B50895A8E1B0E042E050E00C94FD26E3\r
+:104DD000262FF999FECF1FBA92BD81BD20BD0FB617\r
+:104DE000F894FA9AF99A0FBE019608950E94E8265F\r
+:104DF000272F0C94E926DC01CB01FC01F999FECFA9\r
+:104E000006C0F2BDE1BDF89A319600B40D92415052\r
+:0A4E10005040B8F70895F894FFCF62\r
+:104E1A0005F806E907C60792075E0701A4012808F4\r
+:104E2A00140A321E404D36227A022D02F701D501AC\r
+:104E3A0061017A019301AC0100010203040506072E\r
+:044E4A000809000053\r
+:106800000000000000000000040005000600070072\r
+:10681000080009000A000B000C000D000E000F001C\r
+:1068200010001100120013001400150016001700CC\r
+:10683000180019001A001B001C001D001E001F007C\r
+:10684000200021002200230024002500260027002C\r
+:10685000280029002A002B002C002D002E002F00DC\r
+:1068600030003100000033003400350036003700BE\r
+:106870003800E00000000000000000000000000000\r
+:106880000000000000000000000000000000000008\r
+:1068900000000000000000000000000000000000F8\r
+:1068A00000000000000000000000000000000000E8\r
+:1068B00000000000000000000000000000000000D8\r
+:1068C00000000000000000006400650000000000FF\r
+:1068D00000000000000000000000000000000000B8\r
+:1068E0000000000000000000320000000000000076\r
+:1068F000E000E100E200E300F1A1E500E600E700CE\r
+:106900000100010001000100EA4401000100E2442D\r
+:106910000100010001005500460054004A004B00F0\r
+:10692000560057004700480001000100E9440100FB\r
+:106930000100010001000100010001003A003B00DC\r
+:106940003C003D003E003F0040004100420043004B\r
+:10695000580001004C00390001004400450052007D\r
+:1069600001000100010050004F0029004D004E00C1\r
+:1069700051000100010001000100010001000100BF\r
+:1069800001000100010001000100010001000100FF\r
+:1069900001000100010001000100010001000100EF\r
+:1069A00001000100010001000100010001000100DF\r
+:1069B00001000100010001000100010001000100CF\r
+:1069C00001000100010001000100010001000100BF\r
+:1069D00001000100010001000100010001000100AF\r
+:1069E0000100010001000100490001000100010057\r
+:1069F000010001000100010001000100010001008F\r
+:00000001FF\r
diff --git a/keyboard/alps64/unimap_plain.c b/keyboard/alps64/unimap_plain.c
new file mode 100644 (file)
index 0000000..a0fd4a3
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+Copyright 2016 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "unimap_trans.h"
+
+
+#define AC_FN0     ACTION_LAYER_MOMENTARY(1)
+
+#ifdef KEYMAP_SECTION_ENABLE
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
+#else
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
+#endif
+    /*
+     * Universal keyboard layout
+     *         ,-----------------------------------------------.
+     *         |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
+     * ,---.   |-----------------------------------------------|     ,-----------.     ,-----------.
+     * |Esc|   |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|     |PrS|ScL|Pau|     |VDn|VUp|Mut|
+     * `---'   `-----------------------------------------------'     `-----------'     `-----------'
+     * ,-----------------------------------------------------------. ,-----------. ,---------------.
+     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
+     * |-----------------------------------------------------------| |-----------| |---------------|
+     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +|
+     * |-----------------------------------------------------------| `-----------' |---------------|
+     * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|Retn|               |  4|  5|  6|KP,|
+     * |-----------------------------------------------------------|     ,---.     |---------------|
+     * |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| RO|Shift |     |Up |     |  1|  2|  3|KP=|
+     * |-----------------------------------------------------------| ,-----------. |---------------|
+     * |Ctl|Gui|Alt|MHEN|     Space      |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent|
+     * `-----------------------------------------------------------' `-----------' `---------------'
+     */
+    UNIMAP(
+              NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO, 
+    ESC,      NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,            NO,  NO,  NO,           NO,  NO,  NO,
+    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, NUHS,BSPC,     NO,  NO,  NO,      NO,  NO,  NO,  NO,
+    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSLS,     NO,  NO,  NO,      NO,  NO,  NO,  NO,
+    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NO,  ENT,                         NO,  NO,  NO,  NO,
+    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     NO,  RSFT,          NO,           NO,  NO,  NO,  NO,
+    LCTL,LGUI,LALT,NO,            SPC,           NO,  NO,  RALT,RGUI,APP, FN0,      NO,  NO,  NO,      NO,       NO,  NO
+    ),
+    UNIMAP(
+              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
+    TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS,
+    ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, INS, DEL,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
+    CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP,  TRNS,     TRNS,     TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
+    TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT,     TRNS,PENT,                        TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN,     TRNS,TRNS,          TRNS,         TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,          TRNS,          TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,TRNS,    TRNS,     TRNS,TRNS
+    ),
+};
diff --git a/keyboard/alps64/unimap_trans.h b/keyboard/alps64/unimap_trans.h
new file mode 100644 (file)
index 0000000..e52bd55
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+Copyright 2016 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef UNIMAP_TRNAS_H
+#define UNIMAP_TRNAS_H
+
+#include <stdint.h>
+#include <avr/pgmspace.h>
+#include "unimap.h"
+
+
+/* Mapping to Universal keyboard layout
+ * ,-----------------------------------------------------------.
+ * |`  |  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp|
+ * |-----------------------------------------------------------|
+ * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  |
+ * |-----------------------------------------------------------|
+ * |Caps  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Enter   |
+ * |-----------------------------------------------------------|
+ * |Shft|  \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift |Esc|
+ * |-----------------------------------------------------------'
+ * |Ctrl|Gui |Alt |         Space         |App |Alt |Gui |Ctrl |
+ * `-----------------------------------------------------------'
+ *
+ * ,-----------------------------------------------------------.
+ * |36 |37 |46 |47 |56 |57 |66 |67 |76 |77 |06 |07 |17 |26 |27 |
+ * |-----------------------------------------------------------|
+ * |34   |35 |44 |45 |54 |55 |64 |65 |75 |05 |15 |16 |25 |24   |
+ * |-----------------------------------------------------------|
+ * |32    |33 |43 |52 |53 |63 |73 |74 |03 |04 |13 |14 |    23  |
+ * |-----------------------------------------------------------|
+ * |31  |41 |42 |51 |61 |62 |71 |72 |01 |02 |11 |12 |21    |22 |
+ * |-----------------------------------------------------------|
+ * |30  |40  |50  |         60            |70  |00  |10  |20   |
+ * `-----------------------------------------------------------'
+ */
+const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
+    { UNIMAP_RALT, UNIMAP_M,    UNIMAP_COMM, UNIMAP_K,    UNIMAP_L,    UNIMAP_O,    UNIMAP_0,    UNIMAP_MINS }, /* 00-07 */
+    { UNIMAP_RGUI, UNIMAP_DOT,  UNIMAP_SLSH, UNIMAP_SCLN, UNIMAP_QUOT, UNIMAP_P,    UNIMAP_LBRC, UNIMAP_EQL  }, /* 10-17 */
+    { UNIMAP_RCTL, UNIMAP_RSFT, UNIMAP_ESC,  UNIMAP_ENT,  UNIMAP_BSLS, UNIMAP_RBRC, UNIMAP_JYEN, UNIMAP_BSPC }, /* 20-27 */
+    { UNIMAP_LCTL, UNIMAP_LSFT, UNIMAP_CAPS, UNIMAP_A,    UNIMAP_TAB,  UNIMAP_Q,    UNIMAP_GRV,  UNIMAP_1    }, /* 30-37 */
+    { UNIMAP_LGUI, UNIMAP_NUBS, UNIMAP_Z,    UNIMAP_S,    UNIMAP_W,    UNIMAP_E,    UNIMAP_2,    UNIMAP_3    }, /* 40-47 */
+    { UNIMAP_LALT, UNIMAP_X,    UNIMAP_D,    UNIMAP_F,    UNIMAP_R,    UNIMAP_T,    UNIMAP_4,    UNIMAP_5    }, /* 50-57 */
+    { UNIMAP_SPC,  UNIMAP_C,    UNIMAP_V,    UNIMAP_G,    UNIMAP_Y,    UNIMAP_U,    UNIMAP_6,    UNIMAP_7    }, /* 60-67 */
+    { UNIMAP_APP,  UNIMAP_B,    UNIMAP_N,    UNIMAP_H,    UNIMAP_J,    UNIMAP_I,    UNIMAP_8,    UNIMAP_9    }, /* 70-77 */
+};
+
+#endif
+
+
Imprint / Impressum