From 5e0f1e3360ab5b8c7212bff835873f6c0fb84cc5 Mon Sep 17 00:00:00 2001 From: Michael McMaster Date: Sat, 12 Jul 2014 23:55:57 +1000 Subject: [PATCH] Added support for v4.2 boards Renamed "pbook" firmware to "v4". Original "green" boards now under "v3". Add external LED support for v4 firmware. Added --reset to scsi2sd-config bootloaderhost can now reset the board. --- CHANGELOG | 7 +- readme.txt | 31 +- .../SCSI2SD/pbook/pbook.cydsn/OddParityGen | 1 - .../SCSI2SD/pbook/pbook.cydsn/pbook.cydwr | Bin 135447 -> 0 bytes .../SCSI2SD/pbook/pbook.cydsn/pbook.cyfit | Bin 239136 -> 0 bytes software/SCSI2SD/pbook/pbook.cydsn/scsiTarget | 1 - software/SCSI2SD/src/config.c | 39 +- software/SCSI2SD/src/disk.c | 7 +- software/SCSI2SD/src/led.c | 77 + software/SCSI2SD/src/led.h | 5 +- software/SCSI2SD/src/main.c | 11 +- software/SCSI2SD/src/scsi.c | 98 +- software/SCSI2SD/src/scsi.h | 11 - .../SCSI2SD/{ => v3}/SCSI2SD.cydsn/.gitignore | 0 .../Generated_Source/PSoC5/Bootloadable_1.c | 0 .../Generated_Source/PSoC5/Bootloadable_1.h | 0 .../Generated_Source/PSoC5/CFG_EEPROM.c | 0 .../Generated_Source/PSoC5/CFG_EEPROM.h | 0 .../Generated_Source/PSoC5/Cm3Iar.icf | 0 .../Generated_Source/PSoC5/Cm3RealView.scat | 0 .../Generated_Source/PSoC5/Cm3Start.c | 0 .../Generated_Source/PSoC5/CyBootAsmGnu.s | 0 .../Generated_Source/PSoC5/CyBootAsmIar.s | 0 .../Generated_Source/PSoC5/CyBootAsmRv.s | 0 .../Generated_Source/PSoC5/CyDmac.c | 0 .../Generated_Source/PSoC5/CyDmac.h | 0 .../Generated_Source/PSoC5/CyFlash.c | 0 .../Generated_Source/PSoC5/CyFlash.h | 0 .../Generated_Source/PSoC5/CyLib.c | 0 .../Generated_Source/PSoC5/CyLib.h | 0 .../Generated_Source/PSoC5/CySpc.c | 0 .../Generated_Source/PSoC5/CySpc.h | 0 .../Generated_Source/PSoC5/Debug_Timer.c | 0 .../Generated_Source/PSoC5/Debug_Timer.h | 0 .../PSoC5/Debug_Timer_Interrupt.c | 0 .../PSoC5/Debug_Timer_Interrupt.h | 0 .../Generated_Source/PSoC5/Debug_Timer_PM.c | 0 .../Generated_Source/PSoC5/LED1.c | 0 .../Generated_Source/PSoC5/LED1.h | 0 .../Generated_Source/PSoC5/LED1_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_ATN.c | 0 .../Generated_Source/PSoC5/SCSI_ATN.h | 0 .../Generated_Source/PSoC5/SCSI_ATN_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_CLK.c | 0 .../Generated_Source/PSoC5/SCSI_CLK.h | 0 .../Generated_Source/PSoC5/SCSI_CTL_PHASE.c | 0 .../Generated_Source/PSoC5/SCSI_CTL_PHASE.h | 0 .../PSoC5/SCSI_In_DBx_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_In_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_Out_Bits.c | 0 .../Generated_Source/PSoC5/SCSI_Out_Bits.h | 0 .../Generated_Source/PSoC5/SCSI_Out_Ctl.c | 0 .../Generated_Source/PSoC5/SCSI_Out_Ctl.h | 0 .../PSoC5/SCSI_Out_DBx_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_Out_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_RST.c | 0 .../Generated_Source/PSoC5/SCSI_RST.h | 0 .../Generated_Source/PSoC5/SCSI_RST_ISR.c | 0 .../Generated_Source/PSoC5/SCSI_RST_ISR.h | 0 .../Generated_Source/PSoC5/SCSI_RST_aliases.h | 0 .../PSoC5/SCSI_RX_DMA_COMPLETE.c | 0 .../PSoC5/SCSI_RX_DMA_COMPLETE.h | 0 .../Generated_Source/PSoC5/SCSI_RX_DMA_dma.c | 0 .../Generated_Source/PSoC5/SCSI_RX_DMA_dma.h | 0 .../Generated_Source/PSoC5/SCSI_TX_COMPLETE.c | 0 .../Generated_Source/PSoC5/SCSI_TX_COMPLETE.h | 0 .../PSoC5/SCSI_TX_DMA_COMPLETE.c | 0 .../PSoC5/SCSI_TX_DMA_COMPLETE.h | 0 .../Generated_Source/PSoC5/SCSI_TX_DMA_dma.c | 0 .../Generated_Source/PSoC5/SCSI_TX_DMA_dma.h | 0 .../Generated_Source/PSoC5/SDCard.c | 0 .../Generated_Source/PSoC5/SDCard.h | 0 .../Generated_Source/PSoC5/SDCard_INT.c | 0 .../Generated_Source/PSoC5/SDCard_PM.c | 0 .../Generated_Source/PSoC5/SDCard_PVT.h | 0 .../Generated_Source/PSoC5/SD_CD.c | 0 .../Generated_Source/PSoC5/SD_CD.h | 0 .../Generated_Source/PSoC5/SD_CD_aliases.h | 0 .../Generated_Source/PSoC5/SD_CS.c | 0 .../Generated_Source/PSoC5/SD_CS.h | 0 .../Generated_Source/PSoC5/SD_CS_aliases.h | 0 .../Generated_Source/PSoC5/SD_DAT1.c | 0 .../Generated_Source/PSoC5/SD_DAT1.h | 0 .../Generated_Source/PSoC5/SD_DAT1_aliases.h | 0 .../Generated_Source/PSoC5/SD_DAT2.c | 0 .../Generated_Source/PSoC5/SD_DAT2.h | 0 .../Generated_Source/PSoC5/SD_DAT2_aliases.h | 0 .../Generated_Source/PSoC5/SD_Data_Clk.c | 0 .../Generated_Source/PSoC5/SD_Data_Clk.h | 0 .../Generated_Source/PSoC5/SD_MISO.c | 0 .../Generated_Source/PSoC5/SD_MISO.h | 0 .../Generated_Source/PSoC5/SD_MISO_aliases.h | 0 .../Generated_Source/PSoC5/SD_MOSI.c | 0 .../Generated_Source/PSoC5/SD_MOSI.h | 0 .../Generated_Source/PSoC5/SD_MOSI_aliases.h | 0 .../PSoC5/SD_RX_DMA_COMPLETE.c | 0 .../PSoC5/SD_RX_DMA_COMPLETE.h | 0 .../Generated_Source/PSoC5/SD_RX_DMA_dma.c | 0 .../Generated_Source/PSoC5/SD_RX_DMA_dma.h | 0 .../Generated_Source/PSoC5/SD_SCK.c | 0 .../Generated_Source/PSoC5/SD_SCK.h | 0 .../Generated_Source/PSoC5/SD_SCK_aliases.h | 0 .../PSoC5/SD_TX_DMA_COMPLETE.c | 0 .../PSoC5/SD_TX_DMA_COMPLETE.h | 0 .../Generated_Source/PSoC5/SD_TX_DMA_dma.c | 0 .../Generated_Source/PSoC5/SD_TX_DMA_dma.h | 0 .../Generated_Source/PSoC5/USBFS.c | 0 .../Generated_Source/PSoC5/USBFS.h | 0 .../Generated_Source/PSoC5/USBFS_Dm.c | 0 .../Generated_Source/PSoC5/USBFS_Dm.h | 0 .../Generated_Source/PSoC5/USBFS_Dm_aliases.h | 0 .../Generated_Source/PSoC5/USBFS_Dp.c | 0 .../Generated_Source/PSoC5/USBFS_Dp.h | 0 .../Generated_Source/PSoC5/USBFS_Dp_aliases.h | 0 .../Generated_Source/PSoC5/USBFS_audio.c | 0 .../Generated_Source/PSoC5/USBFS_audio.h | 0 .../Generated_Source/PSoC5/USBFS_boot.c | 0 .../Generated_Source/PSoC5/USBFS_cdc.c | 0 .../Generated_Source/PSoC5/USBFS_cdc.h | 0 .../Generated_Source/PSoC5/USBFS_cdc.inf | 0 .../Generated_Source/PSoC5/USBFS_cls.c | 0 .../Generated_Source/PSoC5/USBFS_descr.c | 2 +- .../Generated_Source/PSoC5/USBFS_drv.c | 0 .../Generated_Source/PSoC5/USBFS_episr.c | 0 .../Generated_Source/PSoC5/USBFS_hid.c | 0 .../Generated_Source/PSoC5/USBFS_hid.h | 0 .../Generated_Source/PSoC5/USBFS_midi.c | 0 .../Generated_Source/PSoC5/USBFS_midi.h | 0 .../Generated_Source/PSoC5/USBFS_pm.c | 0 .../Generated_Source/PSoC5/USBFS_pvt.h | 0 .../Generated_Source/PSoC5/USBFS_std.c | 0 .../Generated_Source/PSoC5/USBFS_vnd.c | 0 .../Generated_Source/PSoC5/cm3gcc.ld | 0 .../Generated_Source/PSoC5/core_cm3.h | 0 .../Generated_Source/PSoC5/core_cm3_psoc5.h | 0 .../Generated_Source/PSoC5/core_cmFunc.h | 0 .../Generated_Source/PSoC5/core_cmInstr.h | 0 .../Generated_Source/PSoC5/cyPm.c | 0 .../Generated_Source/PSoC5/cyPm.h | 0 .../Generated_Source/PSoC5/cybootloader.c | 4 +- .../Generated_Source/PSoC5/cybootloader.icf | 0 .../Generated_Source/PSoC5/cydevice.h | 0 .../Generated_Source/PSoC5/cydevice_trm.h | 0 .../Generated_Source/PSoC5/cydevicegnu.inc | 0 .../PSoC5/cydevicegnu_trm.inc | 0 .../Generated_Source/PSoC5/cydeviceiar.inc | 0 .../PSoC5/cydeviceiar_trm.inc | 0 .../Generated_Source/PSoC5/cydevicerv.inc | 0 .../Generated_Source/PSoC5/cydevicerv_trm.inc | 0 .../Generated_Source/PSoC5/cydisabledsheets.h | 0 .../Generated_Source/PSoC5/cyfitter.h | 0 .../Generated_Source/PSoC5/cyfitter_cfg.c | 0 .../Generated_Source/PSoC5/cyfitter_cfg.h | 0 .../Generated_Source/PSoC5/cyfittergnu.inc | 0 .../Generated_Source/PSoC5/cyfitteriar.inc | 0 .../Generated_Source/PSoC5/cyfitterrv.inc | 0 .../Generated_Source/PSoC5/cymetadata.c | 2 +- .../Generated_Source/PSoC5/cypins.h | 0 .../Generated_Source/PSoC5/cytypes.h | 0 .../Generated_Source/PSoC5/cyutils.c | 0 .../Generated_Source/PSoC5/eeprom.hex | 0 .../Generated_Source/PSoC5/project.h | 0 .../Generated_Source/PSoC5/protect.hex | 0 .../Generated_Source/PSoC5/timer_clock.c | 0 .../Generated_Source/PSoC5/timer_clock.h | 0 .../OddParityGen/OddParityGen.cysym | Bin .../SCSI2SD.cydsn/OddParityGen/OddParityGen.v | 0 .../{ => v3}/SCSI2SD.cydsn/SCSI2SD.cycdx | 0 .../{ => v3}/SCSI2SD.cydsn/SCSI2SD.cydwr | Bin .../{ => v3}/SCSI2SD.cydsn/SCSI2SD.cyfit | Bin 242695 -> 242690 bytes .../{ => v3}/SCSI2SD.cydsn/SCSI2SD.cyprj | 53 +- .../{ => v3}/SCSI2SD.cydsn/SCSI2SD.cyversion | 0 .../{ => v3}/SCSI2SD.cydsn/SCSI2SD.svd | 0 .../SCSI2SD.cydsn/SCSI2SD_PSoC5lib.uvopt | 0 .../SCSI2SD.cydsn/SCSI2SD_PSoC5lib.uvproj | 0 .../SCSI2SD.cydsn/TopDesign/TopDesign.cysch | Bin 195925 -> 195922 bytes .../SCSI2SD/{ => v3}/SCSI2SD.cydsn/device.h | 0 .../SCSI2SD.cydsn/scsiTarget/scsiTarget.cysym | Bin .../SCSI2SD.cydsn/scsiTarget/scsiTarget.v | 0 .../Generated_Source/PSoC5/BL.c | 0 .../Generated_Source/PSoC5/BL.h | 0 .../Generated_Source/PSoC5/BL_PVT.h | 0 .../Generated_Source/PSoC5/Cm3Iar.icf | 0 .../Generated_Source/PSoC5/Cm3RealView.scat | 0 .../Generated_Source/PSoC5/Cm3Start.c | 0 .../Generated_Source/PSoC5/CyBootAsmGnu.s | 0 .../Generated_Source/PSoC5/CyBootAsmIar.s | 0 .../Generated_Source/PSoC5/CyBootAsmRv.s | 0 .../Generated_Source/PSoC5/CyDmac.c | 0 .../Generated_Source/PSoC5/CyDmac.h | 0 .../Generated_Source/PSoC5/CyFlash.c | 0 .../Generated_Source/PSoC5/CyFlash.h | 0 .../Generated_Source/PSoC5/CyLib.c | 0 .../Generated_Source/PSoC5/CyLib.h | 0 .../Generated_Source/PSoC5/CySpc.c | 0 .../Generated_Source/PSoC5/CySpc.h | 0 .../PSoC5/SCSI_Out_DBx_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_Out_aliases.h | 0 .../Generated_Source/PSoC5/SD_PULLUP.c | 0 .../Generated_Source/PSoC5/SD_PULLUP.h | 0 .../PSoC5/SD_PULLUP_aliases.h | 0 .../Generated_Source/PSoC5/USBFS.c | 0 .../Generated_Source/PSoC5/USBFS.h | 0 .../Generated_Source/PSoC5/USBFS_Dm.c | 0 .../Generated_Source/PSoC5/USBFS_Dm.h | 0 .../Generated_Source/PSoC5/USBFS_Dm_aliases.h | 0 .../Generated_Source/PSoC5/USBFS_Dp.c | 0 .../Generated_Source/PSoC5/USBFS_Dp.h | 0 .../Generated_Source/PSoC5/USBFS_Dp_aliases.h | 0 .../Generated_Source/PSoC5/USBFS_audio.c | 0 .../Generated_Source/PSoC5/USBFS_audio.h | 0 .../Generated_Source/PSoC5/USBFS_boot.c | 0 .../Generated_Source/PSoC5/USBFS_cdc.c | 0 .../Generated_Source/PSoC5/USBFS_cdc.h | 0 .../Generated_Source/PSoC5/USBFS_cdc.inf | 0 .../Generated_Source/PSoC5/USBFS_cls.c | 0 .../Generated_Source/PSoC5/USBFS_descr.c | 0 .../Generated_Source/PSoC5/USBFS_drv.c | 0 .../Generated_Source/PSoC5/USBFS_episr.c | 0 .../Generated_Source/PSoC5/USBFS_hid.c | 0 .../Generated_Source/PSoC5/USBFS_hid.h | 0 .../Generated_Source/PSoC5/USBFS_midi.c | 0 .../Generated_Source/PSoC5/USBFS_midi.h | 0 .../Generated_Source/PSoC5/USBFS_pm.c | 0 .../Generated_Source/PSoC5/USBFS_pvt.h | 0 .../Generated_Source/PSoC5/USBFS_std.c | 0 .../Generated_Source/PSoC5/USBFS_vnd.c | 0 .../Generated_Source/PSoC5/cm3gcc.ld | 0 .../Generated_Source/PSoC5/core_cm3.h | 0 .../Generated_Source/PSoC5/core_cm3_psoc5.h | 0 .../Generated_Source/PSoC5/core_cmFunc.h | 0 .../Generated_Source/PSoC5/core_cmInstr.h | 0 .../Generated_Source/PSoC5/cyPm.c | 0 .../Generated_Source/PSoC5/cyPm.h | 0 .../Generated_Source/PSoC5/cydevice.h | 0 .../Generated_Source/PSoC5/cydevice_trm.h | 0 .../Generated_Source/PSoC5/cydevicegnu.inc | 0 .../PSoC5/cydevicegnu_trm.inc | 0 .../Generated_Source/PSoC5/cydeviceiar.inc | 0 .../PSoC5/cydeviceiar_trm.inc | 0 .../Generated_Source/PSoC5/cydevicerv.inc | 0 .../Generated_Source/PSoC5/cydevicerv_trm.inc | 0 .../Generated_Source/PSoC5/cydisabledsheets.h | 0 .../Generated_Source/PSoC5/cyfitter.h | 0 .../Generated_Source/PSoC5/cyfitter_cfg.c | 0 .../Generated_Source/PSoC5/cyfitter_cfg.h | 0 .../Generated_Source/PSoC5/cyfittergnu.inc | 0 .../Generated_Source/PSoC5/cyfitteriar.inc | 0 .../Generated_Source/PSoC5/cyfitterrv.inc | 0 .../Generated_Source/PSoC5/cymetadata.c | 0 .../Generated_Source/PSoC5/cypins.h | 0 .../Generated_Source/PSoC5/cytypes.h | 0 .../Generated_Source/PSoC5/cyutils.c | 0 .../Generated_Source/PSoC5/eeprom.hex | 0 .../Generated_Source/PSoC5/project.h | 0 .../Generated_Source/PSoC5/protect.hex | 0 .../Generated_Source/PSoCCreatorExportIDE.xml | 36 +- .../TopDesign/TopDesign.cysch | Bin 107373 -> 107437 bytes .../USB_Bootloader.cydsn/USB_Bootloader.cycdx | 0 .../USB_Bootloader.cydsn/USB_Bootloader.cydwr | Bin .../USB_Bootloader.cydsn/USB_Bootloader.cyfit | Bin 159471 -> 159471 bytes .../USB_Bootloader.cydsn/USB_Bootloader.cyprj | 0 .../USB_Bootloader.cyprj.Micha_000 | 110 +- .../USB_Bootloader.cyversion | 0 .../USB_Bootloader.cydsn/USB_Bootloader.rpt | 88 +- .../USB_Bootloader.cydsn/USB_Bootloader.svd | 0 .../USB_Bootloader_timing.html | 2 +- .../{ => v3}/USB_Bootloader.cydsn/main.c | 0 .../SCSI2SD.cydsn}/.gitignore | 0 .../Generated_Source/PSoC5/Bootloadable_1.c | 0 .../Generated_Source/PSoC5/Bootloadable_1.h | 0 .../Generated_Source/PSoC5/CFG_EEPROM.c | 0 .../Generated_Source/PSoC5/CFG_EEPROM.h | 0 .../Generated_Source/PSoC5/Cm3Iar.icf | 0 .../Generated_Source/PSoC5/Cm3RealView.scat | 0 .../Generated_Source/PSoC5/Cm3Start.c | 0 .../Generated_Source/PSoC5/CyBootAsmGnu.s | 0 .../Generated_Source/PSoC5/CyBootAsmIar.s | 0 .../Generated_Source/PSoC5/CyBootAsmRv.s | 0 .../Generated_Source/PSoC5/CyDmac.c | 0 .../Generated_Source/PSoC5/CyDmac.h | 0 .../Generated_Source/PSoC5/CyFlash.c | 0 .../Generated_Source/PSoC5/CyFlash.h | 0 .../Generated_Source/PSoC5/CyLib.c | 0 .../Generated_Source/PSoC5/CyLib.h | 0 .../Generated_Source/PSoC5/CySpc.c | 0 .../Generated_Source/PSoC5/CySpc.h | 0 .../Generated_Source/PSoC5/Debug_Timer.c | 0 .../Generated_Source/PSoC5/Debug_Timer.h | 0 .../PSoC5/Debug_Timer_Interrupt.c | 0 .../PSoC5/Debug_Timer_Interrupt.h | 0 .../Generated_Source/PSoC5/Debug_Timer_PM.c | 0 .../Generated_Source/PSoC5/EXTLED.c | 137 ++ .../Generated_Source/PSoC5/EXTLED.h | 130 ++ .../Generated_Source/PSoC5/EXTLED_aliases.h | 32 + .../Generated_Source/PSoC5/LED1.c | 0 .../Generated_Source/PSoC5/LED1.h | 0 .../Generated_Source/PSoC5/LED1_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_ATN.c | 0 .../Generated_Source/PSoC5/SCSI_ATN.h | 0 .../Generated_Source/PSoC5/SCSI_ATN_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_CTL_IO.c | 0 .../Generated_Source/PSoC5/SCSI_CTL_IO.h | 0 .../Generated_Source/PSoC5/SCSI_CTL_PHASE.c | 0 .../Generated_Source/PSoC5/SCSI_CTL_PHASE.h | 0 .../PSoC5/SCSI_In_DBx_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_In_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_Out_Bits.c | 0 .../Generated_Source/PSoC5/SCSI_Out_Bits.h | 0 .../Generated_Source/PSoC5/SCSI_Out_Ctl.c | 0 .../Generated_Source/PSoC5/SCSI_Out_Ctl.h | 0 .../PSoC5/SCSI_Out_DBx_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_Out_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_RST.c | 0 .../Generated_Source/PSoC5/SCSI_RST.h | 0 .../Generated_Source/PSoC5/SCSI_RST_ISR.c | 0 .../Generated_Source/PSoC5/SCSI_RST_ISR.h | 0 .../Generated_Source/PSoC5/SCSI_RST_aliases.h | 0 .../PSoC5/SCSI_RX_DMA_COMPLETE.c | 0 .../PSoC5/SCSI_RX_DMA_COMPLETE.h | 0 .../Generated_Source/PSoC5/SCSI_RX_DMA_dma.c | 0 .../Generated_Source/PSoC5/SCSI_RX_DMA_dma.h | 0 .../PSoC5/SCSI_TX_DMA_COMPLETE.c | 0 .../PSoC5/SCSI_TX_DMA_COMPLETE.h | 0 .../Generated_Source/PSoC5/SCSI_TX_DMA_dma.c | 0 .../Generated_Source/PSoC5/SCSI_TX_DMA_dma.h | 0 .../Generated_Source/PSoC5/SDCard.c | 0 .../Generated_Source/PSoC5/SDCard.h | 0 .../Generated_Source/PSoC5/SDCard_INT.c | 0 .../Generated_Source/PSoC5/SDCard_PM.c | 0 .../Generated_Source/PSoC5/SDCard_PVT.h | 0 .../Generated_Source/PSoC5/SD_CD.c | 0 .../Generated_Source/PSoC5/SD_CD.h | 0 .../Generated_Source/PSoC5/SD_CD_aliases.h | 0 .../Generated_Source/PSoC5/SD_CS.c | 0 .../Generated_Source/PSoC5/SD_CS.h | 0 .../Generated_Source/PSoC5/SD_CS_aliases.h | 0 .../Generated_Source/PSoC5/SD_Clk_Ctl.c | 0 .../Generated_Source/PSoC5/SD_Clk_Ctl.h | 0 .../Generated_Source/PSoC5/SD_Data_Clk.c | 0 .../Generated_Source/PSoC5/SD_Data_Clk.h | 0 .../Generated_Source/PSoC5/SD_Init_Clk.c | 0 .../Generated_Source/PSoC5/SD_Init_Clk.h | 0 .../Generated_Source/PSoC5/SD_MISO.c | 0 .../Generated_Source/PSoC5/SD_MISO.h | 0 .../Generated_Source/PSoC5/SD_MISO_aliases.h | 0 .../Generated_Source/PSoC5/SD_MOSI.c | 0 .../Generated_Source/PSoC5/SD_MOSI.h | 0 .../Generated_Source/PSoC5/SD_MOSI_aliases.h | 0 .../PSoC5/SD_RX_DMA_COMPLETE.c | 0 .../PSoC5/SD_RX_DMA_COMPLETE.h | 0 .../Generated_Source/PSoC5/SD_RX_DMA_dma.c | 0 .../Generated_Source/PSoC5/SD_RX_DMA_dma.h | 0 .../Generated_Source/PSoC5/SD_SCK.c | 0 .../Generated_Source/PSoC5/SD_SCK.h | 0 .../Generated_Source/PSoC5/SD_SCK_aliases.h | 0 .../PSoC5/SD_TX_DMA_COMPLETE.c | 0 .../PSoC5/SD_TX_DMA_COMPLETE.h | 0 .../Generated_Source/PSoC5/SD_TX_DMA_dma.c | 0 .../Generated_Source/PSoC5/SD_TX_DMA_dma.h | 0 .../Generated_Source/PSoC5/USBFS.c | 0 .../Generated_Source/PSoC5/USBFS.h | 0 .../Generated_Source/PSoC5/USBFS_Dm.c | 0 .../Generated_Source/PSoC5/USBFS_Dm.h | 0 .../Generated_Source/PSoC5/USBFS_Dm_aliases.h | 0 .../Generated_Source/PSoC5/USBFS_Dp.c | 0 .../Generated_Source/PSoC5/USBFS_Dp.h | 0 .../Generated_Source/PSoC5/USBFS_Dp_aliases.h | 0 .../Generated_Source/PSoC5/USBFS_audio.c | 0 .../Generated_Source/PSoC5/USBFS_audio.h | 0 .../Generated_Source/PSoC5/USBFS_boot.c | 0 .../Generated_Source/PSoC5/USBFS_cdc.c | 0 .../Generated_Source/PSoC5/USBFS_cdc.h | 0 .../Generated_Source/PSoC5/USBFS_cdc.inf | 0 .../Generated_Source/PSoC5/USBFS_cls.c | 0 .../Generated_Source/PSoC5/USBFS_descr.c | 2 +- .../Generated_Source/PSoC5/USBFS_drv.c | 0 .../Generated_Source/PSoC5/USBFS_episr.c | 0 .../Generated_Source/PSoC5/USBFS_hid.c | 0 .../Generated_Source/PSoC5/USBFS_hid.h | 0 .../Generated_Source/PSoC5/USBFS_midi.c | 0 .../Generated_Source/PSoC5/USBFS_midi.h | 0 .../Generated_Source/PSoC5/USBFS_pm.c | 0 .../Generated_Source/PSoC5/USBFS_pvt.h | 0 .../Generated_Source/PSoC5/USBFS_std.c | 0 .../Generated_Source/PSoC5/USBFS_vnd.c | 0 .../Generated_Source/PSoC5/cm3gcc.ld | 0 .../Generated_Source/PSoC5/core_cm3.h | 0 .../Generated_Source/PSoC5/core_cm3_psoc5.h | 0 .../Generated_Source/PSoC5/core_cmFunc.h | 0 .../Generated_Source/PSoC5/core_cmInstr.h | 0 .../Generated_Source/PSoC5/cyPm.c | 0 .../Generated_Source/PSoC5/cyPm.h | 0 .../Generated_Source/PSoC5/cybootloader.c | 334 +-- .../Generated_Source/PSoC5/cybootloader.icf | 0 .../Generated_Source/PSoC5/cydevice.h | 0 .../Generated_Source/PSoC5/cydevice_trm.h | 0 .../Generated_Source/PSoC5/cydevicegnu.inc | 0 .../PSoC5/cydevicegnu_trm.inc | 0 .../Generated_Source/PSoC5/cydeviceiar.inc | 0 .../PSoC5/cydeviceiar_trm.inc | 0 .../Generated_Source/PSoC5/cydevicerv.inc | 0 .../Generated_Source/PSoC5/cydevicerv_trm.inc | 0 .../Generated_Source/PSoC5/cydisabledsheets.h | 0 .../Generated_Source/PSoC5/cyfitter.h | 195 +- .../Generated_Source/PSoC5/cyfitter_cfg.c | 1973 +++++++++-------- .../Generated_Source/PSoC5/cyfitter_cfg.h | 0 .../Generated_Source/PSoC5/cyfittergnu.inc | 195 +- .../Generated_Source/PSoC5/cyfitteriar.inc | 195 +- .../Generated_Source/PSoC5/cyfitterrv.inc | 195 +- .../Generated_Source/PSoC5/cymetadata.c | 2 +- .../Generated_Source/PSoC5/cypins.h | 0 .../Generated_Source/PSoC5/cytypes.h | 0 .../Generated_Source/PSoC5/cyutils.c | 0 .../Generated_Source/PSoC5/eeprom.hex | 0 .../Generated_Source/PSoC5/project.h | 2 + .../Generated_Source/PSoC5/protect.hex | 0 .../Generated_Source/PSoC5/timer_clock.c | 0 .../Generated_Source/PSoC5/timer_clock.h | 0 .../Generated_Source/PSoCCreatorExportIDE.xml | 50 +- .../SCSI2SD/v4/SCSI2SD.cydsn/OddParityGen | 1 + .../SCSI2SD.cydsn/SCSI2SD.cycdx} | 29 +- .../SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cydwr | Bin 0 -> 135706 bytes .../SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit | Bin 0 -> 239872 bytes .../SCSI2SD.cydsn/SCSI2SD.cyprj} | 50 +- .../SCSI2SD.cydsn/SCSI2SD.svd} | 6 +- .../SCSI2SD.cydsn}/TopDesign/TopDesign.cysch | Bin 191735 -> 193252 bytes .../pbook.cydsn => v4/SCSI2SD.cydsn}/device.h | 0 software/SCSI2SD/v4/SCSI2SD.cydsn/scsiTarget | 1 + .../Generated_Source/PSoC5/BL.c | 0 .../Generated_Source/PSoC5/BL.h | 0 .../Generated_Source/PSoC5/BL_PVT.h | 0 .../Generated_Source/PSoC5/Cm3Iar.icf | 0 .../Generated_Source/PSoC5/Cm3RealView.scat | 0 .../Generated_Source/PSoC5/Cm3Start.c | 0 .../Generated_Source/PSoC5/CyBootAsmGnu.s | 0 .../Generated_Source/PSoC5/CyBootAsmIar.s | 0 .../Generated_Source/PSoC5/CyBootAsmRv.s | 0 .../Generated_Source/PSoC5/CyDmac.c | 0 .../Generated_Source/PSoC5/CyDmac.h | 0 .../Generated_Source/PSoC5/CyFlash.c | 0 .../Generated_Source/PSoC5/CyFlash.h | 0 .../Generated_Source/PSoC5/CyLib.c | 0 .../Generated_Source/PSoC5/CyLib.h | 0 .../Generated_Source/PSoC5/CySpc.c | 0 .../Generated_Source/PSoC5/CySpc.h | 0 .../Generated_Source/PSoC5/LED.c | 0 .../Generated_Source/PSoC5/LED.h | 0 .../Generated_Source/PSoC5/LED_aliases.h | 0 .../PSoC5/SCSI_Out_DBx_aliases.h | 0 .../Generated_Source/PSoC5/SCSI_Out_aliases.h | 0 .../Generated_Source/PSoC5/SD_PULLUP.c | 0 .../Generated_Source/PSoC5/SD_PULLUP.h | 0 .../PSoC5/SD_PULLUP_aliases.h | 0 .../Generated_Source/PSoC5/USBFS.c | 0 .../Generated_Source/PSoC5/USBFS.h | 0 .../Generated_Source/PSoC5/USBFS_Dm.c | 0 .../Generated_Source/PSoC5/USBFS_Dm.h | 0 .../Generated_Source/PSoC5/USBFS_Dm_aliases.h | 0 .../Generated_Source/PSoC5/USBFS_Dp.c | 0 .../Generated_Source/PSoC5/USBFS_Dp.h | 0 .../Generated_Source/PSoC5/USBFS_Dp_aliases.h | 0 .../Generated_Source/PSoC5/USBFS_audio.c | 0 .../Generated_Source/PSoC5/USBFS_audio.h | 0 .../Generated_Source/PSoC5/USBFS_boot.c | 0 .../Generated_Source/PSoC5/USBFS_cdc.c | 0 .../Generated_Source/PSoC5/USBFS_cdc.h | 0 .../Generated_Source/PSoC5/USBFS_cdc.inf | 0 .../Generated_Source/PSoC5/USBFS_cls.c | 0 .../Generated_Source/PSoC5/USBFS_descr.c | 0 .../Generated_Source/PSoC5/USBFS_drv.c | 0 .../Generated_Source/PSoC5/USBFS_episr.c | 0 .../Generated_Source/PSoC5/USBFS_hid.c | 0 .../Generated_Source/PSoC5/USBFS_hid.h | 0 .../Generated_Source/PSoC5/USBFS_midi.c | 0 .../Generated_Source/PSoC5/USBFS_midi.h | 0 .../Generated_Source/PSoC5/USBFS_pm.c | 0 .../Generated_Source/PSoC5/USBFS_pvt.h | 0 .../Generated_Source/PSoC5/USBFS_std.c | 0 .../Generated_Source/PSoC5/USBFS_vnd.c | 0 .../Generated_Source/PSoC5/cm3gcc.ld | 0 .../Generated_Source/PSoC5/core_cm3.h | 0 .../Generated_Source/PSoC5/core_cm3_psoc5.h | 0 .../Generated_Source/PSoC5/core_cmFunc.h | 0 .../Generated_Source/PSoC5/core_cmInstr.h | 0 .../Generated_Source/PSoC5/cyPm.c | 0 .../Generated_Source/PSoC5/cyPm.h | 0 .../Generated_Source/PSoC5/cydevice.h | 0 .../Generated_Source/PSoC5/cydevice_trm.h | 0 .../Generated_Source/PSoC5/cydevicegnu.inc | 0 .../PSoC5/cydevicegnu_trm.inc | 0 .../Generated_Source/PSoC5/cydeviceiar.inc | 0 .../PSoC5/cydeviceiar_trm.inc | 0 .../Generated_Source/PSoC5/cydevicerv.inc | 0 .../Generated_Source/PSoC5/cydevicerv_trm.inc | 0 .../Generated_Source/PSoC5/cydisabledsheets.h | 0 .../Generated_Source/PSoC5/cyfitter.h | 0 .../Generated_Source/PSoC5/cyfitter_cfg.c | 0 .../Generated_Source/PSoC5/cyfitter_cfg.h | 0 .../Generated_Source/PSoC5/cyfittergnu.inc | 0 .../Generated_Source/PSoC5/cyfitteriar.inc | 0 .../Generated_Source/PSoC5/cyfitterrv.inc | 0 .../Generated_Source/PSoC5/cymetadata.c | 0 .../Generated_Source/PSoC5/cypins.h | 0 .../Generated_Source/PSoC5/cytypes.h | 0 .../Generated_Source/PSoC5/cyutils.c | 0 .../Generated_Source/PSoC5/eeprom.hex | 0 .../Generated_Source/PSoC5/project.h | 0 .../Generated_Source/PSoC5/protect.hex | 0 .../TopDesign/TopDesign.cysch | Bin 108793 -> 108853 bytes .../USB_Bootloader.cycdx} | 0 .../USB_Bootloader.cydwr} | Bin .../USB_Bootloader.cyfit} | Bin 160840 -> 160835 bytes .../USB_Bootloader.cyprj} | 6 +- .../USB_Bootloader.cydsn/USB_Bootloader.svd} | 0 .../USB_Bootloader.cydsn}/main.c | 0 software/bootloaderhost/Firmware.cc | 107 + software/bootloaderhost/Firmware.hh | 49 + software/bootloaderhost/Makefile | 57 +- software/bootloaderhost/SCSI2SD_Bootloader.cc | 201 ++ software/bootloaderhost/SCSI2SD_Bootloader.hh | 66 + software/bootloaderhost/SCSI2SD_HID.cc | 195 ++ software/bootloaderhost/SCSI2SD_HID.hh | 68 + software/bootloaderhost/main.c | 233 -- software/bootloaderhost/main.cc | 196 ++ software/scsi2sd-config/Makefile | 42 +- .../{main.c => scsi2sd-config.cc} | 164 +- 527 files changed, 3387 insertions(+), 2111 deletions(-) delete mode 120000 software/SCSI2SD/pbook/pbook.cydsn/OddParityGen delete mode 100755 software/SCSI2SD/pbook/pbook.cydsn/pbook.cydwr delete mode 100644 software/SCSI2SD/pbook/pbook.cydsn/pbook.cyfit delete mode 120000 software/SCSI2SD/pbook/pbook.cydsn/scsiTarget create mode 100755 software/SCSI2SD/src/led.c rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/.gitignore (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Iar.icf (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3RealView.scat (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Start.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmGnu.s (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmIar.s (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmRv.s (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_PM.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_DBx_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_INT.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PM.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PVT.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp_aliases.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_boot.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.inf (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cls.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_descr.c (97%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_drv.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_episr.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pm.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pvt.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_std.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_vnd.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cm3gcc.ld (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3_psoc5.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmFunc.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmInstr.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c (98%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.icf (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cydisabledsheets.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c (94%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cypins.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cytypes.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/cyutils.c (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/eeprom.hex (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/protect.hex (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/OddParityGen/OddParityGen.cysym (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/OddParityGen/OddParityGen.v (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/SCSI2SD.cycdx (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/SCSI2SD.cydwr (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/SCSI2SD.cyfit (72%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/SCSI2SD.cyprj (98%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/SCSI2SD.cyversion (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/SCSI2SD.svd (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/SCSI2SD_PSoC5lib.uvopt (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/SCSI2SD_PSoC5lib.uvproj (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/TopDesign/TopDesign.cysch (89%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/device.h (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/scsiTarget/scsiTarget.cysym (100%) rename software/SCSI2SD/{ => v3}/SCSI2SD.cydsn/scsiTarget/scsiTarget.v (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/BL.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/BL.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/BL_PVT.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/Cm3Iar.icf (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/Cm3RealView.scat (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/Cm3Start.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyBootAsmGnu.s (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyBootAsmIar.s (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyBootAsmRv.s (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyDmac.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyDmac.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyFlash.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyFlash.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyLib.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CyLib.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CySpc.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/CySpc.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_Dm.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_Dm.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_Dm_aliases.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_Dp.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_Dp.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_Dp_aliases.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_audio.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_audio.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_boot.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_cdc.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_cdc.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_cdc.inf (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_cls.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_descr.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_drv.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_episr.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_hid.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_hid.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_midi.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_midi.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_pm.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_pvt.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_std.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/USBFS_vnd.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cm3gcc.ld (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/core_cm3.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/core_cm3_psoc5.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/core_cmFunc.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/core_cmInstr.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyPm.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyPm.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice_trm.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydisabledsheets.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfittergnu.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitteriar.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitterrv.inc (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cymetadata.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cypins.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cytypes.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyutils.c (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/eeprom.hex (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/project.h (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoC5/protect.hex (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/Generated_Source/PSoCCreatorExportIDE.xml (84%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/TopDesign/TopDesign.cysch (82%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader.cycdx (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader.cydwr (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader.cyfit (78%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader.cyprj (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader.cyprj.Micha_000 (96%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader.cyversion (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader.rpt (93%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader.svd (100%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/USB_Bootloader_timing.html (96%) rename software/SCSI2SD/{ => v3}/USB_Bootloader.cydsn/main.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/.gitignore (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Bootloadable_1.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Bootloadable_1.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CFG_EEPROM.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CFG_EEPROM.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Cm3Iar.icf (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Cm3RealView.scat (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Cm3Start.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyBootAsmGnu.s (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyBootAsmIar.s (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyBootAsmRv.s (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyDmac.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyDmac.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyFlash.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyFlash.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyLib.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CyLib.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CySpc.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/CySpc.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Debug_Timer.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Debug_Timer.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Debug_Timer_Interrupt.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Debug_Timer_Interrupt.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/Debug_Timer_PM.c (100%) create mode 100644 software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/EXTLED.c create mode 100644 software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/EXTLED.h create mode 100644 software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/EXTLED_aliases.h rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/LED1.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/LED1.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/LED1_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_ATN.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_ATN.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_ATN_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_CTL_IO.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_CTL_IO.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_CTL_PHASE.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_CTL_PHASE.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_In_DBx_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_In_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_Out_Bits.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_Out_Bits.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_Out_Ctl.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_Out_Ctl.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_Out_aliases.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RST.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RST.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RST_ISR.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RST_ISR.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RST_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RX_DMA_dma.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_RX_DMA_dma.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_TX_DMA_dma.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SCSI_TX_DMA_dma.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SDCard.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SDCard.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SDCard_INT.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SDCard_PM.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SDCard_PVT.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_CD.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_CD.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_CD_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_CS.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_CS.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_CS_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_Clk_Ctl.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_Clk_Ctl.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_Data_Clk.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_Data_Clk.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_Init_Clk.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_Init_Clk.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_MISO.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_MISO.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_MISO_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_MOSI.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_MOSI.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_MOSI_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_RX_DMA_dma.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_RX_DMA_dma.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_SCK.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_SCK.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_SCK_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_TX_DMA_dma.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/SD_TX_DMA_dma.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_Dm.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_Dm.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_Dm_aliases.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_Dp.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_Dp.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_Dp_aliases.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_audio.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_audio.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_boot.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_cdc.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_cdc.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_cdc.inf (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_cls.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_descr.c (99%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_drv.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_episr.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_hid.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_hid.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_midi.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_midi.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_pm.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_pvt.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_std.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/USBFS_vnd.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cm3gcc.ld (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/core_cm3.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/core_cm3_psoc5.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/core_cmFunc.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/core_cmInstr.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyPm.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyPm.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cybootloader.c (85%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cybootloader.icf (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydevice.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydevice_trm.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydevicegnu.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydevicegnu_trm.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydeviceiar.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydeviceiar_trm.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydevicerv.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydevicerv_trm.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cydisabledsheets.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyfitter.h (96%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyfitter_cfg.c (54%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyfitter_cfg.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyfittergnu.inc (95%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyfitteriar.inc (95%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyfitterrv.inc (95%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cymetadata.c (96%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cypins.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cytypes.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/cyutils.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/eeprom.hex (100%) mode change 100644 => 100755 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/project.h (98%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/protect.hex (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/timer_clock.c (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoC5/timer_clock.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/Generated_Source/PSoCCreatorExportIDE.xml (88%) create mode 120000 software/SCSI2SD/v4/SCSI2SD.cydsn/OddParityGen rename software/SCSI2SD/{pbook/pbook.cydsn/pbook.cycdx => v4/SCSI2SD.cydsn/SCSI2SD.cycdx} (98%) create mode 100755 software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cydwr create mode 100644 software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit rename software/SCSI2SD/{pbook/pbook.cydsn/pbook.cyprj => v4/SCSI2SD.cydsn/SCSI2SD.cyprj} (98%) rename software/SCSI2SD/{pbook/pbook.cydsn/pbook.svd => v4/SCSI2SD.cydsn/SCSI2SD.svd} (99%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/TopDesign/TopDesign.cysch (62%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/SCSI2SD.cydsn}/device.h (100%) create mode 120000 software/SCSI2SD/v4/SCSI2SD.cydsn/scsiTarget rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/BL.c (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/BL.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/BL_PVT.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/Cm3Iar.icf (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/Cm3RealView.scat (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/Cm3Start.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyBootAsmGnu.s (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyBootAsmIar.s (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyBootAsmRv.s (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyDmac.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyDmac.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyFlash.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyFlash.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyLib.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CyLib.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CySpc.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/CySpc.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/LED.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/LED.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/LED_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/SCSI_Out_aliases.h (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/SD_PULLUP.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/SD_PULLUP.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/SD_PULLUP_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_Dm.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_Dm.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_Dm_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_Dp.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_Dp.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_Dp_aliases.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_audio.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_audio.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_boot.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_cdc.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_cdc.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_cdc.inf (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_cls.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_descr.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_drv.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_episr.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_hid.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_hid.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_midi.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_midi.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_pm.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_pvt.h (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_std.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/USBFS_vnd.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cm3gcc.ld (100%) rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/core_cm3.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/core_cm3_psoc5.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/core_cmFunc.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/core_cmInstr.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyPm.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyPm.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydevice.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydevice_trm.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydevicegnu.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydevicegnu_trm.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydeviceiar.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydeviceiar_trm.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydevicerv.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydevicerv_trm.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cydisabledsheets.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyfitter.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyfitter_cfg.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyfitter_cfg.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyfittergnu.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyfitteriar.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyfitterrv.inc (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cymetadata.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cypins.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cytypes.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/cyutils.c (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/eeprom.hex (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/project.h (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/pbook.cydsn => v4/USB_Bootloader.cydsn}/Generated_Source/PSoC5/protect.hex (100%) mode change 100755 => 100644 rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/TopDesign/TopDesign.cysch (78%) rename software/SCSI2SD/{pbook/bootloader.cydsn/bootloader.cycdx => v4/USB_Bootloader.cydsn/USB_Bootloader.cycdx} (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn/bootloader.cydwr => v4/USB_Bootloader.cydsn/USB_Bootloader.cydwr} (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn/bootloader.cyfit => v4/USB_Bootloader.cydsn/USB_Bootloader.cyfit} (78%) rename software/SCSI2SD/{pbook/bootloader.cydsn/bootloader.cyprj => v4/USB_Bootloader.cydsn/USB_Bootloader.cyprj} (99%) rename software/SCSI2SD/{pbook/bootloader.cydsn/bootloader.svd => v4/USB_Bootloader.cydsn/USB_Bootloader.svd} (100%) rename software/SCSI2SD/{pbook/bootloader.cydsn => v4/USB_Bootloader.cydsn}/main.c (100%) create mode 100644 software/bootloaderhost/Firmware.cc create mode 100644 software/bootloaderhost/Firmware.hh create mode 100644 software/bootloaderhost/SCSI2SD_Bootloader.cc create mode 100644 software/bootloaderhost/SCSI2SD_Bootloader.hh create mode 100644 software/bootloaderhost/SCSI2SD_HID.cc create mode 100644 software/bootloaderhost/SCSI2SD_HID.hh delete mode 100644 software/bootloaderhost/main.c create mode 100644 software/bootloaderhost/main.cc rename software/scsi2sd-config/{main.c => scsi2sd-config.cc} (76%) diff --git a/CHANGELOG b/CHANGELOG index 978feca..813815f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,12 @@ -201404xx 3.5 +20140713 3.5 - Fixed several performance issues. Transfer rates up to 2.5MB/s are now possible. - Implemented the READ BUFFER scsi command for performance testing purposes. + - Added support for the new "yellow" v4.2 revision boards. + - Improved firmware uploading. bootloaderhost can now reset the board back + to the bootloader. + - Display firmware version in scsi2sd-config + - Add "--reset" parameter to scsi2sd-config 20140418 3.4 - Critical fix for writes when using non-standard block sizes. diff --git a/readme.txt b/readme.txt index c727e87..1e998a1 100644 --- a/readme.txt +++ b/readme.txt @@ -62,19 +62,34 @@ Tested with a 16GB class 10 SD card, via the commands: Compatibility -Tested with Linux (current), Apple Macintosh System 7.5.3 on LC-III, and LC-475 hardware. - -Users have reported success on these systems: + Desktop systems + Mac LC-III and LC-475 Mac II running System 6.0.8 Mac SE/30 + Apple IIgs using Apple II High Speed SCSI controller card (from v3.3) + Symbolics Lisp Machine XL1200, using 1280 byte sectors (from v3.4) + PDP-11/73 running RSX11M+ V4.6 + Amiga 500+ with GVP A530 + Atari TT030 System V + +Samplers + Roland JS-30 Sampler Akai S1000, S3200, S3000XL, MPC 2000XL, DPS 12 + SCSI cable reversed on S3200 + There are compatibility problems with the Akai MPC3000. It works (slowly) with the alternate Vailixi OS with multi-sector transfers disabled. EMU Emulator E4X with EOS 3.00b and E6400 (classic) with Eos 4.01 Ensoniq ASR-X, ASR-10 (from v3.4, 2GB size limit) + ASR-20 Requires TERMPWR jumper. + Kurzweil K2000R + See kurzweil.com for size limits which a dependant on the OS version. Older OS versions have a 1GB limit. + SCSI cable reversed + Casio FZ-20M + Requires TERMPWR jumper. The manual shows the pin25 of the DB25 connector is "not connected". + May require scsi2sd-config --apple flag + +Other + HP 16601A logic analyzer - Apple IIgs using Apple II High Speed SCSI controller card (from v3.3) - Symbolics List Machine XL1200, using 1280 byte sectors (from v3.4) - Fluke 9100 series - PDP-11/73 running RSX11M+ V4.6 - Amiga 500+ with GVP A530 + Fluke 9100 series diff --git a/software/SCSI2SD/pbook/pbook.cydsn/OddParityGen b/software/SCSI2SD/pbook/pbook.cydsn/OddParityGen deleted file mode 120000 index f6713f1..0000000 --- a/software/SCSI2SD/pbook/pbook.cydsn/OddParityGen +++ /dev/null @@ -1 +0,0 @@ -../../SCSI2SD.cydsn/OddParityGen/ \ No newline at end of file diff --git a/software/SCSI2SD/pbook/pbook.cydsn/pbook.cydwr b/software/SCSI2SD/pbook/pbook.cydsn/pbook.cydwr deleted file mode 100755 index fb019f586111200ba1e2b420d8ee781cecea3ca0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135447 zcmeI5Z;V`7THdc`m}QyW;XmxM8Ij)jjswZqwA*g~K@iFA_RN?WV`I;bS%#&t+ugI? z^`F7^?5>drLzEzafP}2VMo1{(j}VFw+Gru!NZ|t?@*#?Xgdjr8HB1sIAMzm|SV5#r zlu4f7J$3GRZ@H>mZQp0@CFN4Nt4`hf-shb2KJR(YIZxgC`%iyG75}}nE5G~TpFQz5 zZ@%Jx^ZyfXQ(iZZ<=1aM^~GH;=*?PnyIQZds+-m2>b2^cUfrnnsq}hvRgdc`*;gH} zF6i^Ew)}SWA(dUyC#S26)yJxnI_mZ6O11k=wd);S05~Jl+tsEH*{W8m{nd80TJ4pY zd&G>hC4Jx~Q@v)lt3LQpvWCJ)kp==zRr26dD5l8fwGLF2Y=LOaMfS#B1IH05I<||v%`VZ6Z)t{@? zhCWOe-}TP!?)v)pG1YdS`t`ePU7fqBx?FBM^n&VsyZT|Z@~e8B)9ai1Y)hBjr+2sX z>1B2CYt^&WlFDxC%nb1DD=c2D4(oA2KC`LkA+_4kw#~LizVZ>-cy+FJ zSeGsOcB}eC+Xh>DP08A*d9UcIueI-QtM{S7^%nJ}UY`&aFyC$wZ|d)*V28e@CgZJf zplgYJ!o4coN895bv`wxF*A+cJqQ}Suw*}~;n*Xqx=z<=5b-7htG`ZkP>twj#rpgZK zQ(TUwJtCT|=&`9MPWhg{*!9HQ(CDczMqm4wO6Kvk)S?gC#-lnNRTD!F0tB6~R|q%N z?chJCR~LkyI&G_Dv#rx1)o4{mbJmv1Q~eUHcHh~hN{q*iuTfcw7gH?P;;(D}hrmy~jU`p$>-7f$z&8t8yC#)C=-;LL$s2P^N*EPzf_GiYc(2sIVm# z?brKFv4((jK*z4i#piTxIpjBw-1-wb^NK>zR_EGv^G&Vi@4iC_S$b=nZQr2MKHJ`> zlFr%dhPQR|{`UVl0o6?+j)j7Qtp}62tmxHI%UKTpWa`U@0|8Y8`m4YF7Te23g>_Z@5t=hOO==MMe(XPQfoLwZ+xEllJI4>b*t#%D8mZRJTFw(Ff| zp81pAcd(&LV`P6p0{*yya6lh%WKITm-zg*5W1uILERCMK?{qaNzbhJ+B3)v(+)Bn*l+3W@qNen3?=2S|NJoxn2G%Su~G!#m60Ic7Nm+)#~p(a)epozVM4xK zeM+9U+&(%ROJg=@N}BJ*Sym2?TN&@$RI3dEr;h8bf2_A%bE?I5ZqyZH&9!F?49<*+ z=k=hUpO=YsRWP3}Iwk&`S249dFW>K~HVz8krsr_3LWbCj6CI8jQuO`vGO{5suc%g& z9c;{F$7_YJ(!|sJbL{l-YD{VrNc(-&_m9Y%tI>1C@oG#mGj52XOicD?2?Qhk1E07h=tmqS5d)9?Wyhc}bNyrWQD%c1Zyv1$yFk*A1+nt+jFG zWgUKMbYN$DWvrPd+fMP5FmO($P8I6}_u~RVgjp+ykIZE?$548bI-FEg{qV^4nAeX7 z2a)$H@W+I3^+I!#$u8faY{J5mZhgw`r&iFo=UZ)$rzM7dpRhl zkc^j(`hUES2qn&#c9Loq((=!VxHG{ zd0DCFDUFz~>yfr&QoGMgtjM)^hQx|aKhs*6<9wFtc!u*|&|B8s*~(yzeZNu;w(3$I z&V2J|yW&o^&g?R+H?kYCr3V`~7gdvGSs+ybjba9iiRaV`xD8}y6R*r3 z3Y&E+`kx&ZR#@42pmqma46M4Q`3duHFdY_BW+u!}*qd0@tFFdroM)6jrTU%|k-Gk; zrp$zJ4BGf`d%Xj#!=&pmA7cBI_U9PTF#As{z}qTkM$f*-#Os}I+qri=wpde3(yp{3 zyD03lP(S*O{g$*H%k}7mBYMv!CNnkG5LjpEu1735r#>W$A?)_9#zGo?gN^03r&xzx zmWAX$X?N$S%J3TM$+j^^9?~_~sXE-E?XE@?Pglc-de^$t9?vA)W~fxgNgCr);+$ZtIrHwp5C@ zb=NCxd0v5H>{`svL5N4-8*F;B!h~J6wRr{W*{I#yUJ;(axx+f+qW-coG2vQkZM^Q) z3mbR>5&-HzZNSVc;s-5?N3O{3UcINim-RfX&(pppeCV!~+OfnK0)4pNC0R;wDfJDu zsauXM2lbjV{G7JsDA1)Ry~)Z%U>teN8F>h4!OKbuQf}S5CcQ>qfjaHiZnxM|Z4c}E z)R9(Y^E<8JrIixm7%fTtXVfuFuJ9EY0L$qMu+mqXdJ@m*#k6;Xr+^1f0uS%u9e#ta zggUZJFdjd9HN>CsE}|2yiA~mdh>`RstV}IUG~pFdhsZ!{!c(q!wDjV;bwy_9>pHP_ zB{)Xh+tvdPGbZIYnbwIC_vyD3!P4FrK7~)yvy2y=zx3;NR`q|euqBIUd6}+V(cQvpX?ej@78dqhWi6iZ1RK}*1V*qkCKUXW*nUH-*rP40E8SKSaJiLb<2MoMxTJU)q+ zxGu2}ENSEf3!F-lEw~Qf@YTSvl=tQ9Ue=YF0A6XEIb0XNB#sb?QnbP@qcqpWv*9+D zQ!bby7`q!B%~;Nr!x&z!yDmfQP)@uq@s}3IU&yM`&PnnrO5k&f%JeO_Kk^#|kyZM>!ua2R+`9A~ZEl9!we0JMHq2wb2J0pK?EV+FhB^ zuQ>5W+xeErvaD8sf&2wMxiHyk8b{MAeHzn_wDn4(CP$<^2~IOAbjX*4JVusSi%;mJ zH#9{GvnPnRuB1Azs?206J5@XbQyC{|Y0%)a_*Cjy*hK3y;xl3rLt!Pg!8hr#6c?!t zV?kF3a)FeezN}R(W*7-z=yCdtdXobZ3*Z*xJ`oH~GuCj;6opg1Lk^JI4F=HPp~uTL z&rZ80J-{_!3EU^)=${x9XilL#d{p-g1F1;0eBc*^v-k2@S^pPd?9nb6|b#thFH=4Sp zB|+4&uZzwI25;(rVhx>JH!S?5_K7P(b@O+olphP_Wx1zrPE0AsU$g!1XuD7|%>@H7|rB?P4H5)Xp?WrH`x0S?(n; zGF2nJIj+x-sgxn^gv$5p7!s8eI(JPWG7n-i5fGDj1_aOQEqTGm)wM}Ay3uy`MZKrn z2``shCc&^99sP?(sv4|KPBU^@oqk=5YdQXnZCf$Nx~4i_mGv&PgE0-mq)IQvB^|OF z6y3Lk`Eu))=THauX1JD zIa#hjZqlB2!a2S(LhxZVyQ?6*wyq1YLCVhUOC6_$f!ebku-4X>)?QQnSW#ewf!Z^( zCQD0euIqZmg8MPG7;^#I;85Ed)ILqo=mEmUi-J8H_v-eGgo&OHDj>+ znbx;P=>zq}ftfQ$TGh=z>JF=$-|O75Zay8#quE~w<;8vL<`+YG@%*~^rBEJ^|L0w~ zTAbF&8##6JYw;r-o=Hw}-n#jX_#r*TJe@U;!>zy4KL=D*R_Ev`W>NU*5tXs3u~+@V zXPj|Nf0^UbZ`n`l<~QR7UkzHNY4Ikn z$<@tHdwdj6_P2gVBxQ~P#{I&PR_XClzCV*@-wg1?6IQ`kVIiL2rOfw_KR`UeSzc3h z(l_ol+IaZ726`4la@k$sSk2HiQ1Kwu>1lni-dZFarcr>eGj9GZ}J;$602`NB7HR?;gp}@B-Zpt?{l_;dSEM2sr z-rdwEH`>3q^}g>ju|ZWWrk};=)z;~f*|qyNTQ@yVBt(CI9>moaD@tZxsD8BTq!QqS zCmy`f9{i#X{(w5_7r@^%9+pNk&xG z=%&=EA7nqOnxxb4nGH1s-otRrka|P^zadkU-)Q}*%)v{Wk3~Z!)j1mGVX8#Hy1CU= zs-NN)e|HSCatyi!=|~0@^Soc5nCDp|B+Dl3GBT%Q5rz3Hk@AFIvFDQawhk&Xl3S8B zGW+9wns2abJ=f9;JG?w|gj8cZt+$ue^>lXfA>Lh4r$e#a%{q|tSad);yT3QEjalJC z9EH(%e6^!Ei%w#7E?@e9Dm?wP;u1P-DV)ac!SY-ujyWemEY&7^L3GVup5mGXzQZ;9 zV^s9Y$+HiSSJn;Ru1hg&=5RZnxWyK(oBtJv6q`1d#}vogv~n9*4{36L$M&7Z`hO8B z5%Z$o3gw^eS}QK*&6;;7t9and_GRM7^DeTolz9)be!b31YgZep@)0c@l+;pf!8&7F z5@qJj{T>ogGu`_&DLHQ4#G1!$jpbjuZmpYN2|Y1Sk2>Z|`hHaB12cP+Z$$CTJ=$l? zQ=uxcX=C}ln^wKczqZFfpDb#Fx55dMjiQiMdTa zf1YMfOHFAW9*I%R<4By(O*^x0KJYk=Kg!EF zjSQ7khoNWsX)!iMy2tX*buLgh{bjbV>^^w_=lH5A&JoM+?Hn30x)vDoi4-2o%4hKk z-3BC_)N=)57)$QuwCD^av5#w|bu&*?eSdpN?8jcKo2RFg|MgJ5rn9nh?zFq)PQ*^! zFzqX{B}9sTUjyQsUDwMlgLBnyG16y8Oo!b@j7<#{R0BZmLhIId{6Q-)|Y|S4JP#5C)(*#qFu~( z;?R5lLvr8!r|nMl0xO_cbI)EF!|JqT_1l&RD zg&U@oY50g3aU7p~cHR6dRif--m2fiClUZ)%nLXLR#s{b0NMopj^h8AdxoRN7kq!LDBS?)(wy_!>Xobwp~5oZuBb)Avks z6UD$2x2B>?#PaA8(-t67?vm;m^ZK}b?~OUr2aL%BaNW!^ki>S_xyyaS!*IE8n&@)6 zwMQtww>Q-dckx@eOn=PwyUf=-443)3;2I@L)lDp4xJ-&})6&u}eU!;Vn*u+xg7tRd zkZ)alUg<5$J?2o;=RCbB7g^Cc<;3iyvj?{0Q;WQO_NhIo*;nbRJWD?I=6n=j?UH9X z@h7_z`?H^)3gvMCj~V{YO`$+6pGJW=pt32Kqh{P$pJ%P(vjJzE*+kch6Z+_i@%T8< z#sMs@nZ)vGYbHC5b}@nYmC&9sfryiqX$jOcP0h{+;IgE$!<_GTLsv|5nV8$es2R&2 z#AW80$3>TkIOlPhc>JT_GSMZY%fy`1?=oezZHF%NU*~X{KMt&jE)&Zi#AVWw-Q8(; z+-zI8OlqIuqD)zco#`@nuRO#7=*e~!HbIN7@l+^}t`P%%9DpK=;sEp@8(#B7lZfa4 zhiDSp`SXu6=%=Mk%5!E`H)Sn;rfb}t%j`_C*55!}4lWa2=|Cu7xKg6p=R(wuU0QM( zrPpjmu+zCuibZsYIl+sgR9q~3kWngvnC@3)FK4D-JtN>eOOCu#zdGIeOmgk-3;uI1 zlt=2nGNt^(p*%L#N2Zkja43(7%4R5!*WC`~MJ1>2IZi3R8p@-c*F$-{ZVc5?uon3h z%NP8bmtS@B6K$KP<0GZYTtOV1tagkdPsiQhz&(~dGFIl?B_dX zY;Tt>?zAPD~$|FCcYA^CLmPdX@o<9nyRK)XF zKb4Y`FuWuMXLj#0^6BHW3A!56sv=F8>6^1N?l>umZW7BM#7*2wK98E4{MzGX>1%Qr zpS~A5++?h%Q)arx-5EE(+0upEsGHt+Smn{!o&wy5bwPK(^UN;9#ESvLoDf6d|BUj)y>5eYr zrt5>+t(*VQ?PUzqTU`@)hB590HfR%ccs(pjdZFRRGJeO}(GL8kgvYLDK;z!|9=ron zZRBU%;nRcH!#5Of9=smDmEV3FHlFcY5sr4?wizC~9=?^|Z5ph4_64PaA|RFXBP(@LXwQx#X)Wc@A3^72OX-C)Xx0qf~Pec%94!P z#lfTw<|;#TFx{TaW7#zhI@Bh)2VER2KN&l852kycIeKt#=}9+srOx7``I20?1DGtp_w(R2I;JTGAD=0rZK6H-6kI8ua*&$)cJ?P@#;4+r3 z2M^iSWE^^y)Xok?OSbIdVEUC8t}--J_=zSDQylV^+|I6X&>?Zjm|f$bL*|k&AGYP9 z4yjAV?Bbw9?vgRPIOvePWXvuOI%F>yvx|cc=}W?V#Ku8~{3T;{agd*c_l#B!5ln6k zS1#%h!eq>@T+|_kNthjSm~7d#CgYIAWXvuOI%F{!vuhl5NMkZ)*Er~q$7IX{kArpd z^X=3G^TSS1*l_fa56hm-c`SR#hh@(Ih-DA?ulJ(gD!y#m|Yxn31q=?q-L7%aC6EELYaDb5WWem=pi3YFW)}xt0vRy7IOr0{us-GDpi3YFW)}xt0vRy7 zICw;{-?L`!63EaRt~D8#K!){JS1x+g#zB`rhSqR#&?S%ovx|c+fee^ka1hI$aS+QM4r19e4r1BGL6=U3-9Z-zT{;;s zyEy35$$;6#L6=Sj%q|YPbTVLeanPlcVISSaL6=Sj%q|YHzvRg`Sm}3Jc8!CqaJVqL z#zC@C4`#+#mt_|RT{;<5GA<6fbTS}zanPlc0keyPE}aaRT^w}jWbio`2VFWDFuOSD z(#e3?#X*-&2FxxFx^yyNc5%?9lOa00IOx*JfZ4@Cmre%EE)KeMGGKOb(4~_Bvx|c+ zoeX)5i-Rtm447RUbm?Tk?BbwHCj({|2VFWDFuOSD(#eqVyEy35$$;6#L6=Sj%q|YP zbTVLeanPlc0keyPE}aZ>V;2WqIvFs#IOx*JfZ4@Cmre%EE)KeMGGKOb(4~`M70Jax zmre%EE)KeMGGKOb(4~_Bvx|c+oeY>g9As70vp0cd4+pXA(aB)h!$B;2_6M=-;UJbh z`-52aa1hI${Xs0dIOx*JuruM}pi3tMW)}xtIvFs#IOx*JfZ4@Cmre%EE)KeMGVI~G zIOx*JfZ4@Cmre%EE)MdYIfs4&%q|Y{%?TG~7YAKB8Fsr}9CYbq!0h56d%PasVCTwZ z*~LLt8C{rN9Arl5!Azd(vh3m@anyy`#X*-&2D>f}x^yyNc5%?9lL51fgD#y6p5fx4 zOD6+n7YAKB88Evz=+eo6*~LMZP6o^_4!U$Q#84LpT{;;syEy35$$;6#L6=Sj%q|YP zbTVLeanPlcA=_|q(4~_Bvx|c+oeY>=9CYbq!0h6nOD6+n7YAKB8S-)$2VFWDFuOSD z(#e3?#X*-&2FxxFx^yyNc5%?9lVJwy;-E_>17;ToT{;;syEy35$$;6#L6=Sj%pMN1 zBI8*X#j=NkSoW-oV%ft%EPM7Quf)eFCj({| z2VFWDFuOSD(#e3?#X*-&2FxxFx^yz^AGkQ^(#e3?#X*-&2FxxFx^yyNc5%?9lL51f zgD#y6J8dowx^yyNc5%?9lL51fgM4q*p@jgmi-UZ}$c5R(L6=U3J!uyQT{;;syEy35 z$$;6#LH5Kv{>)0h%d(4utjc&WGuL!kc5#rrz=hexL6=Sjm5hsnE}aaBT^w}jWWem= zpi3u1|G7Bm(#e3?#X*-&2FxxFx^yyNc5%?9lL51fgD#y6k=9CYbq$O&8=bm?Tk?BbwHCj({|2VFWDFuOSD(#e3?#X*-&hV0qJ zL6=Sj%q|YPbTVLeanPlc0keyPE}aaRJse~<=vkA&vWJ6M_N>WZ*~39Bdvr2b_HYo( zo^??ydpL+?&$=j`Qz6ncX&*Wfuoo8TDXhy~kzQ#X)j&7iJd+iK8yeE)KeMGT3!- z(4~_Bvx|c+oeZt);-E_>17;ToT{;;syEy35$$;6#L6=Sj%q|YPbTY&v7YAKB88Evz z=+eo6*~LMZP6o^_4!U$QV0LlPrITUgc5%?9lL51fgD#y6m|Yxn>14p{;-E_>17;5g z$wWQ#K`eVXh-J@w5X&A8V%akv#IlEjSoW;RVA;b#EPK{uu07YAKB8I(OP4!U$Qw1ta*=>}yEr(wKxVW@4+A|M#Ik1`#IlEjSoVyASoUxb%bsx%%N`D5*)tAe*~39Bdva06 zDi;S`IvFs#IOx*JfZ4@Cmre%EE)KeMGGKOb(4~_ht8;PCrIP`(i-Rtm447RUbm?Tk z?BbwHCj({|2VFWD=07eDx^yyNc5%?9lL51fgD#y6m|Yxn>14p{;-E_>!%BgRgD#y6 zm|Yxn>14p{;-E_>17;ToT{;;syEy35$*`v8;-E_>17;ToT{;;syEy35$$;6#L6=Sj z%q|YPbTX_yyEy35$$;6#L6=Sj%q|YPbTVLeanPlc0keyPE}abfG%gOhbTVLeanPlc z0keyPE}aaRT^w}jWWem=pi3vij;4!)E}aaRT^w}jWWem=pi3tMW)}xtIvFs#ILQ9L zL)*jNzl($H)wnRbILNx13$u%Z%z<2(T^wY*a$$CH(4mugx9(-Z4!uJuQ)~~e!R_OvLs64)J2W-Lwr{+2=xPe?!N$v_x0c@8edh@!KGF$e|4enc zx;Ede`WtmP&)s*Dg}V8d?K^G>w)@Uw`XAf6JD>jU`GQKg%q~5-4$pGp@2mJeGEiau zX4yGYU9WCbx2mP;x%So7>Vn=Sdn5VtYW1up6S=N+^P2*B9~Z2fzq==&II_GV%Ljwy zU%$VqOtHKgEPvpBZ*sRV{iz;fv)06RLp2d@UZO!?3-ij<2-}{~RgnQZ^j3pCX3sC!Q)m;vjhwUPtTSW>FLk2n+ znnkx7hQir$q{6Ua#}_L5RQPxEQQ>Zy-RFQYfeHuIMRb1Q=YM=OK;i2J)W3N&KoK+w zsNZ`uK=pmvrhIcsYST0Ffsv6bN>4YdkMGbx-F#ubrXkhlS+bGg zMqe_9IQkBoAjOevxX=#f*qwFrr}H(WbG!jmf4uoG^MQI&hw&`EJ6ubVr+D%~5^GO3 zu{>(XJoy~X*TKw~k}VIH4;~zAjp3$7SdJ_jE+3?wBlCyLVZj{R`L~tWKHx;LZa%+< z0XTQvza7Hlo2|)W^uOINVF#$-XiTS5BCUq)6whRc?v9Q$obyB2IO!aq*F!r;7acap z#E?5IVdJE8xV0|4E(V!ll7O^ol*h%)++hZ{V!J<``tS2m*qI2>nEmP0|9JSI;AlT( z`tyemitMC6f%(ga3#xckYO6dnC}_M_$WG{SraD`lu1?J}p0QHSGbeVk^3{5~-mYR_ zs9w}`;r7UmKGMvi6)3Rjf>`^I7QK;HBZ5x9mClz~`LZH6&zSw>3m1IxDg8xm!&hr5 zqm(ZlpU_{flVuS}9PzOKpH=TwwFj7|Klkg1#beO|ixyb4z@h~fEwE^TMGGuiV9^4L z7Fe{vq6HQ$uxNor3oKe-(E^JWShT>R1r{x^Xn{owELvdE0*e+{w7{YT7A^4bTOes< zBnEiDbOI-(NPa;Yflp~u`*L+fucBh0ZoW&$WPw86{545h?n`6$Om|}4p!-4K{Qm%H C=k5mp diff --git a/software/SCSI2SD/pbook/pbook.cydsn/pbook.cyfit b/software/SCSI2SD/pbook/pbook.cydsn/pbook.cyfit deleted file mode 100644 index c7b2a7ad4da70bd4978f298185db4242d0fe8c34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239136 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 oyYyU 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 z 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

y`28*x7V5eAvb?vKYQO+8mK7{X2#1Ud zb0+828$;m}wR!|*JeB}-xuDt7@|HA3?y8vRAcyND9TV?^qvPQ{h33TEi?DpuoV2IJ z!phkZIZ%0#m| zBT5%g1REeL8!N&5ic*MOgRJ~wt*?!3JP)1%uQ$%Bj!V}#`Yycm&B=AY92V+NyY=Lx znQro7KQZS4jM@C5?OpS5}#&t0R;t+x}X+$1lVb9FDe6#NBcrUyV4eCjR7U5@VA5jP*!ldmT*nS0Cf8FR@ zs6=&{arxk&Yu49E`lm+eFMemW+}fYs3Og2EYigOs{e^JXD~ZC-p$iV~1qS~d)Epui zlDSnTWjILKc7@PL&6X46WKgzh?j?~te)eo?y$$7foMht&TAl|dcz+AJ))ywb z5?$mLWXeBLU?^l;&DK2-Ru%!|p~p%B%)jo-5UCZ4sUIE=Fksje47}tGCzD@Arl)Ed zDQh`>nGc3u(L%(zvosQktAtvlaswU;bAf&_sK+N=Hi@l>j^AUR8Z!B{Hxd+hg^9Ap zP5Bo7g1-kR_JfOy8j**6%hq?*Zdd%~@C_R>J@cathk!N9{A{IfuHHpnQD%pm$7HIv zepBGj1iz}k^7_qR`zGY`!F{U#^3{~bu!KH3zt1CJZA>x~4RDl+gJNNM{T#_+#)oi! zgqcvSK2xGkidhUBJIct=-?nppDtAtIhhn<^O75)&_im}G;7@rY1N;n=5JU=N{YQ|z z;Ww}~Qq6xD`IL1#_Ty4^uR1wr?wSHT57y|@GO|O}$fIufx(UbLAAR`8t2&&CBi=Ie zGd?_4sJ)X+tCh_fV)+!8PBg-qc^^xV78!TvZ?nwSMv2=j>K#xCIGv&}EAYvz7X(+e z2tIC{+zJk-yL9Z=}3?Qwf2x`{5XxEF70`+8=Rp|7Kag>`N7qP z-(|d@N>8EI((-Pw&_hSvp#&nF=ca^I;p%&-a9g?31a802LGegWH%t^~a=w<)yWsDh z2UfVni{{WwLin-Ir3%{$e9RT-?owm|C#y2L-(W?rUDDjrTXv}-`#s=1sf%Whsr^rt%UT_D%|>|P@;rlW zsCZc4ql5e1DC8(-<`<;J?97sA7UGog&XnXP^pf`S0}%StcN{bqLE!>EVl%D@;Gwsr zD+Sy&X5u&5z6g67_K(a_5XcQ?Y6OIn-ssrOz#YAzIe-<)Rm|S?2>%7&jI3bD8CX|d z@{1=`PPh`Fk9-emmX}ee3GY5NuMzfeRR^Fu-A+K6R|4lP$=|#Gae7YhopNV;rfj-G z9$9Cp2z}09u^(0{6#cWL#?sK)E25(4?zJDbcASe_KG^&*f9g55>D)0$&%Q`Lm@(+@ zT9$uy*8B`~GTXS7XMUCsQJ-zuj@Y%a1Wtk9*SI`**?M-1Ru!VDFqfp=nG-G-jdw28 zooK%mlhi{_SUR1xM8(LrnF{D$uUsh6buPr>IbV8}3VCp`$uqm*W9Ri#1-+Y2=C*l5 zyf;<<5M|tSBc;-D!|GjTd43|Olr2as$zGW$UWV8pz$p@ z&Q0OHATqB!RU(Yt^Ob=oN&9Q&|FCq;ftCEwdTV=Y+qSp1ZQI^@>#c3uw%uFYcH6CO zV{7Bx-+S+`bLPy+H%TU$WG0jE=q;KzU;9wK;mD*?Wq<8CU%zs!9x&N$;e=B4*%;e5 zv6fa~fT#rC7R<*^ifQ(Ok7Zp{}w#LVn(WHwn$6YH_EaPtMm?7`DG z6Myf3_22^3q*YR{bO)0io2D&NuQU)Y_kw3!VANB-L4qbK!ZkvyI5afL{@MORH9}db z6z4z!vy1o4e|Wm^@U7X(xF-iF@-dIH{$@f5tlOa7N0o+Jye1Hysh=UrJfD=KXwOn+zIk&Wp48^#J|g<~iGLbarCF0L#6CmkN{T{ZjlRGB6fr#D za^nUIB*kX2MlS{(58NY3(qRi*3v@ONS|sca7`M#gKiOFeuxM~Q&#SpsO%UQeRIt4- zRU}DG^`O3OktA%b58CV?;wrv!sB2EG@)jVAeoT{$LHTHKwk>-tQNE#qsxWXvXaOc8 z5y5=s?pFE?XT_`e+>HfC#?U{dN3)Xf*u%IpJsr87rRg)QB8ASp*s%QFuU3t$_){Xp zf*rKax9`3k0081}(7f7tO+H?#iToTJE?VYu7wbRKh>bA0VP52{<_ulgHwlR~_L$y1 z(Y@E|;EzWOg*Xhl*Wy0#u-&MXatg~sjNh75E8HG32q2#o^j4xU;<>~R)K+g?<<$Li zG#Q`+Snvtv!`k^hW_N3prXRP7lT zx>*uu*D$9E*=KyRVi+1=g(kY8c_&&B^SHfsG^$-uz$$wZ>t5aogUPWb0l zCq%()VhiBlc{7S7pg2~^l^$_q#u{0O>6YCp$D2h`L>E#ua`gXthRo@qFXD1p|tn@q^tH88;Ul^_t-_!A*;ydApG>4;+o1^gZC0s zi^cxHRzjpcW=R3uCJTg{(#dENgZQ)Zv!Ut^%>u?_5l25-N77sx4Ia;BH_!ZpV@wI; zMBXfxnuyUn8Ui-sgv$#)_SqR44!rr0Ya0!kJl`hScP+r+A=f%7i#B34>%rJBe5Xv7 zcG25bba$VZ+_8i@rd)#=#g{D8zSBlwd#!vb!i|cv@Sv~gKKq{IgX`1C!(!r!X(Du> zp^%S4?TTW9Ac_1mA^se96ra=USS8ZG>Q)Q!ZFfJismlNz#w#85y+*lzMM*EDjTPoe zXN+_o!$prtQGTfZJ>FmSTS4O?o!0-2hjX5*E)Asu?bme9g^@AJBlE1=@{xIR?wssm zdq?^Kl|zkQ078*qy>v5l0sr3bd5}`G7|H^InSjsvDipT)?ey^s#-YL0{8_6fn>QF zpWZ<9dmE^y9xs8Bo8|HJKstP9!zDA4I@-X_`Gr z!9e<^9lfM^G@hqARixH4_mMF^(m-k@AvgEI+e?0cnK;)3q9Th=@VSJ(s2ew|QjQZS zMh%T83)k@HW<-_(?#HuVo9)%MIE%F?PPhO4G=XcLrJWA=vdigLUxnwDOJxdnw+nWL zs!IfYuTRNzRJ9}%jH^QH-tP*et6%k9fkNci{Cg#57~94?Tn5+2VaGvoNfLn_hoC9< z53`*kWLk3Y#Ro|e{%2KelpU7q&!t#ah`YZ?TO2^-!DYy1`fK^@RTSb@jt&aD^*t1P zm%OT>^dRV6&z-J^=@$J@%1&jGS=%zh>4#tTo!5MG8V?7zecDV59+E1+#oQFI;+UhH zZ%+A#2vYJ4rQCfkM#M_!*K|IPp2v1>xPkHf!q3I}MPbh2fw(BmlxkJVSkAf?F}3c@ zlBcrEqzPtcwRst}m*6&@zR(ojIs+W<<=~_~Vn(9q7}LrzVLYd0t|&j93x^HiGyiUx%!mCFRU#bX<)nrs->ujUvQo z)r4&dfwXeXYDqQ%#Uc)+T+K9jtx;E9T#`IQAylO+hMiz5L}4BB0%wR4v1xl{5PT*v zn&OCBs}>1s_AdvO@I+|jmK#ZY0~xq_yhJwEKldJU z^Gtu*QVqwvF%AXlP7<9^utT0sshU`6sr_vWQz7iCu?($hBQ<)JyEBPwD9xml z(|0xQZn{0%6tui!j*z=U#)k&;w&!81lt}{xWZ(xfkgD&#=@7Gr>SF@*=;z&- zJ~B3q@}Ewm@rsRd6~lI{NssZC&8it+kN#Q8q-|52GOwqb|)l>IQ682y1U#TXyDvGt^x@!^>HI(L^zaT|GkvisSk8M4E}nuqIwFVRMs{Yj=jhf(O0 z8=Vp?#}OIn5AJU?Of`~63PYmC?*IgHooplPu)u~Pb-EVbTI0|`t0wtzB4K>f(_CY2 z*8{%ya)^aCP_Ka~D`Rux`X%%Rz@F+PB;a?kXMR*}GO=eg8*8bvw}@+1w|q1t|MoeC zjXt|-oW8S;T=}U&Uq31jj$UdfdA!7cOih@+)?+SZF1oc@?R^^gJocd*py-<*ob_>? zR`F8tqolpn@1Lm9@ujIs?8%GEst1_9K;J>?z8X?;Gjnw)Pra~_y4z861XQ`?KQ8x6 zKIhipEhH@gKaUk`niLY7`X55jKEU^!jHBszL>L#;*2hTC>LQofSj0!;@81m`6DNrl z$7ik<@-j&L!Dl&28G)R*{7-)gp0M*4y-(t*?8dj;Ch3!wz4aR^inUrc6>IwpOBx2F{9W$8*>ds>B#@J zv)j zdxv}ujbZG0n%jKzHMKdACf15SOIyr8HlZE(!W+b;#xD8mq{R(= zh6e1oGO-)ED6#MMVPInqz4wmcuVxqX1s2>BIlL_sAS|)iWHUnKOHxdty9YXIE}lNf zO5i37@1NxY&*b1bl@;l7Pu6Q1oqL|b`zw;Tu-(mhWxDtNvU|si$@^=TTIQEga6Z;M zx3QskH+I7dt%e`kCCp9_75UmSZ9V>*5HQl;C^zvAmil-tCTBh;M~B0T{yN5l>AY4gIe_b>TiW>Tj={2y(C)f2e)BSV7KKM?1X7RjH_$vYxg8r?e{ zCNXe+!mKn6D;_c-od?{E8Mxc6oR5^|K6MmEc?Tab+h%yRY(1W1xG*;+I_2Tgu*#2_ zBF}upnDzR6`h?>!aBoApgkvYD+a67lKZX(I57cth5Y)%?mmgVND!j2}NHeoz`vkT+ zhl;Hg7OT}ZQVG$oU4mlXQTKhTiZeAroPQ=dSwgm<6lWOD+gBzsCGJLsc(uOIc=si< zM?clmSovqh3$gVZq!sNZ?^`a7KQJ=%Q@RE4iLHScD%7~mgVJaH8L=N)ascO`sVCpC zICRcISj>otTOK750`*~t_Iq)5EpbLN^DseV|Naexm`rUBUNTU8N8FC1gA}cDbNTO$ zCUki0X_~@_6 z@dtwjE-88^;AdTcH~qd5fo};7U!5K`q9^SgSs6)A6ior<_y2w#PbgSz`rRYFijlZx zji*+XfT-Wudt*f-4iJmd?=YElW_hfM3y$Z-Lt|tbBD`R@{*r>c0z1$4R zJ98$v(gt}$Jb@@%zR-QAQy5jC(=(BMM*S3<7e~f7L7mb$Q({j4%rju0Y+9#1&}cdv zI6kmbzIR4)&Zqrv|&z_$LKkhW6A~lfM=Q4=L zYF#$sno&R3^}Ssz=Sj5Gs}a>sfqhVG+IS?7s>1|}sql6TEMCmB;LV#IGRr)q_DaZd zp8=heRGw`~Oq)B1O22}c1|cnka+WQ2E=PW=@Il;nP0OuRrfhIaYF6ZJxB$1tOZ}J< zT?QHWP8HHR$H!c_sx5p=aW=0R@mcYDukwI@)9ZOrE$#4^ova08UkXz>5t}V0%5e3j zkC6EAHYV5Ah^yEcoBJ)OOL4ZYv6fln)8}fmQ3kV6I}5NiG%T6yGP9X|L!jacTM9WC z#vtb~xUiP>=@r5!D7?s%U9w1zo|^q+qYme{s4Td|6sYF?_FHuT`&$@U3{4&^>Y4Ix ztHT)#ZFH@_j)_jyv)JQ-Qlu8GcSy8l+jT_1K}%#R7y)|~2ZR0Hzgw!6(@hrUiL2ey zN!*zSNtBG-mu$ImZ1(o-5x9ZpTj{3mH|q;s$#zqM8eF^=IOXwT@W-5%UInLvy%gBZ zrc-JATgt@;8%UEk$zo{KzXG_1zh^r|C;`b0sH+)sBMBq0k-2i}#e0*H!8OtxCNX*0 zj^Z(}Wj$0=(0Wmwe4+Ms@7yqasc|Up&5UO*t+@wbu@j7UnWSEqz9p+Yv~m>qZYA zjvEFjz3Q}lTkFGPp+;$afT?t};_8C!{PaP5hv_FUJZjAy4xY<*DoL#gZ>|?{PTET$ zpuF{wtFwrTrL$=As6~s-O>m}2HiJ+~k#Yr5L|c<3xzMJk_fD|P5UpKcXB6qtn=BsQ z^s2MfMoxi>5;QOPRF2O)A6Xy>iWPgR3dg|7G2|o|=JMcKKlJ>5&-P*w7;xeeQLBfS<{N8B~Ibkr@!8j!*s4fzqmbr0@njyES}fR z^D-mm=2?rpqo1^c^Rq!Dt(rKOfZh4miy)i8R5jX&PnYEPziia{>1M72UUWB123*`q zp6p}O4g^Pf=D&lTgKB?m{8p)Ipw8~an%Zj)o@0AVz082Z=sk!We3aga;Adij)T|69 zl~f;Crj_0il|ZdSA1wVn0=+9>aUNs83WIP1`U+@fh}yR23-I`YLL3?~5wUmumh6D^ z+MSKTn|vgxe6_TfXR8=TMsA5zcWlZEy*36Llo>tCxZj}kl`_mvZ8D~I_{(v_4VvY2 zb(Z-Mi=fLTCqGM!WX{;A*O?v9s<_tdNLt^)NUMa(-WvHpCHK{n$_5=(HU)9s-_i6;-{S@Y>&&2c z$=uDDTs@-$j*=*iOa-tO!CQMT+=-lbr(V1252Y(a!%0oZgh)Iv@j$D@S^TMHSNcRS zb<|{;VkuYAIEa(P>WP$8bEzc?93~kO)-_jlyuVK(Om?1W{ItKx9d;xb*S@X!XDq<| zg5ix9BU*datP)D3{^kN3u-9et)cSTyUFF|WFiG4|!G|TB&Cqf+X^Qm=K%O~OXdZ#L@%>r-oAP%4seKo#=#DHyw%7OB=cB{CXM$k+mX5t3uddrspvJ0Neo?wK zSuB=D=?eYSO5ZnJFJI_>IpBt&XfBKB7`D~rJ!8pgJs#{3ueI|O;*H&A>wM=Vi_)y& zjz9mB;w4ga_SPD$MYcA-LUdFw@28f7THBqnM?c)z$kBi^Y5*c*wvfO(`qtk8(YE|2$rChvcAgAur!#vTsa1GZPaoj(!84 zD2(K}S||8$mAPqBBwysKrs1QlIf>DCZGEJHwKdZY(>!&UR4YwBBVUYi7|!0Jjo}H9 zZQ5iDEVK8&o);uGfJH5kR!Zt>6;G^43u&s5EZ zYQIGx{)ofK8C{2nk}ZMTM(^f|`%8s`>EK#`nlm`MC8r4goX5RO8bF#?DZD5VP30L04AT&T99LrHs*M1bZQj^8-T{T0pQYI1W>Pt@~np>ELEo$)C_~Bh8177W0 z^uM1)*@L(~udw9~EXGH3KC(h1P3gkFE2LK<(%XgCOV&h?Vjb#+nr6<|kImgL#ocvO zEzR7&mY#UEnj(v`o+R(EaiKj2>*&&dLXr}Jt;1!-wmi#*A&G)^Br*k;ts^bm{W_Je z@8kQ$L};W54TxC_h4pH}z);9uK&%N3Ff_{VEHr|!A*Ai3%=t0KuGpyR^OWd=EHznvW! zKY2n@uW!dtn#;hxuT2cedta{lWiT2VMyT2H{^d`N)S4xxvv*ITde)b=h}Q8umo3L} zUu8K=E}t6MXK)GYcwrG9ZSa*JQ7mxNsfDmgYf%HF3--HvkBqjw*tpZW$mRP41SjUW z%%MWm^BrV=GzhPL6&j%as&x(sV_QoP5Hny=E1(3KV6e`3vLP-Yu97k!kK|( z)Xga9Z7hm|H4Fm`VYu;?zdFxmSQ8B?Gx$S`m^v7ZU9Pf|1 zdU35eWw%Vl`5r|7=*Ij}#t5-l!P##|W53cef^6R=oHxJSon(K`@2bbO0W| zd=_g;Nl-taWpQPo%gVO{C0x-e+dVp( z%D1zFf%1Qp@H-S$rN|4dD97@@={6mLmW;(`d6384QB}BC(Xjt8-h)5y@(QsB2vJhx zJFJS9B1>M8ymPu1V$?XTn~p8>wH+#z>GNS6y%IPE8XIRK9Og7g8FCrGUS%ETgzcI& zd#BtH`yA=J9z-?!w<1d?m0EA?q6%w?33|n@N`|`rj)8THf6PMty^!eXdvFx-mn(1Y zZYQGc{pux!t~5@#Js-f3;;^?Q!c}N9M)LkR0epT714`R1J)?su%|Y!t@Aes&bm17i z=Tnz7wD`bb-T+IUW8jYE7;D~|D69EWpWo$NYVJ4Wri z!FJG6;c*RO>2bO4V)HJ_wlPzhwg1C`rSuOWdX>LK7HlK_lRpyJU4Qta^yg)xuAQuv zF=~&`YuJ3e%;M|?Y#1+Yk;F?*o;HPS>Z{S**C#j6XJv!gO}x!O z=r3wYZVd~y7B8jXUdl-Iq+7y9lC{5pbepwdGFuG>L8NMkbCDVsxAo6)Wx3cg=v_gw zYr;VoC}OM)F$##mykLLATLKHggG=2<)p-MoXYxUIEsO~+KY{ua(qUv1J_*z~j58-F zBg`IL^WbaN!KfXC;Ci?^2zjg_o3L`!EI2c|B2gl&AZo}!Y7og(^srF*22oP2^ijm- z75@)~rH~sAlqAOH^3wbEsOf%q!_$P_;Iarr&IM~)Lsx3Has)$?pRFLepmu~Sira2b zIE)Rc>u-Y-!RZKDXFZk2m$_%oh)?POtkDqUq}8@vZ2>%gv*$+r3SGx)RWttYq04+D zo-k?U&>XSv4XlWbZiJ?Q5N*^MbO90P${pFk`ESVz&s$hdDxMfwMRi&#{L#QGYs#rDcH&4b_Q-|lc=PO6p|ksTxJP%`i&Uk82xTWML;`T%V~iE83Oh(I7ub|r zxC_PwJE(R~SjZPhPwcbQU`FJir$dYtor-kWzHb@!Vg9#p_RI@Pu$lzmn|E;blnd-o z#BQ(`=hVh_8zeBNA1~4n!dXWi{eC5VKj4Sj9Tkg-65_k^)rdZPl>W8zA`npc-118M z@<>~*4zTKa%Dl}e-7T>9mw53?!@MQh-*waywB$lQp$YtOhB8)t@p*|{r83S_262EN zpq}I^fjGPF)zNsCNoN5{16UjJ1SMj(iJyLwS<8Jd(sh7QWvw{27tYdvJ~ zl0aq-4&uscwZ9Gj!R$JS;3dZ2C#dxngS^gSfl^)Dv^MHONqT?hUZkJ+C<&AQOTkBc z>RC=Pw(M3jcNo`5kR9(Ht%lBp!e#ik!>nGcWNeTY1U;f4L|-AUD`axgY%R(v>gLR{WIyH2;-g_(j@_m(ri&KmFOSL_<+# z{y+E07wK|-N`*gCu5wwRTt=z=1^Q7eUrp2fI{3NVj6lL`xRTRGGVOryx5tk{%g6cR zt|l>h1Ws}o;#)eRYeF~=nb8VXiG+iQ?gmx~B}lAcm0+v~x7097Pk}@cqcn9Zl#PW@ zQgws&GjLuI+eSk#LD2@`Z>58XsF6($b%#YPIqBJ79&|*Led*scTyZU3jM6xgev}|S z##aP+D=xVm24OIMWj*ttQ+r|D?8MjIdABS|XGfu+*PG?LEXwOhKkx^Lj$>}QonVkg zK7b8MQUub(#<4-RB#>q{n+~!yfwYj7eEYP4!xzXislj^dw1LzBaOuT<^PLB}lEY{7 zE6LdE59zjDx~7I#TH#Da&~s>cB+E#4CF{=o(nu{r;T6~&!cs~_GB@768D zvlS?|ni002SOcNo4T$wUqh-PfNFCS>yFvN0eh0)14JSnQ+_9rOK=Gn?JCV<{&^`={zp>_7Y8Aa-aV}ZyaF3j75FtFj~b_)OLd*<2adt&JtQPGh)I%MGkEy| zNu+$pZ@h;UN)MI{*_WlXvrcwhwxb#`K==ZAg>}{sspJgn$Cy7rDC)1_oF=w2;|Jaj z|4<(c;D_wXQ`(^_{8Vv{65FZs17AjXXb;{e1m7N~c8*mJWaL>Rb@mbpYErju<+#C< zO6*%@2=aZ0TqDgSejM}F2=P{2-L~aF>kUx%tq~F>_=B3$l+|mDWZZ=P-v1zWv>w3L zhUlny;}r!Ngbs8X#sBBlu61hGAP-ANqlklKyJloNpN`{EjFY58U8c3IRInZ&y#r z?SN439M)am0E+b(FK|^<2ZfAueL3NdqAP;B7^j%JchV4Vtr?TTdZ=Y-L1TxHG#+t={8G zV?=QVY*KOoDb`6VC?6wTB$>o?{g-tA==9bUW-lbO3azeW;D@B30%?EZT{xg3htecL zeU2Ly7`#o88Nct0`W%gMK7+@>eKqE1Y_g1Hel(0{Y|44@nG-!GpN4{3La1w0hy9#8iAmvK+vTis~yE%H7Kbs$O=-0 zLH<4?O1ceW$B|Yj-;1Z5K4O@&9#^Ls==dnPCQ{KMPN|CZhD^?0@64M%ki?zNq_ zxq6rFb_4`wvN!YZj<|9nz;Gjfyp;;HC_a-41J&-q-M_AjIfF*DttKl2V18^j6Qe3# z#6M&!6`?R#&H6$6Y_fznd%}caOfA-Y!!zR1t$!~Z)5=~#5&k~21id>F(1y3oyUp^h zjAK&lY}%ib#r(X|kt1^VfR`PL`;4_Z75)~xjf$iHX)WyAax(>$9ZrlyZ`15-D%^v1 zSM*aVLjk85UGc(&ovDKJ5Vm1`{0ozENiO(omQO*j%Sp&Rr_C^WC6m6 zZ?gybWljX|Epl%TEop%`zu z5_gCEzNzfiec-1dCeS9emz%PC{vaPG`p73c%A3zx3Za735ez*UKV$kx6kE!h5>0gC z4cR?0T^T=XkOkzk3-T#S9g%8FdaeMS1OcG5COr?=QsjaBXhC94cFzVRwq*BkL1I;Q zPY0BuEOi9Xmh{t;J~AGJar0m6aHGV-76ifxA9!g`Yw1igTFt&I6nmRM?;@XvI-7Q8 zO*~&pcuVb#+(r;N{X8kT7W>Sgvs9UQXTje-r_&W{BYCed;+Qsi(#EkQ>1qmm*jkzZ zH4#bfwt|V2=G#|6%J+)=xubv9xp<`fFBN5X5ObB?X?AsC6{8ZlOE)yaOpkbIQ(nQb4RJ_0zwZd}FC$uD=z7A@8(VDc-y2LpwJ8zD-ikHNxVb{3@j{ zw>T>GzC)vmH217#*#{%;)d<|~Xc}(ot7j970I3&788P^LBgx6YDZQcoEDbJG#p+p$_^}VV3MZ$5dKI0&p;77?yQ@dDQD^*_6OULwGh@6p zft*l`f7`pv*HwGKVYdr@lizVLmmukpzv>dFzJZ;=@}+XqL7~R zS0}#_)}I;)Da6OG+?et+wJqJj@(b}Q{hMjH!@lqf%JKCj>)uQu-tMeb&|vbV(Bo3f z!IOWipg7mayI4<>&+b8Y+)glGTTi3#RZgm;S5CSJkST+RPBMRzX1fnipzKvkI_*by zWR_+-xddAJ=+R9Sw3kifC7aLc&71#`Wjm?0Y08)TKLPRq9TCg?uPCR$y+5M1yGln) zfVnS!qpqc>G@fK(jH7m7Z@) zE8+lTVI&>_e{%VrwxvR}UC2+YyXJ8IR(^HJA*@#*WVdUw&QTYQAhBIEwsJ2~bLcx>=5 zL*UNZeyz@==9KNS-Q1V@sAzOmH3m-m3mYByN$TZ40Y}U^P7vaO;m36>y14X2Kk4+vgoJMI#z=1 zQ&o;G@2alR^{K$F&g82`Zqd(qyDs5>>a;$aVoF}Oiy!wLTK|+26?({z4X4?t)nL$) zFXg#EvY1~{7l%>QoMb;5I)jCEZtI3|>>W-!m7KJbYXu$qOiz4fWj$8D3&w@2PnlKh z+G$;mAhiqR#uX}hATVrhVdvF44wiRonPoF=|g=Bax1FZm~UbXzk9 zWeyF-Hi|ngRxZJ7q+S(u&8l;0eE003SU0-*ea_t7Z60-|4Zp}Ee1~@j4WpErQYW_Q z?;)6P`DgOceEv{ep-t(seCsInalydTZzWD?{YK04J(}>#0-#Yk6&WjDvEALNZnzp8 z5Phuay9i^TV1(EZIO=uFRWRk}#zkVd%2sdk&}wVC4n|79lB`)kS-I|ejy1~HH;2Bg z(z+Jn*jrj$P^g-0DWh}FSu3~3aE83nb(nUw&Zm0CORwxyYepODQOY;#_tmAk+1#W4 zwyKuB?h;Dq)wmCH`SUkn`I<`|LAp()X~leFOFNcN>8n;_aGt|uQ18aV{37v_>pV%c zuHvSlWAvXT3M4LIIsM}0G0k6@yZh%5jQgJ<1ZJg^64Ptx5)1Yr^*_*sZLw0WR!2on z7toE7Oz|}p{g2D!DBw@s7cTa+Be7D`mr?2KQS`k1wX-!9I;je^7Fn@BRA=chk)nGGs7{(Qj7yvr5&wrFG4;sy3uz=4-^f1y!v(YJ8>I!h)dBYPmvQ!9xMoK_0g8X+Ble1CWaIM{`Zfs znR$wN3KIiJe~-=r;mh^0oSFvW^tvL|UW{W;fq^)3?6Zd;Pd~Syysx#m_;r`a(o9mX zu?GZOFOb2uG(sj zb$i~O2IU2Ud*54jateZdBBLJ4%iO~jm-5#~W?QMQ;XF5{6N=G=jbT% zm*}I8mXYPdiwYy!*MD7`_ZVSZxWBj5X|E7*@ zlfvT~;{_^(Yki&M{6rbn7W|tC%U5rB)joPXd**Ccs|0@`^dHzj$-f@ZJ;p@K$G`(^*nw}ye0^1U-nO(y+(V!2YUJ^<~pV5zER#K zX4R;dbJl<4-`Mus-2}6J)#x92TWZy30k=8ezDxm7o*(RjSnmj=ljvvA?P=|iU05S2s9AGQCYa<4 za@JcGY+4c|uJSOVZy&f+7!71c@Ef?eq~yOcU;fj6cTU+UxMhR`$C{6p(J zm`zxf>CTX9eTwQXgld=gq9fnn3vz~^)XiOvy}lD@6qowqZ;~nT!Re$fDYX=}WzzJ~ zh0!F@Mx*dntk7FU0bxN4ldj)^4TE8xnTW$1lCN!7oX^tVoZuWgg+;x5JAZ$%?q|P&|G>`Rnf6H|nbO~YUPo{BAnNDvwTsge8&m=Bv zEo|K78kY=uc09iPLf%+8Ua}mvhJg|@T6oQDiPpHQCAbPTG6o_4(zYlC|BiLWk5MWLrYp#|GFy|>#9$9 z=2!~2vQDbsW!{=NLFSJNrm@2l4#Jp`! z=^;nd!o6z-O%Q>Vy+0pEIaTZ{TH;!SqSfAG#Bdmv42j)gk^NSH-Ek`G6VTZ2ce_FH z;m-Hv5c%o$J8lC4oZ-2b&vMmd`7QgIXqXbIHT}*KHhe3mTW#{t{ARr~rIkX8%uk}r z$v*m(S7uqyb*IKIp~&KXZ(7G;QSO;8om(?s__&e8J2KR@WvR_(JidYyEEm#MK@kVR(XL19J<>IL=Ld+ zcKbolC8~sW($33XNq0YheR>VyNs-Ot28S-GEp^g)`Zb;TRKGn~eT57vKj)6Je1VIh zYbmWAX9i8!rwQDQ;Yy2`A)3#!oHTRuhv>Z~=nls9e@kRq7!c3Fm5T0BBU97|Lh;tE zI7`C+)`#alZ>dhc&Og2|R7cgX4;-!^O@2+s9j`wiT)tEAQmsk){XSU8ZXL%zGT)FN zhH%w8oHy=nel7rRGpE1MBwu1CzmO(hD|zOaE(=>6OSy|4jlYs$oJ?EvEhg(6E!BAc zCR*db84k0mKElfa57Z3|Zk;*K!V563z1ys;ZEj$u}8w|8ARZ__WvXLYr6NqjB7m*jEv zw|8O=oO!+j^cVO4Fizii3IO9U4l>lKB`T!f%p0M)rnzm~D$g0o^tj_tS%6DUm%R|f z_JO%N&Z(=os(!5|ZOBzt6F9~#&+mLyICSI?A5LYl819Ujc_t|ZcF*oBf^uW^RTg% zn&<|xNIdS}O2g;s#~C|f$?v-HR1N8Abr95N^PJA4DAMnEyjAa9ZVy`m4cH?~M|{c# zOKsR57ttD^b0novWor$WP2!qdZsj}q6fOcn7qEJ{L2KUm&4G-!aiw%c!ir1p2Y`vH z&<&o|PFly0A|4Bzm>p|5u8rT^`I;T1sabxTzm{DWO01k`!X8nO{7)33Q}x7%t4u`~ zWFI`;gwnOox25XZPZa5?%i*{N7@xAOygw{UeQL)4s@K^~9=`TWJQORAW8w~%Ed)6p zo8{>zZYqkA8hUy*pyDP}tE05!d1nzSHSLq}8&Uw8s3c`)KV|q@eS7d3sB`hvj3*}6 z4eQsF_!r0zCZ1zS!wXP;7ea;?2+EeN_$Hg_&=$O-mC~wJXYw9W_!&lM+@i|!HTws zbP$?N!?S!Lm)mXdD}@;^-hk3YHF6k>5?#p6Wu1j~kJ*_MOW{r?OSe+^POaIP4z}dA zLZ0vaox1aZ_BL^i`xN|FRDcm#oNktxiCUzXyyehoWj0+`nxr1(^lbi@F3`;+v1O&k=pTKm^XA~6A$&mZL#qYHgg ztYW&&hmD#$=Dt!6QoFJLl725Amhmljk|UVdGl#V9vO&&km6T1k94h0^o-R-u3K1|Z zyO;h#J};Y0P!Pj;cAki1`#H}EJx}of+j$o5{2|T}8E4NRdiwoK-8)^m{}-zfTXAz8 zI|RnZ6wTJ0eeW;CT1I|qT}}5hukeGPft^`;dZ@o+e{+1;#h+sf-{WJx(jCetjx%b~ zNV5TyA5$Z=d|SHEs#d)JU4)Gy%*2a-ESEDTULPe1MQ{X98bYidMiaQY(Zm`-;yi_9T0;B zW>Fz|+er?2eEIuc);}5?BkHNAV+?xsBsl$ad7 zi#D{EG`8aP&QuGj76W}X18Y}a^O-(ZMY6utxX&K`z#E(!6CvmMIi-ycUVH1KV8jh* zH@}ysS94Me3J5JyT@2q^jFo-R@>sAyU#wEsN_5|ou+BZvhDYkmatXsNTSR=yvgc+^ z`SGt%BFeN@otaZCk4b9*A3e1C5c~|FF@~Bb=|Mgz#-J-Aw;iV;c^*j>f}CL9PHJ6p zR3PkO@MSXn>pVUb29f0qsZHmw?p(mlpq)eO{?AdDCpV=#aQ?l{7SONP|Eea(z8)8` z;?hGfl?9nN1nTpt6<9651GL5_2;B{gs$b-Oa=JA&<};t!GX6rN`?j6DrX@Sm+4vSF z*C;iMO@)Cy#-mK66?ry>jUOob5`DP*r^GHgLR0C;&Hl(acV8oLJ@bsX*_3|){>Y{K zt%{Jjb>AMLGM5TavWMnEMp!8O5Od_X9ovs~f>r0^S!OCM*| z7?K9GRf6T6cKRqx{WR%_SvAtEs?Mz|eM^~mC?l+I*}uu9866LjQNyjjHMchbV|e50 zX#OaDJbrCE+?`o^azMJexKRbOV|V4t=i2j7nSroW|tLXrI8G zxG&}fP#d@KwD7SP*0J=zHI#D-PmPN?JcsK5RB4p)Nf_(Ok1P3V&y$xEhK$JO^Dug? za`~U#yuWX5{)vI>>aG!X7d%a4!wk=RjhIeyV485Z*R14HXv?HfvwKROz*@4rE7$H7 z8jI^^uPHy!)~sJGjp!N9I4p~uxBgoJUpGxR0SGOjJ|)GSQ6PFqoL%ceS9MGFpv1#Li?&!%YO6r*6*irSK=>>XMDe)u;qp#ne*;= zL`M5NpG?Yi5=5dd+? zvnFXBa`BvoxfSi{_c!j3UY3q4cV&fm%XnU+s-W&9gyq>r^V$K_QOaX4)ZaJ%KxJ}b zekJzx9k7>>wPKP>d#Ij43VmY$=pAn8>c3W*i4|Z1fVq6$RXibUf~i%1V)_eZD7aNt zh7d?bT@h_J)O9^9WAJ>*pnm$Q|_S~B@uL)F# zn;l+8{HjeuJwAVF)U&?)glgEiB)rh^_U`=Dd!@QMU9+h8^E$7|Z_chNQ@L|_JH&%K zjTvc^-RT>T@X1rZalNIo7$KOc=4gjA_K53wsenyM__yC{e2ju2`oDQX?S|U}BI#tX zTE2U~*3uV=mHO2&jSNh$^3DCYkyk2wN4F3^jFhJ6A(DT`H;xiY-!GE)y9~vIXJPz= zjvuI0tORd|YH-K>5XWE1J4SBoZA0c^D;D7^(4CQJa^6WwD7g3vVt(49!YF)7)OAWN z>)2#eu7r_wFxa&9R|LwoKBHVOi5iVWcrx|UmP3G)LVfD{GQ=Aj`n2j`V5fMvL+)GM z;JOmv#zjJlvj&mKA|48S4k{Zm{TI-Y&Tp&>crWg5J-EE{pdS#ZrlCqyb>22MlKs8# zkKWAVIFfep%md+Jk!zkx3C|lq&mcglB)>axoE`-yh9JAOH>#$aMPy{Z2C6WCfTjcL z0Y*>fLgJT|9=^vWdieG~D|;-XN}T(6E1zeW+#=ZGXLk#OKY3Psp!E!b&@MiRcm}b! zJLc1_haa<-s%_NO8g#f>{CL{9@Hknvwy}q=m2)!ouDY*wh}sNY@zpDcXI5X0xb{Z{ zeq*l5a%XooE0hwHQ6LKTb9HCk zcGc)Ydd=+BR}?Ys0rXloAkd^d-|fo74u|q%6{maRk2f6p$6Ba0iPrb%)*gp9ww>-w z?$DE#o;1k0415Ui5xN)Gxuk$i$0lbG1OxU?9|+7T*=x>JpGZvVExkC{QDHc{XAkDI zCWXFVaBYohvpahHQI_97T>x=ghox)mJF_83sM!Piy*I+D1Zo-Q zPGegFkm1{Lvlhy<%%D@BZ~PjM7SKDnt0S%0_PvOtOZ~!64XYG*__2U*9-&KB0-4sR zK&h^18eXZ`a!1d5*Cg8P^EPg!jLS;f{b-^PE0h=kgS5OQS!Uy;URex<1kMn;6sob=o3e(<;VyB%+kCTb zgms08FLigPO1*KmyVo_5glo%|=q%^Q>T$J)k6UT`ZXnc1eent$%I4;$UsU(n;q1EF ztHHUI<=0Y%kBPT1q`rZ|S6iDdzgmi4>g?tPS`w4){FLGq*|4f6Jn=uYL#BED%#w|& z;urZYLlxa21|Q<=^fy0VXGlz6svnGxrC#a+H8o|BI z3-miJKEs#p7VuqY0f<$y>_UD_YU$H+9V53(Og5seGU|l5WUfT(cLdrxChAI`xA@x` z@T(TeL%)#aEoWMh$IAe$h3d9}X({8B{JcrOE;)1+e$Q@(ss^`3nEcs|uym)Al<#_t z-zfG~rd+bvFAWE`g{<^@hK5vxXs7PgxK{^1dR|HUk!go;XF8^wd&J0}v107~-GyQ3 zPu611gGl7a@2?O;<=+5QwC(q;LU`CQ3+3oM<%pef^n`LGM>&eaA2iH>78L0#GOwo3 zx8SMCe0g1cPqX~6Th?mF?)O<8jz@Q~oL!Nj`VA+Q1&Z+QZ0$RV)qhKp#g^3GTr*kq z9N$nVX;{DHfH7L(vU0ZAPcxahlWV2Yovm5VXZCpbn0HI1c#wEwLPi>~zx1cpgrp{) z4gH?k6a-<2Cs1r(f4WiVp*miPIQn5xl+mO2)dnDbBIV_yt_y-cZn8bA%$@Chu>43` z)7iSKxxsob4w0suz>;D)({vOYAgy_`jL2<(3@!7rdRT$L;~xxrf|drWi6msxQO_gk zlbOb&yb&)Iq4)_d=LzO_>|oOo>5(+T*BUHhhHS^X2Oki%R4a&RNjUS|+tfDF-`W=n zv-^D#VvYpA?r-A3)@)cGo3~}b^KKHIucVPhmlz0BY2@}Tn^Eq1qJVjbw5C-x@z~$m zzQ+gjQ19#ffQodS52&Bh9*Gpy2QA{f2=xyvhG>SABNF}~v|~pIw1U_jiC)Y*QBjk< zVzMdfEvws|F=gdZKP-XC-srF!$)-x^4OIN~xgxIA#kSk@J|hVxB_#2DrghNR-0&QF z+}w(bSnHqZdd+uHLJ!m?{iTOCB7t~#7|`ram!%!MEcqY7Og2FRS=d$TpGgF=RQ-z> ztS4kBFfLhDpnflCenHJFE$HXM_%d(0q zb0I4|@bT5B=A{@e6T>W{eM6wyKuGp%PFEVp zf*HmhB_;MS)0$dm2JFcvIsK@q=a2AW(Yo;kvwG=@`XG7&s;`&xXGoqI80;cv&vm%z zz;E?fX0{<3X^HrhfcitF(*qcr0%e4)^25wqmUHqp;!-uKxL6Cg#AK#kCZfw3#v%z!}(0v#zPZBQD_CF*` z=IfP&d$~7lw7_TA9MLs|wQo6=;`A1c>uWM=1es6cd!i;(A4b-#dQg!r6`hI5u~e(H zBqSnkl})n^B_gJ+sE0QIs!iX#qY3u`9pJWVp^xL#F0ON3oek|Hr8|<7?(6!X5}&)O zgOl{mM^ttN6L4$8I(21hG9&oT-$AEAq|8|IoqL5Oj!!2PVX{%!iss%(cGwDHYvg1j z53!twAm`EAvX7=lMlRp|+bPSoCjnjz?bOD>t@68;*9NqQwb#Q+a6aNQLs{mxHCwl8A8kEEtX9zb@dsj$@8;RHw9P>w`(P z8r#me{&E_l6n|C~hL;i%ckqxllg(B?YPr?m%KhPAp`-^(ehs4qk#8|-(UWQ?Eunb5 zK3*B0wyaQ%-)aO!X3tmF2rsYqv@BkTbjy=Js*mM~ux#A|s8Kvu2%HFiD_Odo&)tMC zu86JNQ;&^*G{~(!D!J`yJzDqC#(A_(%++~x>oSWJ1%7{~tc8}N)^Q``H>#@E86^u))R#ptjWl;p%2mek>GCOGhu+C_<`q5>4 zj*h%=lL}2R^_AVUe^p!`mhiSW_(#*PzQbRWBWk^acM+mL2a}76@CkOK z*?D$(VCJaV(RfXyDepFI*C)gB=SFjEfX0*R;mi}m&p|ydQMifb8$?7-{Z2Dp&2CIk zwqv;^@7~RjeS9f^BJP=->U}{^BC4=?k`^@6=-qgvY%G(Mx%hIX)kb+gU);Tjm?}VA z&hUyd6o4aCY(jn;M{Dr*v6J`g%E+3)V{|AbN*f`uyI`@ae)W-6q6W ziwcyzUqG~FnzTb(Cs`cRu8EzAY;*~2b%`kcSbW09`3jKpMPgH5#ey@Dv(9}GyxdMX zux!)N%jdmY-Z#kb6yE->Z+mbi&8r@9lp}fB+wIG`sNRA;XL#wo+}ErUlc$|TGuQ1+ z%!D$%96VhlCxe&ppYN0JE*bS3n_c%g9t4F4*51q1Oz2Un$tu@uIv`jd+ABSeFc?9e z_nhVYrgmxOWIBHU>+DT+{BoB^KTLhiKcZaP6J8QU9e>`;A3y_&7Eh z_<-73tUC1BEA;(bp2Va}vl$2K)cNsK0Np2snI{uh+&-CcWD-2;maGDltS^Q9%Uo56 zujd2=f9Lu6d_mnTf2>eQ5|xySu&%ESz4m-Wtukop`W-A`1mt;MhymxiQ%{e*X6Wcv#bce8fXz$Xs6lN6(`lL@lxZuoK=0~TgzWR$7~HVN=>N$ z=4DBm0qrImKS-fp=X+@6!5071DB@+J=JD z!xhF{hHu|jL`PYkLaavV zu@JGG*wWmsNdX!4GmoiY>M|h+xvGs6cSxIWb!1i3pPL>CIN0)XekimilfS5eV7? zbsVGR`JyJ0!%E&#p`?A39KDyFnsT$N%K;Jj#|x%j5c@rSBsRUfEIyD^%$>W=w1w&x zXlC)yg36`lU@&5FJ}%fRyGO!R_FA5tn`8g_H8ix3xilc$=t4S9a=i+fYnsM}n>4cj ziT^qXa?S}+sT@UZ(=DSqdJgMd?wbOR)x`K@*-F-CZ-B$!xwV(ZB)q?yH2xFW=a|?0 zUbWIeBGghgG0+l4s_cPCKZxs*7{$t_` zpZ@$^uZ~$i<9*AHH^@sij1u!KbG=4dZ;UW^@3{Qf=6o(f^X_B4TVpXAH7`n8^L-Tv z29jOjj4rKkn94U;u2y(%UQJ!vqhf;mL#2=jq}qGcl2a{`?=M|&+_`uG#ILsqx3gmx zZ=522u6Cndp54z?et0aM^MO?*Nbam$Dqt0uv!MKMBL6)(-OyU{Y?;C9gg4T9#`xP5%H zy8Tz9<``n_HvVRH-NGZS6u)9Iyl6Y#fx?m_t1^4(k1Hf^c>%R89^LGmU0wahX;u^z zAO614X#1wW_pXL)wlO=%&Tipl20ea0DkN45zDyyo?a*{;3KmBFvLc|gUJ#V~3k{^_ z-ig}y6;7c0OpV$*zT7q6ni`BLlrf%pK?!W@*KmLQoYL@ml9KL7F|h$M)?AKOmdm>j zAv93R*KC6xgaQm4nBexR;u;JLWxZU9A{nuCX+C{k$`MRYA~lxrQ&F%Wa=(aUEh1<7bt6OzB3arqb33l(htP*PTqzHe#*wS z?mc2cZgPuawRQ-`(B4w-dq!N=$pVU=Dxqq7(yljV+1bxgAN#MI4u{;+ zi>9j`)y2dRfqqfrVDR&$gPT?k9{4BnRZb&m3Q-H7){kZGhkUzlZkRfdgvLSlF5=KSIqSXbkVijvxwW)n9ClRNxmb5A8Q^WzMbmVcDDuJd=5VMzTdai;6(L& zlc=Pb0ZFDEasAni;9x1cU#4Y{DYe`$K#bSMN7?gcWoJdNhLu}Qa; z1K^s%!?0_fK~PiB$^ibkc=!Kp-593zWX(-c(M8)@oe3%azlM#OFVBMOOU3CZOQN<8hVe>ZhRkI>K9#5uEZ-v7(hLRZ@`|VAmDbxO+>~chy z8^JpAo+kn1Ao!1Os1WJzCoPS6$E_Z%#*Er2L%kg_zVD_SU)j_>a#%kVUT&IZ8w}rm zoLTzB3OvnN5eeb&E;(^pIa&Yrk}$kNmpYo8CpOFP**DxRVfNk8)_@Iqwd4_DMS_$R zWR(_qb4CrpU@vX^2?s-H8=Ur#h7Qun-)hZ;11Ue&OZ5*=!hSUzkAQ#|KGtP=P=Ru- zswdk)j%PKgiq01`gL}mXJF;&r0u3w5G=frjV#0ro)dtq+C7f=I@H^hTU!$(?t7Z&d zENM?}nG(_{xRRlb!_S0238jfep54oT<3PcV*(m|X3FpzF*n?9lvNwRmE`aC-!K1oh zMRzcV269YkuPq7clVkk3ek)!2#D@8bjS9V6 zqghd`BDkI?vgZHv7z+;`ut=qbNFTh%RbSNWIyN2UI`I3EEc<+%dVXW~%y4C*?5&St zKQW%5=&J{pSz4>2>WLiPzd*3RR;02w8i5uMo{)Kivz{_>RmbI$BR#?9u%vb`Rj|Ki z(p2T%=U~mWH-9g8%We(p2e0Bp!zQ(=q6oAAN68xA->;5W1HRwU!&n?m66YhV#!jrx z*Uoz}Q9F^eYekWfu4z%@uR@3LDE!Mw$;@@LzI`v|R&>8NIV?{AaZl$(Q0Fz}X|zoO z@$1rQ;WisMVd9f|#oQ;mo+IO`m+O}Kj$`Tf&k@!3J- za5FH*wGz}Cc@j|AT6;J%uTHF3*44G^Yhq}7(M5$)qkdF(fS~ZviSoR_%nF#}+X+2E z40Lu(-TnLQ1&B#ROmzUR%w+#%)&R+SyKez5Bf=sE+-&vkaDwKd8_!t6wEpXJPk zwagDX;o518!Oho{fYZ%kI_E6aU%k~rvb53!uDyO)cxrr*Wq(gi_-*6>MjGr@&ORi` zJx`~6JXL@2Che4a#^t{Wq0dguypw$Kb_dB4w!r);^Vw+`aqfBUF<4Ob*@U$V=M}jN zjPpnacAAm7ZmcGYl%3KR&G|ebatUHBq!htK6Rf_P_OB?VtYmlY;5v7Oc1KeF*0K-O z3TK~CuT)*!QX^D#m8%yYstM?ImfTavYH?IFoQr$Gyq_S(_W&yIX?fRwT2%2#%uaFL zb4K}&sk*_>smzxSC8~eUsSB!Dq!1cNe$!i*RI;pMYa61|3|(QS!SA3SZ@bG~)?r>U zp-eJS&3MV(XY=r#HaI#J8~)0|;CKDt;y<3-vnC6%U^a=Fa@+eYIiqLw@5klJ=Qm2$ zV7CI)1f}g=D|G9B=|WU44k2vyOv=HHZMyc`rhlX&{>?e(h1@llZtAod&n(Sc-*nUi zQbgK4>Yp_k3;1EymVi~gzFGC`JarB+oAvjihPX7ubgZVub%wsJUbG!=j}AUBp^{>Y zS=`=CY-m2isTbZJ&9eMm@}=Zt-Z@>Rqjc|sCv)f1u0?|3#@a((FmZ@Y+jstRpExgy z7kR09v2mholk0t=qYjGHyw}*>cZi4?`9a8?9myRR)8O~_Oh5`6X~&#TE~T)MTCUF7 z?Mq*^pVoN8v7n}oePWPm=$9*ex20$a@gkt>AEsqs#(ON}j;-=3&K2L0-)o|pn21;M-OfI`;=b+kPlITjx3cNM8N zkZ+Fv&{vs~q^gaqu?P15p8eqo?0=yw8&ysrrPqMl|<{_jj^ti5=P$lZ+6XXf0{Sc z2^m>-c&xEEk5u%8+80T4HNs&(@0bHrA{h9sakoESK=$JPMNTWi?Brls)AlSJcA-E6 zb#o0hspVyteStN*{Ezyr+tPn-ZQT{Q^bq@qi*75am3QSJUNXFE(&k^~7U9MdNn`tN z`}_1lz22WbxIMVn%Z68a7Hqn_*DxuuO8FIMJrZM!V=DQDG}D$egPW!n>d4W~J|}mA zBlpsrChwfE|EVQ?w(hyB6+7nXsjp*{{_<^Zp}D*7_hR1rp24z#46(N#E(ghn2f0b8 z`fMJ!p_F+$X2^if`fp#Z{E^FCfA-0pwF6+@BTaa=g)saa(Nk9=d0tZwvu@RCUW)#p7AjBd!DO6 zMVO$``kMp4?-##2sJ$Vm@w_rg1Q?d)#+QD2eo>Ju{#g4S+wJd?Dosky$3OQoZzW|L z8p`tS|6PwycZD8oozc*e2h|o&TpiYT%;0#co^LwvC+21PJtMwL_yMUcZK;#3~#6ByAp-VYUk_k%JPvR}d`eq0~C$(xPw;^@IO&X}8L%2{>}eLU2Gn zeJa#Aw`F^MU8;6;`{@BpV66L}%bLzA7vdQq0or~GJ<0z>WjhE-*ehujT+KeLXsP$8 z^S-!g+=F1o=0>*EXqgf?;Rw%n3;rlv5VAx^|d7ZYn0&|;tQN; zdBE=`=R^P|-`lXPSTst05&Kzg4X|AXe)99l`<0)PGh$DbB)?Y4u38`yMyg0s^tCi0 zfiZ*6B<~L6@=eib{tIEaG~sCNvmL;IMSQi{1?!&{M`jm{*A#DmBYghq+Ar`cNOAvx z*83~rW@oRrD>}D-^?VG7<2W21$hqFlb7wb*_2s-mLi?AV*o|!@_j!!|?#+cqIu%1h z=M~776;#K+mk+G#{k5cXY#j75Dos~rFmEy;If<^6==2PK0d_PdM24eteF^x^;eolQhb|2ft=qb%IUT=eZOj zHQ6q=&%&5}%i{|4|EU*H6-+2Z3S0ECI6IdJTxxE0ItxtjLL`?Qhy_2&*A7@y$Iu}`y&;>A1@Q(@tqNfJ8s1UuZhu&!=?7pp#0Wr zBRd)S_2>(NKBeE)gG$07r=h|+vPQb*6|o=KPuiTzx6#qw$d(m}Nia>4!}|?yTa$NmSMJ&f z%#NNENk8zsz@V%k4L&zIV-Z0Qq zdy^I|1+*PfV;3>{zcQfmkHaz5j6OI97D8sH%rFZOO>^O2*#{BTxm zs?$4Vs+utd-+M-$P3iDfZ~yi<|L^u(LkRiKf3VUB~S;uZ* z8@!`%O`r}DYNXjgmrF^!?7#4KLKX0CTgcb!>drn2R|L!NF>3JC=6q9g2uM-~+Bpdq zk>$3u?@M!V2nAZ$r;BcF7~-2Yf!@EzGbOshl8=IGwj%O*nAy6A85qAKG~k;Ao7`zl z*-vlB!9#A>G*Q2=vDCai-J+930Nc0cHytfJlqx2P`*Bh;9xrA}hq9^eJ2Xc}MPRnK zuha|#ig9%OA?C;4LV?!$Cf{uR3N7ZhSfoi%r>5-aqBTuPFvt1JTbov|JC;lM9eVb^ ziBk6Y`m{SRQ+Du-DHr=&0rTEFKX@F*3BT;yao+9S7Ivw=G`_+6z*YU&0L9A zJ{3+J*%Y0~xBD$mAyw!7@cuKkICG=ZJK_;YU0~zYBJFC;e@s|;XjOa)%<lrVN97GW^#Bdx&%LGU`sPUoHAd+^=No47N4~b9CS`Wn*=at&RO}K$VGlEj%&=@x?Lq z56DGV+wk5upu$8w6pzfI^b&ro-j@t2z=cXOW2EHeRT3oY$V}@ZdFLYqJ0IW?6z*fO1c1Kr?vujrR!+Y(#SAyAs}QY-8ex&&osFjOB& zj?n&UF(x9eS)+)61%EDR248>T@DB6h&ynP5yDBXUQUS>}+m&=R|L`N3R>Ic;6s4L+ zCyl=qQ0doN_8T#*SfUU;e^l!d%+|7lOK6cNua@a?r7q6cQMbJ$8?z^`58#D!1IMJD|`=>J7F&m{Wx=O4!Jw;*eaNpSKQiiYP$Xn zq*rV0U~6(S;bYQh&@U15ud<+}#nbi$HQ?GBw;3M)xx$~8p_MfXx=QSO>KR{Bk8ZJg zHv5*!-93;ov3;fQuYF6oB6y`gNmk@xj$QK?hm=;~I3IqsgUX+2V=d%==)VblcYc4i z4HVP*oSnXL-}U0yWLA|JFlVKb?8b1wFANWr<8yJ|6M7$s2uod)FSb^*`}=;NQ7! zS{f!I$TU+W7iZodGVyQiv~E*ZUK33(5mQaRrkQDFu5-xq#fC=%NDcCr^EeB^-A%?s zhCvcoNl)`}wubDo7~JS6DhV&X2%YNk<@mEA`}$nH(l=B3A;XrT@^H0uXgdjeC4}Xs z_p5&`t%;-GetfrXE271H9Q2Ppo^W&s@^^F_BL9bar_clh0DElLnn z_GIT)R{jy~K{z&%&;@8PULrZ^uhBd@cP*aEach6%m0=*8}?t9lE7ydO>cH5J4#@`)uiPHQN$ORSB0B?Yg%1I^3F#F{3v zn(y2QtVK&U^YvxI94}nciZ*1kjF_akxU+TY52*wS;3^tenxewYAe-%b|8f%7bHmF1z-;optD5%7a5?UV9dlY|xP- zZb-ATO&zW|GJKf!(DEjjn=~NMFU|+~Z5qa{aNOo}W!blh`k$?_?9xy(m8{@B_vh4S8bAF4iR66iFgV>4H-(ZtsWai`mU3RHuDhdM@cX#uk17psK z)Hi)Kl@KC~(>5OJ8iwUN9@0Pl1|WQ0XtHM0!R{EjA7JsTkxfOs8D{Xj4bZxp1G!O3 z(#*U8m!zSrfMf+U@D5rus0XegD{vR2)yd9&MdC(QO>=~?2FR_~imWt1Mlg_L}BBGZ$j>e^XE}D=64&EeJA;O z-4Dj`tTFZGohcmCI~!4Q7Yic)YS{k{4-6AJ$(})V?L}@C6bxa%xS+<5IpiSt{%?SB zuo@{T^7p>~=Xdjedn;)vI{-_~?U>Ia;X*vcFHd-iM{VAP2KZz-T(Lfug`JFjeoo(U z0>pJ>rW0`4@J>#@ND-ZZ9H~ znJi+h%ka;kHJ0WGX!*DfPtxkP%aitOW4Tu!3Zk&qL4XY_$d3EHzK{4irLyThSRpb+<6wiYApt2bSy*@xH-s{P?`S!^Ii-=K9Ev z`yavFEu1hY|n^6r|@-+PZ(X zPE=;|t@1pPWjA4Gq!H7x)>G zr77|hugiKT9$6X`JD@AA99oqmlfTC2MqAXv-<47)3V13aIq+PRlxF%bJcb7jg}&C1 zOJK|R1=+@Pie%(K{rjMJGknCDOoMR=_)mv;mV52#f90Z@EagM z(rY;CFf+w0wzJB&OwCW7!t^Q%8wocVmyTx0`-OZ!A6!)-p`_rb=`lILc-Pg0LXCO5 zI>yBa3ooJF>OBt}{HX#!ZZr`s)egB+WzOUj%zSak2M)PYmQwBZoTOu?&?r{OJBBx9 z`bgpAws9KO@jFu|noN~Tx9HffugO_6QlOL~(7RdN_*Y+*d(Dz8r+Umj$0TX)U@K^6 z{Z{Iv5U%)Q6tM>VXeT=AW!_l_g7XvbdX4+AHw z;pKU5SNz_3tvl1ov&@p*9m)=8!e4eQm~cZFi-f)zhkT-Xv|rT@sq)EM-HT+(HKcV;g?1w_d5Q6BFj2bz4Ju zY8l>u$zH0P^y#^~IIGdCHy!!>HekC*w%sjuZqKqUWO8qJr8oRSeUq55&3f1x$~B?N z{OcZjy1V3LiB(XAe#Cd-uL)N?chrcpLsJ{_K$$onnfTwOdo727vzaDnbA4yQG6p$G zNJk-pci2+UE%}p0>G{g_XoZB#6`-a=_?TJ3S;iGo>W_Js!}xCMnA&sALBJp81{prsS&Se5z087vvd6n}j5bK&v2&3xX>RlGsOdZV9KHm&Z zHQ=3-%#;qk+#K94P-f_jSO#{RzA8Po%{_%%Pe63}wym>G#>lewoKi8mg!oh-X z7O(17ZmPmjg@beq-jliZ_d)s(?w?b&bX&oOQgmdU4Fhn(W~TpnJISCxQtceqVvB@B)V z4ZA0C=YZJGxxaq&ru#(*ROmW0eSPItQ8{HNQ3QVgP&i3Qayzhpt%%%tT2x+x;vL@Z zyvdwx5rf;%8MI49IVawUrIAy7!`odJ6eCV>0ya(cdS^&Pbnc*n*j#3I#ciL0S#n(^)ec&PV$d zx7s;JjtXqP&6>CD+8#H2Kud)LNmiOiku^m1(ZH9(JV1XC`nH}CXiDL5p^_K(!(;gZ z?viHETVm7@M?3Gbd#$=r!xQBm3ukoIgXmRrk3Ovp5V+M*vS>!?o6Q333wAb2CWX&S z@t`R8TL*R~N=cz7X<6;%YRJC)KV4W};F`*lTbmzzvoJiq-N{+`+bMF8y?4H!CIxX< zVRG#PN@rI?EDc0?GzZ~2$r{}rS(H}*lV~CN!`R9rQGNr4(L;z({G&b()%n#@G1N>5 zl<0sNUV>*D&Fl=J%92XEWFJ7NcM0T3%x1%pj2vV;J6O-cGJLi_6VL#*b5$g-c@JdMSZ|S$tI3x_~@3K zVkcQ4QRJk7*`!sltC1~wQD41jR$VK+!-xN(1rd+xr#Ax|X)lTf{H#L9p$f+vAu=pr zH)u99eH&Ed=|Bl;iHcbm*BDJ|i1clw7t75ScY=RyW+y3m3RQ)WLV2T`g_z6Vy%lhg zC*r{O$eXz^i5m47jPd=t7w`L(tk=an?~FZ8Ua0F*cT|LLi6)gYLYi$(Qn#F=B4$0B zY5q7>Qa@?~lnjn`3<_87>dh}ZhAKc9EbX8@WivQRHu-4KqZxHaxgesA|4n=?8X9%Z+7Uj2o_bX$M zhJ&}4aBttVpuFm<)lps_eDjfam3|MT_(Bh7#L75YPfy6sojMOZZxbHA^X4+o(poJ& z@&cdlsq7v&-c z0*TA86X(R`GR}Ffmw4Jtl(|~#=_AEcbEjs<>$38P|N6JBtndtbr0}#)tL+39qK8nC zMJk6G$9iLdyA{D@#w9j3m?YU;-(2F!nk`u70fZR*4V|H^31JT%udG=uEl-h56v9nha#CQQIw5aRh=^!*VxAG)^BDZytYR*{FEV7PMjhZ8nK~4qICks@!Polvmwwu zI}FfSapW+CDV;;M#VIdkLppdUzpTR*w-+j{PQA9-XT?1Az3XGNQ?w&A6V+^F#Ggm$ zo9Q~5*lb`}Yv7cy%0XD4lWm+*JF(r!A(8Y7FAWuOTCM4_S@t-Ed(eeA}SK}YHc;$()e;AB>+w{h#3y~l)40A)Q;OB3Ce`_Yg` zmrp$U5mjYwb0_cbHGm1?Zjzhw)y=GOqadVDUuffsr_g~fNED7*K^u(YAB2~IM-9fo z94#wth0D*2+A!-LMdE}wCPPb^oh%2qo4fNhH?#w7TkvSgW0@PLc#sFAFxC}^?c#Pz>Si_o_Kb3Q@f%`7U_ocSR-7k$uX z+w2!Q8?`J-05VxcXA0=XltIH$moKU;bevGX;#u=QEq1MF2B_(!NRR7JEImqz8Cgf( z00b%uGG$5V@>`qHSb~$w$l!2gMqorfmBtNN(ZN<~qGqF#^P@c#$=;vP6a9gJhR!Iw zM{+Y72#b0n)9wyxQMdbVY{afA9n_Q8&-b*5T;LndcD=wmoE<%-43XV&+WnoK^Phk+ zKl#SX<`(AuvB_I4{jQYAez5)b>Y|PUVa!7*X0>@gK(bxBBIt~|e*<-vSb1t`92pAd0qeI^{zi^X~kTL%7BkG}U!HKmSG>a-@cN$ab zeQPVRaO{4adb?=$NxkpiCwizutXB(DV+qQED^V%@!-t%k&C`O*@bWS;Xm&9rsWi%Y z_xItE0vxq>6L+0lH0fL3igi>DGzTe<8`PI*P7N2>%qP61SvQmLvbUx%7>8r;_UF;k zApPiMAcu1gOPhMq@|kM;HhO0u4SgtQ9$bJcQ$q7?9~aL>H70jNKi@pQ4^W7HbNB^8 zSsK%HRph=}sFGaCwSlqw?l=Jgd1W3sk@$8 z`MXp=;Aueo7u?{lTelw^20C@~ZKkK*?EUxQ9OM(L_k5J)SqiPrC-4MqmbmPl3tQfV z#WPyEEtDZOQPqx$4tX{Tp$^hB(U}wzz>SlJHu@CrFzfFQ2zpN*L1^6l`eTUu>@451 zvI`K0On5R`s%deh$_*}+JH!=FwYrh8Gl=4^I&Ej3CP#z zYdgo^ve>-n4~k~SdIJA2?gr3OhSZ}?H;>~IOGO{3=ok&7#}nPYMgWpOxc{ObIKhSc zIr7gC5hI)2HjB6r=-GWbvmXz}tCxO>$l`8j1|A0fN(8*0d0O-jU*;Ef9tk-Cc2g(3 z&i!RZmx#z@eKR`f;~{agCLNyQwD>5p9p`Qn@3h3oX`_po<26M>h1l;=9DHfwsFkGB z#~_8)kxi4X$h)TI8wY^Z7mH#q7?Xw$L_AXYgEs>5U6)N zdVJ?U!R_vLq~zzLqPxd-Cf_3y-NHW(AN@p)t%&dK2h=qo$DlX(F;5VeF#qtC7#-Ro zxw4mu4SA?#S?Q=e=-%&5;><*|X|zl(r*p%Wc(^w01wmM+1tJ|bywR4$qq!G(F?k~D z^+GBuaRwve5G{lKj?^=HGXucgx62|^ted}dNnsycGJF`@J6&X(m~_rO+Awh;i|vr} zZenROV0klT5GMpwZ0giX7Iao*e9a3`To?TH)b4IlyY}JBhs7iNp3?I4Y-KXlFLG~JANa9ZW%3@$U03ZGWz$GJt^gws{h&}Z-HnL z&uZKAp4o$Cv2dBLZC27s)UIs@flxmjsxtYo#`NI&@{c)2a3GC|z)Wu$8sri^zDRrD z7|Ku_$~c(8=evVnH+LYMH#LU790+*RR5CtT?HtnsXrW3FtrNRMx9nQ)&12s-`eLFR zwj(0>!`bHw5Fgr$p40d2+?JtrE8+w)z@)2VM$?5RPEbxP1@BDW_S<7lE-Rv^h~?UB z87GkB1NaMJhKfR#iJW9|IeJ`@JYBKSIK;(%jv*CWX_^`0)AGVm5_OS3c|X;rL;%Yw z=M(WCSOSmC*}Qozqy;Glam#W&*CVH|wf3EBDs2Nq(AS(-mgp8GD)LAmEqu&P?er zP&duQ(-vaZqIOT)GZ@*Ry}3rYL(^5ekK^xAs=S9W{_*+z6;H8&nqNl0ek_-yx<7kS z`Rg@l>JPN9mQAn6`ikdsExxh0RPTd?wc1MJ+xu*m%$UtPLTOKZ)_)awaTepp0_Hvo z^VzlVoA+V)!HnYL9rB>8qO z{eNZlyWiLQ<3nbzr5uxPY$IbN>&|N?|LO#||EpTF)ywOiKR$m*J5mDvAGW>%Dyr{| zmKLNz1_bGr4hN*WTaY27yGuYpM7mQ#N}3-6(xFn)4FVEU0#ed~()i8={IB=cdTWi& z+`0Fj*x%m!`_7rsIr2c%>D`QdrUupABq^VtcoQ2~(Qw~DGQy(t|)Y-3}< z;3?q2J)&24zxJ#c8#A50gK{(1`=lMM_bDzuRK-8qCrPW-D}r#3cZ7k7LQu7+3e!_2 zJCff-8NRzjHq}Uk+9CC&@BFN!e|A1X=5u;4T6~5^#j<$li5e9@|>;9u>4#nIm1ZaKY7=@2a_Z3(vlMfM_QF0)QTV7k>V)L33|j3^*6A ziC`o)*~^Jv(|77}xi*~B9-I#sRXa{pv}6o{?mRXHw#ors*f@25*yn#or>oF03|i3r z=rbLwVUJ5BH>S9qO)7${RG-v))D5Op)s9WW?cbe3E!=sU5B_Fyh#yLJM8O$wCjMrr z#PNmbm=0~~{xsUGKl`RAQYlwrYCj8*Yi#C ztY|WWBKcGJfnOCe6gwYq16w>X*gw7^UIFFSyK5@p+abx>c6-)()EN@tLUOUck_(p! z?U64Z3U_`EgX*ryq)Mo${?xG%#f@e?w;{2KTieFP?7o8TuQL{!2`vb__#OyiB?Mw+ zc|c*C=gSx`x1%Vn2sD4WQE`4KTQ<+`F^$B&JNYwu)~n)%ZPPu){Fxb3w;&!%LOlKv zicNDx8OSVto0}YrB852nUk$U}qt3VTHZ&mtC2Jq|$CRHRgTXJ8)tSy6Y-_Rv^P4D0 z0}W59j+&k%-2WdMfdCv%_WvEGcR@t`I+<>zx?;8AkUkjjSZhj(_1p>nb#Be0wpEC0 zbx$TxP(%K;#{t^gux(WvszL@T|9Xh$sUXB|9Enpo(Sz3eJW zkVC3B0kLd1Gie`nL7+p?nJK8wd=r_)x;+)6Vv1d`N9?N+0owo1qt0Wub;4^`4#b(1 zbxr`d?KKp(b+NAoNo_wQc!oh%sk3 zbiW`gf2`cHg8aWHiNb$BWot0Xl;Sbn8V9%#xIX`7<7(*@uD3}6uF0M%5bPQCLD#r~ zpZKdb2YjpOLC&j5Ty210HHw=bc>4oNpHNhMe1+JH9_7efasB1Tr%uq}HP8@ZMndds zm`GQ+m(&D`vQj3GmE9zmBJ;KGs}xa)P%H3yA;`xHl9FOIO^D-^*4@~^tEsdCm`MxU zd8uw)i%Hzb%MHiDDBOQhNxJoz4Od;&x}QYPWRpuwlmnusU}WS?(tEoi3KC3p<4tGQ zuf!AZ`t?k12wvSmts2^-r;pxJ%mig>oo_n+u?6kCLD;s}We34-_n0YHpFZI~X6HY7 z4emGlcYn{?b$WwWBZQa-KLGfDCz#5#I;5~(rRPhJy=NO078JKiHZp70irUqN@=@7s z6_m+Gp$QeWyL}|RrWm-8dDQgb9QO76UJ4y2UYkX-QX)!}Gw)kaBGiqahlN6VBM1C^ zAp{`&tU-6>z2Z-NB>}*WH^d&^G`e?HU>JMe^FfufE$UF#nz|hz=$qj$>vVxNHC#~b zxH|HL9I(mOV=CKcRO2=vi?ByZLA#dX6;RPijUtrEO?)?*a{lb#W;9)eFm50RS)3V{ zX;&lC(TY4|Q1UDfpZU>3i4Z5_pxI<|_{``or0FCyTce&+E->JVW}+4#sAtBlzcznB zJ-jqJe&>N0I=d+o-jX&mVZaSN2btL3M?=NX(3#Yg)8+541(z#_TJGKe)8f?(QusmJ zO*q%0oxwj7NudNTqX?vTT0&ty71AFw_65it@UrXe`({=Q$Xzo0_uDfBfDJ0Q>p6h| zap%)Ui(~sK3$df_T(_n3EorW7qap+SrUn&P_A?M-x9?McILI4ajMV1K3b((@?Hb4Mu6p z>i2LDgwV{*NHh1D$4o!0BHidAEoir}-E9#0hJg>T7SuxvdXbWi(@;Q{r%b=KaZ0Pc z7&jF($8{xzPIO>A zoCx6hhFl-Kk#5RzE>3U2)W};m-E(pN*VVe3gh}SN3S|LhL!iD=nfHoFIM?=@7HnM5 zKA%AWzsV~37f%8E9?)=H3w(25N@z<~uN&>!9||(T&n36JsiORY2fIZ%w1B@%`RvSN zYTHd|o{f(Oav8hlML+)Pc~%Tym?#RgHQ%{%g@r;mw*R>^kg$8}11uKds{!v%vY*oe ze2D(RrFU!&1|WNLIGlD4Jlh`j@2u^yJ3x>9A9`bZDc7}MvH#*d0+aKH*)5=8F}R;1 zg>+Rdk-seN=-;ToVMR(dV82?=#kI3tTZ+;T3tW@)-n5tb)uKF;a`(5tb?8DOX4;)k zxT+JIea`fO*DL0hC;VnAha@argd{ukr2Z%C&Yfn_Rp?O z{@z7R=Mrw+b5Hl*7q36Df{d#v&i%Gv6dEwDyp2r$ze=GiT3FZ01i9%28)dRGp)5kYS#B^#NRNagyA!^7bzD3#UAoCJU3tyL+uOcRDS+cGPr38_BbRy|eWlw7x9e^*FqC8|T@yvT%ejNT5cmYqWyZSBu$~RJq1N z?DV)dsb=)O(I55Dl_j*B!AFu}0AaZPBVs2uDp<$wLPNcBdA~UiL>h$Bb#R1%B8|K< z5?+-1HhCcK6IRUhMI!sTOMKMq-2~at71cyhx)-Xk9{s|&rbih8sknbx%du%5Sc{w^ z)m<)ys+vuOP}KV}nAICj$6=IGhfncS!goCe5_2M*i9lT^OqpH)wWSik4<05Lo%l%} zi1$)R>_;JxU7eQPfdel&yU8dEqVsf=$t48;n5{(y3IrX@8&}e0b+`+OX6>D@$~a;5ft*o5bUiSz?csWMB{|(68fJdQL7?2ngO(Fc!m+bp111J6R5>X)gRku+;kPco8qTT+s^J>iz+w(6oR8VK=SiXbB|AhyX0ln{I`t6vJ^A|z|Lgke zl#SaHDy-ez;lEMqls;8WKLF>`&MmMYx2?Fe=ylqtAYEBHzbcrOgl)S)2++~{Vy<>P zj7@pOFyO|X{P7j2^QkvWnjL>r! zva)1_>!LgGLIMZ;HuH$!ih0vzTT~O^Kz|H2SGLTxdy!iCa#O;^Yu$5Y-d{*Efha!` z_9+4m4hlJGeW zBWDHd8<{{Xb&=k$0U*I*Ctveh(x4=?74smSCk^bNY>LJiylm?J41%S!^c)Xd@>&MK z@jO=A41ycyLZtQBZ$1Yq%UwionJ55NgEmM`OgAb{ib=0U@^fX+1Mx?`wyOVJs@2T_ z8`07t1Sq*F`j3*g9`aHqn;YLK&U`r!2z(y(M(@w#@_@eouS5LKt7;lX#eLxBmp}SG zKn1Lk-lrJKp@51AbibeSMny5y@;mNz1AZn>c3^c9o&iUV5_g1y@);4nHGZ=y@GBCh z2ldln`iEYuf=tB$ux3aODS33g5Fb4*(Y1nh!3Ygf2%M|;&Um0{j`00kefX$#gA!p9 z$)SF1Gt&_yQQh(Zwa}F?^oo31kk(G=)0V*+)-uI7Gq@@^kdsw!s3+4$e1^1AxEHJ8%dLU zOGaQ3AigPJU9Zbitedso%iq1d8x>nj$o=7r5ET}pvl8&qjmadhdH3j7@kT{W#{|dk z8jq>Q1c*%0N@AkGF_dYxFGsb{G-)7LR_nC}Huw|^_!nT?Z{4@Ppnl$bfJAZI=GatA zbvOSB$h{vXjbFI$jb&872V0eoZyQJwkcOKhvGh`-W@HZ4P4mXO0}Lp*IG6o*6!Ur% zL7ktOFckS}aFa^OZdE>u8iFCk_8$x>uIw>Dk%_T)j;p`Fy;{fj^Z!GyUr;O&Z{|(m zp8!BD-MBvmvv=;>Dr|CPG;mWUW78vja>WCVd=X4c+Syv?#7hd&YB~<78fcsQF0`K0 z%@j|;>nFjx#`w3cgkjqMdzb~h==ROo6kbEZE0a8Bt9dh+eBYNAtlcacw2?-{X#&**59@+&78|iIS^)lfE;k&n{(%pAhW)SS69KT4#Qv9qlh4zy z6+j>bT z8^l#Z2V))ahtiB7nTnI2>j|;T2gZ4ZH*TyAtH*=4UY&s&UhO+d@)s3Q{8n6|?Q#Ji zUj18B2OPcenDUj#xJpU*VdCkac|+(zP&26SU0!b;&y(gb29`M&E00dYH|5?&no>Af z3L;}O#)l+;L|5?S5!ilaXEyn_+8SvlK&9YJw=!QQ9h-JTfqnSRZ1VCg5cBI5WoQqP z@{$(p@+vmAfSsMknU`rpaB-}nn(ED#g6cu_DzIVKoG}Dnpa#1}m(X_bbg3@b{7o-= zE}H2$|ND=1-sKx`2SW{L_h4#z86JUv4ole- zU>gAzcP|6HWl@m;{tj(^2Cl8FqTO&fsN^nq(%zs0jwOpt0TQyIb;{N=?5BKmnT}!~ z^T339K;^U^eZ5UN*tq`%y2!Xr9bELWN*dhvC9x8`)k)zArpuniZRZj|A5qb%8&iT$ zdVd>d%bnGMF^!=_s0X$aI$YPi_hZ&gS_w_>9GCeF>{W-xiDjnq-fS5bDQ?4}-!zBU*oWOXoAbazvN$`d&tx&#|V@WBR@ z)_)j$s|1;V0pjC^obo5ISdyLps5nc63OtHBLu;XdWxH?3p4FkBBIVX2uyGvw!>y#I zf4hCdVRyI^T0x71Y*z_<-z{h#l`s(azC%w$?sw-QZbRkZ&&)R12jes!TuobDcnKJN z3hp))cfMvnu+A1E9Hr0#WKxQnmYzO=z287BwHaJ|(n5bNSD`{UspmPWEmT&#UY{&c z5@M(DYrXvYrx{HxvZSvbL5_)~Xl;sxr5JjNkjl1Aw!)6HBEbww7ERAdcf!OnSRazg za_%6D9(L^#`Tg*xJO6v}r-t(K=HqX9B4-+!U9o&cbDeqBGK%<`$tXJ;_cQ;B8qc{q zzj#_Q>_sb1v0YxAt2S4?;6Bv!w50hI&8iZm8sTMEniy{# zeOB4Pt2bpn!;W4eGrQJGtl#;c9NA2*%BN`~@3_6v^Lh25f9`&zfKjP7GK`HolBD6I z($-iQI)%f=+!L7lsG6r9&iC;1TZR`cao2z7YQF7&X$B z+S&U}h+{KxL1E&zd?qxjtwE6v9qOiz%DzKNBZrc>K$<>*DVZry=e3lPsGOyBj< zc$-U<=Kw@uUh2Vb@Z`bOC!njWD(IH1GDO8 zYx{_<#B%$oRRj8EECYIO=z%J@o$hSgVO3_zBi`%r@cZlSM?4PGio8*kbvyS?5F#_V zrt97!26sac23}-Bgu`_lE4z>~Qn@w7D z07TKPD*Yc-T6acXc*>QwvOhL~VGEK7Yth3TDo#>-wP^LC3}}bLt$iL@{l;;5xBYD2 zVWke!esdmnmvZ>A9JSS^QAgC*ib4GEYg-3@GW?*ZeNaX&QcL@f5F0)<%2^=&@iUX& zki#7N+u3(4R3{S($<-jX;DM;Wt@0&ou)dI`zo@I4qi>0Ac^YQ9!H+xRyP%w0wTo^A z0?_PL?fp^Cp?Q}v@=aNKC*K2ygR*#bD|4w231{ z+ME#`I-o^b`uLs+O!oK<{be~jgT|>x;p3#;k)lZob5uZ?biWG${fUa#wxg)91lubf6(>`6+}gDua~Gy(#M+!=J3bN)FTWttAP@7CsvJ9F*l!Ywb$&{_GqjA(5Q93+eJ_L+DBCRDguGB8<7t`u1d}PZsnQ|316Mj zzrG6qj?^q>R4Svj9sk%%n)(?|2<>jY7_M$^A6Liq5baf%DxXmAu3>-8tI#?wc}TCzt~hNNSx%fQHSxJ&^n$ z+|J^Nmpc3ES0L&EzHR!Y`)M^Iuw1U}6bu=Q`=L=O1JXYiM6;cMI>R~JTDw5a2ly(teI<5E$cwM3I1zS$8ZR^X<&paQz`$~^?Xr#_2)w|=+Ku4C2U(YU}Eh}?-^Qpom( z7g1NaY41b+0987Cb2Gl_bMX^|`R?~(56qULbn$@?d6o${;g-vsl}sHBS`=P=NO@gf zjB_-nv(^sdBCw59`t<1St@<};H-`q`_8x-{dIoosQ_FUP&dgqX=y|iu)XQcz-9W;j zxKo~qyYyb$Q+G1qM^dH3?9*w6XFA&s4a{?r%!*WDpa(VP-WQdN5m`&8-NY;Yy28Z%?d+LAXM6s+p}JO;)yIe~PMr;2Oj;))@YLm|)C11 z7Vwd-!P~~4Ccf30FMO!)PO#8pr|=4;o%sK2>1@_6#w_HLm{YbO%mD2T*=X&63`aL zXWb1qEguBk z1Qp!c_{71L(Zy+h;EesYyTj!Q+HL$Iq3%qP`^NGO1y$$cecY%=i1S5^ohokcl)hj6 zet9_Tc5m%Xo=t8(!?;vltFzWB=U#T8Yfn!5Y}fy2b*pSEkNWrtUVUzFY+i-luV3D9 z<#|fsw*OAdKTZxDIuxF>w<(Nql5&rfX(unZSXD2=i!~K_c^}3elNg@oBvuw!xfS78 zicj`5(HoDM@NrgdJA|C!h;y=>;ShO{*J-m;COr71X8EViJF5R_E zmeoJL{^u|u>dDk@6>jkGzaP=BO5p)L?^H=AU;LqJe8r)Y?xQ^Qb6~y1tIA4Yx8m+E zE7c+NXSFm($%dk?&f$Iz@MDAOO%f|>_uwXu*upCEU!}+>joQfq16AZZTtRtw(Ya;Z zvelAOhT&z}RDYVaBhC#US_FoZxvcJW=ZR`R^g7g>6U^*DpcL?AQk-My8MJ1i)OGN;u}NoFfowims@) zqP2M+8*n~<7-nJCVP~FEY4-?uw_1P(BYlB_*LVH)do;>))^-Cw$)rUMfsAm9DTjgE zrEh){T2<+3*$N6++!@5syA-5VZ+6*TRBELxSow@XCGf)*7cTw7ouH4)!^Qcd_^05- zhG9*L5B`I@gIjJNXV*=uJ8|&zH52E)muQk2ys@}rwcB43p%=ZiIZ(~Y#X7*s^)$;z zUd|Fv=!n_&d-7rp2~4|#u5R3?v`_^Pp}JAy5Lcl;8eW>*DD>uQ!uypJertm4ftZ_;$umXgm_eP)bB`K5O&rZ3ZMo-DAwp(O1=f5w&IQ4kqQuVjvlPBRT6V2uiUwS7j`Ufh!zcppR>syJq8#86#*3>%RhmnM%o{{S& zIx^|fDH#x{WpCBgHgNv%%jTb=d2_x6o2K4*zw+SeEp`3WLEp?Ka&x{F=8+FoJ-f$l zTP?GF%TuJ64luwnmax-%G1>4s{xC$@EtasL!K!9+p8gPXLdow{8`YdveDRt0)y#?_ z5@igAv^{g#3*6bmh(Bceeiq8iylwv`EAuBu(MCuWY@6gcRW zc!=>yaoj>6v%;=AT}IV2@!W%DQuFBSux57tD1$D2x-K;26hZmmvGn*-_G_Az z?ALv*c1nOp;nTAQX7Horv*);}U#&TF9#x*qU#4yUIG-h|o>swP#D|L%^Z`~>bO z$H@oQb3sz{w{vI+H&@w(FUatz^Yys-!C1VFGT(ZOJjsBxIlA@&PN95*sxO}zl@b!> z=uRsQXof!)7%e8B=f@}Ect#pxxE}VP;4!Ou^3tbhW-##HU7AhVBvrfp!OyhXlDE?e zTQr?x0q~!8AuY3X%jY=c+tj&D+{`n%G5bY2`WHAZu6tHPDdQU>E@dj+J;-n!F%qM@H$ofU42bw@sYy!~V4MM-pad-A(M z*5zg@fAYjg`xi>l<|m}LTFGM9T#Ha(+ZdBW$(i4LMy#AA~V6Nz_zpQkEb!#GIyNYm12Hv8vo76YN2h|0Xed6%xu~(Aw*T+88Y_F zMy11=RSi13L%P{C=U@f&!hG6~yB+4z=V|jR&w~Ggg!7BlW(gXi&q_vwqNRue<99Lc z5`lsK_A`xyl+HcG&&jdX=4q>LF}T+Av~J#gM*PoOcHWrD0r|S3m*ljm z2B-Zkx;z5#-?uyubP1fsj{TVUlv#PDGh|I{tS%r%Uew^eGxyqeGB(Tc>cCa4&{Bn% z5r$f}4YfZ^J_)EE9)h;H)wdEa4!z=r_`je#3)gzRIcS|v-%@&R6FcGACZ4dRV#Tb> zn2!5fNoZ1fCi<}c&9{$OKk1BAd-dCP6;~PE6E_r5GdGyTZiV|%@BidptGkOgg5H=y zFj<&C?Ubz_KdX2wS|hH~pp01(8RLU#S9H*7L*LN8H=AUrTqd8u(Xs6*gwh>jA$C#A z%)#&}*yBwSyUJ>u+!F?CWXc5<5vQoV+x(%rCc|n=w>RyNwwabjvpkq66enNgKckTJ z!R?+7G0zfTi%U8EBt9(DM2LkuULQ0NlqXpVxam6A<<lfb1Ru~Y4vD7t&y=5bOg;J*(<|A;pRW{62GEuNW}T$=njicvY9~KmX;o8*W{Q6Zv}bEd#9{7#FdxcUxE;xoNts? z_S!^vQI1e6bcXHH-X)-9WaMM=aVE`4RTokU(2h#AYnXFQmD7Jd??K8g!Cb-?mmnqR z@Vce4O0_cJxTU&Hfx~cWEigO!`9pXzZqYeS;;)B6LDphP-(2{^6x<)44Js+v(0Jc* zWXC^pli8LF*jt3>3wx;a4}Xv2lrWQFGF0Ktl2LeyO+*xPl1~&8#GoKw9W*F|(N6a9 zRg6pU;0Ro(jiXrmV;bv4L&5T!{bbxmPcg~k{4_jV+ddoEz6}A-3>RA%k=M`^=BZu9 z7?(L#f|!9Sfmku;Q`#q0MilZgg57khqwyWPWB~*?tYZ@dk7#)4s`VteokVy&I4Q$P zbiE184A6|!<7DPJ&|KSEXM{1AkWd)jA-8GBUK4}Q0uW;b^(g!w;ldD#w>r1vdER-`!dEgm{cLq)nb~KwfJ`Sqs z<&}+9BsY?Z%cmXsWJ_l8bKXzx7X2NDY^LWUL;)SQ1?6ebUI&eIqAB);@y1mod_!o~ zd0F<%J20PC#?bw!ct~!6${=U4d-m0yxK^p}*mWZ%U#_i#dGL!4ZBsQ$=Xd_M2ucYT zn$sj5A3{pSn6_6=nu6p+3f`-Ug~71+EZ6qeaBE-b1vBMaT@O75l+wk7$r<>clS#=n zaxu_G9^Yo9Ycglgc2CZO#Ty9}E~ko+OAS~tB}gVHyu)~Y?_%@t=NFnW2Wpzg3^9df zvQZ}GhB;;ta)ux@2ix-UZ1Y}RZH(e+GKRgyR@oQJ-isN2?D^?AJQnw;B|Az9U5X7D zsV9{%>8yltS7h%`Jr7_|)g=y6Pdif&%D1+kV4zD-=)v)j4|J%S$RlmAo@!AK`C*Mk zN|-~zugE(u67y|MJ9T}Q%JIK&f{x-6jBX`u;x;Q^t#D~`#&=j>`j7L8LOa2Gbcp?8 z1qX!$<=+=9LAbbq%a{ffAzg$!4rDO-)SBGKMiMaH&iit<4z`(gdFBJE7QWrTX{0eP zn_yBxX6(!GfksdLbvvP-H3U?VpW3BT%dmrr=Kjpo^^4ftlRQ*-DvR>I)2V)B#bexz zR+|q8w-h_u7WSNna=U88O(>x+$mNK3z1@&AKkq>Fzg{W(^>uP=#{zmZk}>2o$DCfl zUo^)dJVj$)NT@nQU*+JQXH%NbBhVkr)UkRn97s#BXsd+Yy}MZNPoL$3QxY z{CQy(9vJh34ujyQaD7f)`vT5qX)*qa z?h8tqAb9D@SMT-*GfD(ts6+}CQ(3BwR!^Fqpkf>(2dfH~}I1@LX;D+h_>O7xQ z$#5jY^4a^sJT?ySv%3t@UfPm*984d78DZ0+`(koh&1m9eKa`f;h>fAN=lN2}#~!pN z{~uq9tA|JQtzNQ7Dca&dn#MLWl-!sS7apTMnvp6rh9dkYmNOHh@vkW)+8rqxlqu+F zw4KO{9g_;A_mP>C=auBsIXnt((N=U%)ordT$VuE0Qbd+W*ki#R4XL7GM2~xY=QXaa zbcC{&I*o!7*%I=L&-!`0t>Lu!^-(iyn9t)KrSTl=N9cs4T+M_eGTeK37~V^anCEuN zSke5t|7dT5HizFxNnvV~Kg5RH>eag4hM`AR(1~|IhoJ15O z-3cp_Lffo5vPS^*VGegFm9-ug<|k$LAPM3ge8nIbze(8zx5OwN`v=^-)F9*p_i)Gd zF!$hFIWRs-A$1yUH=9;R|Doy;a{Q0MG+0s+$J~@Oci%nI`Cl2k8zTKy2;Bbm!z1{oCY6Sv9Jj3=hsm=~RF#O{$=(+5Wj50ojQ zVGnUrw#lR5vNCEoXwiQr2xEVBp4r$T#iFEz#l>tB<|vK1RZl=P5K2HcK%80;Pa9<> z7L>mR&u_@Dd^_%+jc=Z7@_7NJx2Gy_NV$)rBml!eh~e!W4T(M0gCKRFG9H+|vi!QV z6Dor&wkt!hAF(7ULS>z$__ob|j?!*Jzp|fWOPa@6GN94;B7`FF&$|dbf-Z1gwc|qW zz$*4VG$(|It1yoVyDUGi3HD7zzTRM6UkC+0R+f{8f&a~xMs4V$hFjaSEeR`k^v?u+ z1fxo`K~7H9j+n=+RA?lrc&3bw+-fv6iYbna3Wms-i=7}Q$26iN;j!uP7-=d)tOpV%m*^~YDnNs*F}4HqzA{rZ?OlVR1Hfh;Ez;g&8#a( zp^fov*abb@GEoWQ732vTNi(HA#OGgwqoK3I){U^gj>StvVkRU^D-i&QMTEadt&M8- zN-2b4VADS6LSWiPu$XfCeWp@cEBXdM)*?b#bFOe?u~`;XP~w;J&2U6zu#88toizXgqe`QXd1^Es=W}l&jH#pZuk5&ft;ub56J;#j z5uRMtQL$bG2R`^61`*@_b?-K=) z*`fE=gbHDt(wO@SOjxww+iVeam1w3vEQRuKX@%u{^+40*8JCb>ACKUTtqXbm87Y<{ z`tCT=525P2s`8F7DG^#Et-^jOl~)~M0~mM~*s7#rA4O!KtgnP1lp0Wy*!N%4YD=PR zD?Q-3uMpeze4OR+Oe}VXOtqtQw4@ntp|SiI5^NQU^iTKmaoW z6t3`)OSk((wW;{@bR#-pENb^gg9%IR$NzZ@mr!FQ(Ku#Ha6kWg?Hmxxs(D zRgQ_H(+p!e)HzWj(-d4ixsZP@Ws3IovOX)0doa}J^zAz0>)3E8p=^>!dWeR*gjBMI z$&`mvY8;0G@md>quFJsY2#=|haho^CQYqAfaa#a)PHclhj%S9_=7Oc@%? zQEgavZCJ|)-KBoyF|~fjf(>EiA&jir_XuZ#E~{L&5e)A?*^E-zdorY2LM63f(rsbm zBR_&~Vf(Y(W|c#0p;#|6xkl)W$iUeZI?eBnf}ByQI)lvjsF@B4xxUh=feT=A>=P$$qB-1c-^U4*y=7BJjz(oT%oHO9S)*9G zR-!Kw+k={i9<_ya5*7Z$dJ(P*rq^Ms-%-*Qrbpq6H3q>D1@H`L#r#+ZKr$_axq^Yj zz+9ckG@}-24xTz;5ub(~Kn=jwv4RQDo4HliOX?INy`Pe4%B&SEnL(o)1*7v;C96c# zPC$)31FzcNL9d|q+P*=ro>N!y%)T1kQ*K~Qc5!E4OyJ0x0WAm3w1u_tINN*_O?G+7zW55!CTxa<4}j(J3?-~KI>hoZ!`cNL zCEA&wnKsd8(4BrSeLxu7gh7a~Q0U32BN%;k*%v>7 zIjQdA(nsJvL*ID;;ds^#f+Cg;hUcdNddhx#$&|b&4bIf!UkSr7hZ&lFOAuisqevc@{w06%o-x2%oqch* z4O}LUPY?6iCxtGm*6%R3BYcZZZ}s$#&WR3C+<7f*UmT$P?p#itB}&86kAmsYQLtF{ z{0YQooxU}5te54?cW_Nan(gv^BL;i+U7;30*tF@=-dq zNxC6S`Usw9U#9Yz52G{hf~(VO!>Vh-+yQyaU+Ap<1d^4?W(0#tEs`}Pkh}Bc*+E_~ z=s8K&w4)U5mFd=3Xc$Y7HCCG{0zy>qMp~hYEukOlmxII5*jifZttE|%-QOn)Y`4!bdo4nVBXiGQ4a)xNwz!;VKG^BOC zC=+0A21FshHA3fUNBF5N%ZB%!iI!po1_`$Y^E(YK*faasx_xSi2L%x9MftM4=eRL!RbL zrm5YFos$9rizQzh#s!?HNVZY@DmW)ekl=Md8(8>3;CwkA2)wr=`=T*8`U<|de=NkY z6bN9hM4{K52Re21&I1!ZE=05m03Z4~pDXKYPp0WH)W2B20o@@4kZ67qd5p)gB(2}! z6#{H(|EZrYn73~|Y+qEr=$yf{~7UknBFwWG$Rx6&ad(^)dF z41!et?xGB~pQzu_f=wUc`mFb&7}2HE z%Oo9MZhikdDt_`@*?T#%_ljjj3?jX=V3kIZ-p#Om6pkeujwLdVB|(lQNM-sR$~9rc zHDS2=9SJa3@BmX#;xJ2uxq_6J{4eXhhgHf(3aUpoXheeALa<0u?+-{l_r8_>0CHz> zk7x|vS?A6X??w>Hu_srE0$nv2MNZv?()0wP&8wTpk49yk;;${oQoDW!mkr@tOnTU- z1GdT_X)D(D=MAuZP`p&)E}LO-0se{lK#8(ei+yn%(WV1JT1ctiF{j@F(UNOBnsF9H zCc23kvYB{98R@~mH+Z{_JFKt>sznL{^ui%Csp5o5+rgeVcZI;Si>^p^>2I+5N5Fjsvr*|iPRw)|hFmVb8PrUrHjhsfbG}}gNhgt06yq$pGGYN% zs@w_BqE;4!C-04Nn`)i7D5wG~XZTqG<~EShQc08r#gknsq2yC*OvH4US$Q8aYbGzp z${?;7##t(5@5C$(hY-@?nc^X?w=NE;BVKIXYZb zEo45n?2BlinEIKIXzQ&E8U%J$`@vLZU*AZ45X#yxd%_eOLS2vyo*GdqH!vo<^aOtH z=zDj+qPGVEXzz}>3~)lXTeoqr=%MnZ3xXb$f$x5FPK-k(SQ^Y#2h21n$S>9D-o?uK zk{cE6#h$@RE_uuEC#bYrOL(2-ag!43N{w8}dnC04c&^$nbU1=s5O&L`wFDpGVvn(N z*!K7JG3R#3g#HWJabc{RkXlzVyn6dmAM;6ha}`WV0O=>jutORedZ9HN*XO zt-BM+eLcw^6Ztk;wC={RCB;`3{Ni{keNhl7gq_@XFtG1i{Z{f!b68DGjzt)&UYp8E zjSGJEVs+qlpceFL%TR99ir~*_$pywYYzg$eefj_Yk6Re~6Fu#AdDmVw2}~y)j!>0t z2fbvNelwux%x|*zM?N?$dBhEE=T%d# z&cfSKzxkgLEzP{k2Ji>1Okxfh! z-GtflGuxrC+E3&1L_LGxeiHJ#eA>s#EA4VjZ7!qxS|4U4CJAMDR2CZ&a$EkmIOM&b zRnCkhxQF>cT%~PRB}@JrzlIWJj-xo^-4vXR{=&n1=|ifoeK}tHV&iTXGyOq+MD|BB zBZmO~hweFrnu^$Ja%1SmtVGlb$&Z>_XZD(MdImP{6eRWX=2b__Dg}hQhH{zeGc*TJ zl(a=0azE#aZm7UV{i|Z>{IW4jzwL!m);K2@gU>@S_&DcAj#zq@N1KKai2E($lqs_x zbl_Q5>E33raseXh!%%tui2qhn9k$TLBYNFg!+02HRC&4{W%hQj^Jl7xf2IF@FE2v) z#TE^l!wOpxGDcDCCza*a!~NhiF(=gtt%CKOcs%zzRIF$2nYb#{bKLtyu@F`n1|+YY z_YY7_Tu#@OC{o2Ho_D%g1skT_xv)JATc=DFgFPX6tH%So7gjK$5lgB73H6Z0My8eFZ53)pLnX`3L(P%uvF>L~S*e}Ua!WH8i-g&9c4Hg#2R_7vs$%d% zudtQFN22`0!yRtLvn#`-$g6{-lw8|zmXuo5`0`$wVach)NbaB0TF-cBll#&h^ik>K zlwAZ|sGCPudA69aV%XOs+~*V{xe(mKqJ~2QN%NQ0Hc#Ef^(6v1pN+XO*Q(PVU9jD{ zll${mP4+vHreUsVBx6C62PqWl@+5`gSxLELkKk(fDX*4@z1Y~F@a#Hw7Kt0-2t#;+9aOT2i-dU&zA3_*~oQH zyz*%nLdCaM)A-#T5oxj#VQ^pkFK5R}`9jPEpH<5i?L98uvy{{ec=g{6VVBFlX%~Xk z&hWKexVG0L4$dTF`=OU}85q(rNG(Rz-7JF-?vucKMub0wQb42xj?rPPh^1qiQ#@ym;5KX$@)vyZ)(L`BjOj} z8yBg^u?2kxZU;h%7JZL8V8fkX$hVwMcMqQ)cKskIi`^Tuo;y^Tu{)iScoO@b$<$r} zfh{UFA*=k>eZ#fV>NH&voAuL%H=J^?pbi~vINPUw@D3OD#($Av2J84!92jZlJKKf$ zTbY}0>N(Agy0OjX{do6{MptAl$f?pxQtRUG?BrT63H1c&b=92IET~$W=-;XxdQiCd z<{??k3(~uIcO7i0qZPTQs!Z$YitK9PicSSfg zh-P6gIhTvXlul0L%_aaB*ZR(okZ(Fcy3jB0U@($BEA-#)Y)t z?p^qRzn3NkQC!_N?FOu|UE477dE5pkpNHxll~0PdEPhg*{>9vQW&L)Nxg_X>Q0sLM z^#RLBWj*04Zg1`nrd%NvrlQFYa~@WFAH4WPvv|}0uwl(htL@Tu?#Hbf{&bZQ3YC7~ zB(NXwc#i;<{f-CkF6r{LeNV_I*I5})lV9Vier00A(X=e`shlHNGCBP#oEb7o zL)^hsgi-G*LWi`&3Ppk)D1ung-QwM?`yMH9xV!O@jOrZLClC>zn9H;l&)68KuMQVt z>0l&y?Qsw(3ingc1qKAqTXAUU~}udx@r(*Qj zmq`3SYO=XrYV74%^h(2TPCK|>O~*2YdR?bKg*rs7`BSJi3X6l(){LL^U7e*}%%9xSNC7jvBd_J*XNEi#rM4549duC}>&mbzCo&i`YBPvoh=hHE1 zh`>SJqCJLq%rP-+W44LeD5hT+-Z78C z>}Ec>w38q>tC_albks~R+el2)3Wv)a)Hr;TVjoGbw)5Y}gZXyGd{YE>9sSj}GwGWl z`F@B^6yNvhBlL$%cOg~&5SNsE|F8P1MmA$8c5XWDk?(t=67!gxViw*>B><%YF^{k6 zVET&x5#uLNp%GLRf7a&ejA5>ywHaQ(N5mj$4?JXgb(8o#;;7hf;Kb$vP+B$Nii#8`2Nnz2yClh@5O zW5ze>Fhe?G+0sG9KRrZsdMnByQmwN}k6TD>SCfkGurASTe1O%8cJdBi9P(NQu9tDH z!;~XLS|1o!RRFY@CCow zWGB~%S!6G22W-Wthzf%0GN16czRaWZo#t;o(d{ynITohV8w3Tu{*VTZ^e(=Fl;68W z7NNzNc?x+yBR!SEcxJtO!s`dgjO(me?QVU;rMWxFNw5EOy9g?RQod})OMcs zP^1-Mh>K$g={PpFF*KFk+q&>rQAZ!BO52BitB4Y*R{ zaS|&Pxaoj17(M6H-o{P3?0hGA9@FSH%Gz|P$SzUi0<^Igi#OE|vRp%F{d>mG(o&ec zKrNL4<~={K;q~WsB_+up|En|dC%o~Oyzb&ue@f2kZ%Gyg zm;Zbg0=PP?TdTr)^uKsv4KVNdtU}2%OjsAceB%IJ=;n7^(UnRYW$how%Qy0E|6>c< z{`i;|VxAxK!kvso6suKF2ra8hi{JUx9w0p==9Kbf#D+#M+>XN~)*-VbfC;U=yyCeF zMjhM}!-ds8`twk5pN^MPywhNcr$jKN#&e=6)5cyX`UtfypbcXjJso9iqyMUmT3%(; zFhAD;<~{aAC$V@$gQ-CnVfMq#8OW)A6zUl|dwSzLdokn2)gN~4nx`0zz3{H{>X&L~ zQ9Hf0i?`}mg{-LR95~ylvemxFGU7w3Vbsb&*$LHI_ZT?15KE)XtS68M+kPC=gpY`?wJyUY4qPR3VV>^hG;Q4 zA(Ls4zlO=7M*6tKOxySQgKk8w5_Bb(lF$j zT%z@);K~9b66D*35L!juyO!jHWeHiO8ye`$ddgNE5mcqV1JP#c@J)S4A~Z9wPI(Gf ziGwaMWb5ckzKvueURDu{>~jDsNr->Zh(|k|q7JZ+i^c^8CHo?(x|4M$Yx!Qz7D~AM z5t#$`Px;M@wfm*`Dujy-ZUEupvA=$=r}~|fXNKPW>l@U4TpAZ8uYY-tQc-<*zN)H# z-005=0iJ>mnhW(OqDn_`ieNf&ro5PSpgi!)bO*`oGE^I3P5>SupqQLGxXE7%9^Mw z#l`m@=euJEM&^N$xt164yIJdG=q@vdu73HNgAz{S^eqK>Z}iQ43n|PbyKe9zllwe5 z?=af!^r!s*qw7xk`Zks_l~`rvuW{tR?l?q2ccnkD8q?Sd7C6GnZeuTtnr4hZ3qHJ1 z$1T%s3s!%zD4fzX*%qkqsMFGHTdCH&}|%TY0Es@LPgeV zSzueBxXW#kZ2>p8WwC96m9CtnwgqxrnpWGAm9yNoWVx-hEm+NLpe?m$wQZr32{@)L zYrGcjE$)SN!It%2i_7gg+k&%hpSF1|F3l#}lGSZXuw|Rq;%dFaYk{1G6aODjO9KQH z0000809CBTL^t#;Xi5P90KozP01f~E06}hHY;R{$bZkyxZDn)KkUviXK@i2?8K?-2 zg_VUyLL~%&6EvX#V@zyJ{L_HZ;{-w!Ne(FJEc{S@6@u|Y5GqWFzu9=k#@^lR?z}hi zW@hJgJE7le?Zs&KBe^n=__RB@GCniki0zm3!dn9xn(9Oyjnr39&sdT2utN>lLzukk z3h;LvKh+IZs4>1s_c~CMeMy!PTn9}aG{)CQ+ta>w;6^Ac{t342ILi{bs#c?>BD%uQ zF;zno;>X+(u{GD*#AOcPE#d-S+vN;(PRvwSRC&a*jBQoefqZKFI;7Jhl~l%CP!;=@ zz4tDrkeS;M8ORw=h^v6C%x$6^xT^%dW==lx z#;>;t9O%vsGh*xk-wEg-o1IztH{5?uvPr-HcbciC4U?6f@e|(oq!-{Vh?cJTU0tW# z$KQ5KUrL+K#X>Srl*7iC=0fWGa;=5e*nfd^| z=mYdFSp@HZxS|s3@66aPv)-=L3W-$0mUm~)`F7^)nQy)`@XPp^oc^4o`n_BG>0|AT z{i)aVvD&@xqkj8M_AvDup1abOdlJa5tjlw0)7p_d)-BoOyM-k$Rq^o$#;)jfX-J2w zdVTO+c_u}9!na0y7hk}$d3qhZ>!6;?l;p7O^5hn_4Xkxz``OH>v+HP!jFXp{!B3yM zD=)!!xbA>m1QpQMk$vonctpQ$#%#z#yj^+BXfJ5#h;^Cc>r0ur%TkeoEXb^s@Xp9Q z?N!EzMqcIlEk+D@uKhvBzA6)Yk~(2&l?W{AcidXiSxN2&C&QYL$tIZ7XYY-jj_+or6U1Z%3hvQ45=C)w;F z^Y^_tOCvs6Cb3F7p^v>oD)GiBa4FzxhY7fd{lU9{R~Uzzo8!8afN=_XTt>DE&o zmdxgB(5k~W-I~hH0JatAH(=weLFjh%!cSm}7k+9ulR1K1S9;WY#b6uk`d~mmFU%Mi zEaQ_qxV7(v+VVoE#?`i!%U-BF_QKD&4mfGMUU=EK+;W^2 z%x(IrQag;F1^v}Kg4T)jF?Fuv+GRIPPQKN2RSD?dEAXS);Wu8g;geV%(je};RMXoK3>FM_RJ3G4v16`Ke?ClIZWdS=u= z5ZcU=I>}^?qRhNxm}&WGuUD}QB+m=A>xI|MHCn~B_)qNh4zU`~_i~>DYC&!j`q!s? zddjFFoHbb@sBbxA{5XX9(!neda&(k9M8TOS4pAJ5m>r2IjYO13A}S*ha}HvBC?9L& zwkofO@{)vf^OJ;h^OS^i^Ob~j^Ol5k^OuBl^O%Hm^XYPMnM&Uo%49so&0##o&0ajl z&09Ri%~(9f%~d?c%~Cw(eeyH!a58?J1qXA};jPW{KQT8M>*hTf>*hZh>#jpG)?JTe zth+ABSa*Gru}SN+f~Gzm;<3tq4YgQ9bMGa3YeQbEq5A9(sCA8_M!XJN#In)!C_?{b zVdq!Xe>gP4b^K4|Coolc!1WGMZuU@5B{iriak%Zjak+!P08mQ<1QY-O00;nWti?pb zx1{oKLI41}paB350000)K~zCgNJT|dUrA0zPwky+j9tlb-|wuJvZVD&vSi7&B->Y< z;}s<>x$`1txZzSu&X7w=eRJfRZe|;=H|82EjkU(r z#+Akm{aS78)6<)c>-xW`C;J*__3UQjYmL)NalLU{Pv#m6x-KZ!i^{R0-_Piqv<7cJ z2lJ%fTo#1U^~T8CLIRXk{0Uu_8%z41YD_D^v;gka-Ew2GF{xiujWJ!P^=l?Pozbra zy*m(6Eb8~T3O%SNQ;kR7QWf88a5G)5H!kV4@+A5srykCv!-H=<1YpTZmX47 z8($R?&*{G(C>xQi*-|YYZ!|+`K#Nk!Q}9|1vW+A^B~tAZf$TFbc9|5REceTTdb{zm zQm-f-df;W)eazc=vbWxYl7Oe@!l>bIcp4qyIwn=hC3@RdN>sGQ1D zxpmrlEokc^2JKp}sO=WiS_jqeXz9KBrtPTfl-|)sR%4YrpQW-aKPwLToa^_7#K%evnx{gkIlhl^I)GO#51peLUa zZa(Ob=!40~ML(q)(6e2Y?zt^?Th;%|ja&L%&r!#> zJx76ib!~PMcdc$Achys<&1w6^Rp?uKoyAVSL$3nQVM&-Bc~HNxtFSb%7O*C;ELQZK zyNGGz8S8oN*=^5j^Qt~IL5JNAz0XFi1kx9#P6$ zO8LkmZz-h@Ph-k?rTMu4>*0sLuN0psm7X8ijlBKPLw~1qKiW>Wq>^Z8oH!?C+-I#x zy~%-M+_o%4mP2Lm|1g?e6H<>o_69Zn56Y1?*S^Muz%;i-@d*uYUkJm(>&mhehP@08 z7sInWZciz79CVIt%5Za0?TohwN!Tx*9~W1c7XThQsQR`?{_klM|!wf5^S(5cye z42>4lmbWVik+o)&O0>vY2lb-^@<2N;6vhmg53RnW+F#ZO>tVhIYStQ8-q7T(*Ix-B z@VzlUcMM0@VOO=m$8<4A1HNC1tY(LXy){6F<{9V9ht-SzybHx3ncooqc zn6^tI&1tbEj-53TX-Pai^7eb*``1bj*P#oG>CZ~f#nf5rq|${9pJ`{Hn}XNzF)cTa zhwIms1zltXo{-v0GJdd=5lyxb@X1h}^``O>`eJ+1J@w6J?{dzVh zW&Dgj=cT$%HAdP`FG%?uRfT8u>DO&;I=1fBSF#>$g7_p;PBCwcDT>I>wh8 z@UZ`7txNpu2Go)sd^!T9({iBp76{dVzWIfxEyU>3eYzXFZP#zCgvxH{qeBR^8as}$Z#F@5mpltyedA3ZhQkv+JKhQVy-dY zvlN=TFP>AbrgE9+9B=cs!FWlfy&|gyt!96a;LG|cx_nKSehYw&V?T6B28;a-0It&_ zZHh3(c1a(bh(p+}$rg=Z5u`Sj#jb++w|rOsV|tQw72IYmh7Hy^?Ye^|R>7{_Fq-fl zAX5xIeCEJan38%gu_XKG%S%amqDS>rCx&n+fU!HGl^x+FDIqxdnLEZK^R zXZG@Xka~>jqpDP=Q14;z<6l>Gu1Oas#W|eIdSSDjZkm4~4+lj+f%Hbq*7}CZFBC+Q9tFiDg@X39t3&UMmNerQ zp+XR`Ri6=6nN-bns@^(l;bkOwfmlA6viT)C(4#7csS-1&ZSa$38eMPC8Pi^8)s#0y z+oo*)Q@WegGm&^smluWKZ4v&-#uNH~HT>@rqcAkX>R^<^J^b*5`h=VMo^5D?PFqSm>T47 z=^pcVE)Z?ALj#Z!=s{4x_B6(!bj}zr5)Nwtp5#+D#_4(U4MqN>p^D(L)-y^VmT?h6 zyDo@C%*0+36X9ZT#gw(44e&dLu&WN39P#8EtJ3wt=sE}qI>UoWeqcIV4{~0%2K@-8 z8?SR|C-P~}C21i*F6}sJQR4IBoO!kHC26QGu*b^jQ~2Ogv ze>x;+hVM8=&00nNXB53v{14|>Px5R}S%6MCStt?_R`@{sQ(Zi&)yHeek;w6 zKZDL1PPn2LJuklV0aIDw7{mXn^5j)))+$Tu?of<`%d8J>yQe6KSfn*4!yjpC4Zu7i{P@>Q6&&BN3#Rd_?A=`h6jpkP0h%t zx&uY2H#WI_DyTw2#+IdduLeta>x1Qr^+6c0JGa*qq=nMu8jBfDS;tA;t{gMq z3>Yt~5*`C|KnPE$B18i*vq$Bay<~=u*+3#XC-u#YIq|+k3cFfKjo{IBcr>rfcHOb* zJo+fN7yp}ncL7rrYfmbHFAy!!9q+mxn$D$8v6p3%3>mTjfISWnpPsl=dq zPKgzXh!UeS;Zsy%yYATRYuae!Pa3TVE^GZ$B@mNgOPL1=D`+VUgNO+8*|jG^vbLAPo4`F!{VfE(&mt2E)pLdx!kCM3AWYUg6Py)XT7RIUe$XB54^!&Ws_A+dB4fW6dk$fH-Tko@MV$1pDqhl zI?Y0jSW*H6+-^b{$5XVCXN5i!J7+a#!o1P3k^*O{GjGte^d!**+;-udthF8z{9*X+ zrojJJDefJEZBNAwwR4KQNW2jxz;nc>thkxv$Tt@Glg287^MU>wA!Chp1}Z`jIWYY{$%)^$uD)-hptC@F4(qv6$G3){yJ#;Hv;WI9kc@*fi_(SZMqH` zq(w9MX(inGNapqo-au^r2VOv8G13iZ?WoB_?#Sy^km27A;hVuYU2q%q=_gS z@hk{07Fa#mI22|603S%^L!O(NqE}2=DyoRS01f7gYcb$&ngUjd5^baw zOvNWi)jRcjzycud_K|%ySv5-(yXDDKIn3wnRtp2GB zakH1&gGvEq)cet6;PAbN)PhYTMG-yhVsKmSm8^5O7}2KDD32~R#+dj1pP z$;ZNX6p^g;iSXnnJI}M$XT$GH0j3SkAJda|t1-^T&_5qY0PEi#wBlK7Lhu~ldtX0F zx4Ow2i$se=0~>>(9b>Gy${LUxX)rS$h8e!jm^k z&)*79{;Kr+Z^9D>FR6){weEx`-!DD?yYS@g(sQ^|QS#wC#q(X^$;070<*IjwCqJZb z(TO<&hMo))z2cFtO?v%#Kg}CEG=&p~f{cBCOurpYzwGPje>%WvhVPW!cZVmV;rllN zSA4i~DO52^t1Mr@4tnq-@yP33mQ#}ZlA$=JGMRP5p z46vj}*WLH|5Q3q=mJQKV*UFMaa9)o_kss6+6(xrt>SsGZNyum`pMra0e(S14s z1wLl@7-yBy`3(k+8v3}rWuts;hwkC)vIW$_G3f-{8)^s(gMYM_^&*UL0M6AKWd z$}ILG8=TPdE3)mHA}On=%tmz1YI<+%$zmc;qCmqZVfcr1rN8E|TgddIt;^Ko>Ek4t= z7M3MuC~(<7xsSCu6Gq6k?ZFLdvZrfJ^2rOW^4dMDhpEh_bPLiGB!V$lH78kOPr41T zKB=wu9l%nB|OVNGqQ#Kgtp z`sNv~MSs@mUY|~y!JRPXLBWj{oiM&Y#BCj8u%R_8exb?M`IfnYgD z*7{D0-2vTrNlq6WW2|5RCmY41eu}oQ%E6$Ci7km9Gps+Y7e|%BIyfs@MZMY9A`pRzE0yn`t~BX*mJE#%#FYysLYwpr`7kuY97r^?=)*RyJv zA}T&6z>FSIGd6xSgLQ!6?ZX1WCmG)2q-9k#E_{=6nlkS|w*Z1;fd%twwAuKgo?@<} z4UXv_A2{LK!9o6`0zNAtd`1JT^kv1s_uWd$#|OTJ;Tt+7h2Xh;Dh-N)nIu5@OXx|l%G_EjSRokv=v7uP# zeH~z|oUCXCCMNiJD<}^Gpd;!ea6b@hLeFWP0&1CIY7E_?pfDV5<}%eL`wfxqP~&qF zv+IIN{0e%7?gne~sm5+~d{lY2-Z4wV%m8>WyTn^29|*Rjd)zHJhn4P77}qf-ZMNYu z!h2G9$4LU~i&hJtxc7K}kA>`p!v=+Z4+ z3Nim1o=BxW+JA?o@xiwKeI8PJSA;sRc3cz(yKPwwyPPV8ng3lZ!6?d5hBmz>j;X@F zoGK4By`uy;=QXt`T+Ujl+iDB5F2|A*x~EEE=6}QK7IDtR8rsELbgbQ?<+u6#>7BtU z@)cq4?8jzuLu?E~!6;QJg#2%6&mPh#Zy0tH(iyHb$|>?t(mOD$mqgbY^(j(V`QJb; z*35N9@p(RHdIywxNi%NhmLi3f{|zloZkbGC#T)Z$%y7jmJk~656SPSXY9wTYzb1PMsi&mOIOt+ z`namu-Xfpgy}R9Uu#4RhF^_m-f6P?aA89LBVOF+349fkmKVrRl*%hqQe^!nMwmQ2Y zH_#D{IW6in_7X*JK|fYWib38AF}+o^Sv-CH6-jPZThBRA&RbAL?v<@e07;Lu@;@f&? zydhUg`Ch4A+fk?PX$^XnUUC?z#w_!c*__=+H7N#%l6s&qal@9!Y~^w+b{9$#2vvn| zS&usG`>9F2?(jqv)=?+2S)^^x$O;X98LxEDN*%_JA{610Z;E&FfMy?t2n)zZ7|W*C*frkuVv1k=!^5KFs|ZtgSH)b z-D}>P=UL@qJbzp~fA>BOFS&Rv^ZrJyi85sDhO)k5bcB}z{;o?=gw^|=dX&pbN77be zuT;HDDyE=h8;KBm$Cf=eRWE`G%9ck}iXyz;_tkYRdj(vJmFZGW+q=|aifSxu99iXG zC}UAhTP&mZJ(f`!arr4Msb_g5Q$1#7EmK$6zGc(wa#pC6s*Rp<|s?g6x z-mb#CN;?~@?WCQ(?r?ZjEuv+@qP98tRL+P8(bt=6mpC4N1)sb{GTkmQ|J2hDe#HtP z6w1z=OyhSB2OqYrxTTi$=>{*=bL2J3E5V*MUz(3RqBQ$k&pY^)(uzErKU#vatwnpK z8@zPS0Ty-RDetlB-aCxJuZ+iiq*eCW9@cD;`O3Se8oXR`+?_u4GE==eh*jl4yhbNVk^{STU!wwm5+-Mm?Lv~w()f@RLwmz@5BE?n0AYwFis zPu0D57=vHY6m?KJ3lXZ;rx?6E&p~aOHLpq(TuD9K2O>^<>2Le4!EickGvhj*}BGGz0*46 z!LC5>-+NdG`$6xE`kC*kr%j}RoS` zbtx#T*N6ZQm-}COrL8Nc_j53*8yyTs5B2ohjvAZ3$VVRi%}#m!$XV4xI<$VrF@s~U z8722WVv6$ZbGyVqP7W|qDtoeqb8OZd4d>Xf{avEEUsLVTZyq4_&*|Of*rtYaY<;y; zud&YIw$GM*=^nf}HnTk*l=-!?=C={DEgO#hk6!7z%XQUTxM(=L=lyMY#?EcrGUdx@ ztLWSP*>HAmMZPKK#=7?iTR*!u^cJ%zKb}|jl?~GK7r7j*lJ|8Dy~TG+&!M-tJd-on zII@aMtHzZs0Yh(bkz)Par=y1lZ{~7JvAn}blYaOhP1Ad?-B-uTo18dNTl1OU8cUH zEqqWf3sMBAQ`?h{!#iwiXcq3W=&z|wN_;D7(y@UUPwnWJPlbGJWWq9fcD0N9oBM8) zw*L|VI_ZW%IK2Fb8@3IzZ4KF&jH8=uvryl7ngfU~sKj%sd>&5N1J8D@i&e1#k0_e) zs&>Q7ZG+9$fp=5u(;={xBX45;0}kw(o&r9tvLR(97VI})RPCI~7MJfwN-hP;+IDT) zD~|pCRzh@UTnltsrRbII%6UZFkIkzsY+Hk+_J&b<-A|#{l?^&_YzgSF(x|r3(_ScB z655vUHx%^<3v@P$x;A1*GTQc)PVG|~e_kj&NnWY)oRg$&eC47E zw}6ee+r8%$P7w3WVrWr<9F|mfwiH5}Xxx@rzMyxZl3g@4 z)@C;3u?^PHpoXuR%bunT!JiQDpD#5A_vfE`j{KE!B41Q-Ch2=|ufyCNF77Aruo!Sy zwGC34n@6V-bZolevTUv%;T+~}OhB&O#9E|xr zd!DmV58L>y$(F4epgO!_$<_BMxAsGEhjJ*`(2NT?IvvZ{PX#)x=|J$p#;$(vFnV9R zm0~S@x25!_Wr~;{(#C06)yoPXJ*8iaM}QQc7IT#EN$)(@i}HhEnd-z|)6GCGawH)y z{REP4j!x~irL9vffi^>3Y0Fz44EvJgm<(>1kC81^1>d-|PaXZ8~?Kh&KMlI|SZ znQ=@$v@?5+v8^8%j>%VbC_+C0fHR z*id&qNV;=qXAbSm;oMI;Yt*klv!89|hPv`W(v=(`T%1uqC2!_4nhTxPZ2GAXvPv}C zNks`<(5H8A>NZKrDgBK0V!ryBk%@Phm(e!$z?O@%HcqGd>(KT?`*Fk$+}(@!Qa&Bd zX6NJIcHV3@QEk07+7TUyyFE18q`W)GYrW2^m-FJAZgb8Y@wGXTKw#Vdtc2s3#^?;S z8i%|2b~b~}I-}LbhgwY$7X0_#w&6jUcgFKo)N5&^GV7U6Hol@c=-xeEl*z&6*r;Bw ztvFih-e@%2D54${uVwe^P@CP)ctf;Vx3vh~c0(KOK^k?kX>i#~m)B;*)LhWG^Zb3+ zXBs0!iaX?oN*PFc4bYq9oS}6|C|`G)oi<#t;cfU%(Q3?l4rgfdJI@SfXk7~O*PW)#hHEIi{oXm+ zY&b((-brgXL+f%-yzVrOHeBi8E%?sSXdEq6jG$v>!#inycH$nzvJB^EUA~Ifouw(6 zq3s>HFr0CCkY*glr6Y*R%*V3WaY~o8D(vp|y4s3}WANRKs1slej$gX6fmnX_UmeDS z*ipTMu5G}JGSoNLXS{PPv!TA>6qR1<6y1^->KnAHYnJK*mPt{JqD)uB7inD&v0q4} z+oVIMj_Py`kmslrIuj0Z;mo1ebbmb@Bw~li*x@0U^=7G^Dm`XI$I4^^WEn37P{j4e3Egm727UZXt(UVnCKO6?~>mv^cW^~T!ryZN*p=OjIwU%pOcJkD?fLfdzH1mJ<=#19R=AqI*Q6&4@u*xPSr;s<0|dNc_e<@@n+ z`O4YhS_U(gZHIz^Lq6|-Y3=a`3MxIP#(6m*QlDIBBpqLMfrZ>rqe zO1h@HbL>|?2XfglZ>!3;H{{yeI4(x815;>pAa;)9dUNFcDlT740UyqmJ1Yn`RhO3o zBQyhpNZ-CYyy8eZ-MmLP$2BmS)Tg6b(U2UO1VeB}Ac~a}`;O{*Qc`x#&n8<{l1svJ zRp)@Y@-8645l=-}bK=$`vY}Nzq%|nZg0&zh<6_a1BZ;D~hcHnMVWNKslhqI=`-d=9 z4PmN(2>Yuc?C&4Kfocc``iC%G4Pm-}2s70XW{MCvZ>-1<##3lj81}ljY);IJ;FuEF z69m~r*3XK2Rm}2|c=KhYN^`D-w0Jtuo~DRUGoJ=Oj#YGSyEO>M8ir%Q;1oQAv7(~k z`Ze8Ok_)O2&Nn!L^XuTi|L+;;!T$y)@P8c~q@YhYK?>^NAParM39?WJ2Z`ttPLPN? zIDN^5(I?179h|l zv(pB16rComP52>6`p|se zog-Fv6TUdsWE|iBSv{xJpFbP+3QuM zb50!`b3B{}$W9D%y65+o^bP!co`_NL7Z|3R=CJN&^*O0w5N9A8uK5&281Wux7efEX z*>1SHIBC!3SJF2zNBWDhcD^ii+aF~pOPi_hC$t)Qd&?3|n&n^-uFCbWFLK+U(=U>4ljg4R17DPq!9{HIQ%s)8oyOeAMfssRb0cj1a#WwJ z^~Okp6epD8MR}{3j(JiTJ)yZm{;_g6?|U`aJjR*@!DAJ413 zo=s2#v8?s0p^nsAboy3p4JUFn?6)?Kwb8&P1^wBejT~z7zD`Zre9MFV@@VW=ROEp; zk@xFcR1qcxS2e`7$z`9EzN;$X$hO8oFeC6n)BNs89rImRHZWl55hv)+O3ZF*Xy4Qa zMnhUm;%(L#DYD3vX02${F%|JG%voL$T+$fhGAGXT(~{m28)MT}$Z#sF%yyp)v%_xi zJgz4xycmLjxG)*!m{Pw5aj=P&$-f=EdM!x0Lyn!pps=kb%=5cCtF9Ho-jp(M%xD7> z;3LYL=DsQXT`L6^{#a;lt3(+l5M0PZpjFz#j`h zwX%e=m-XR_&ZdoxCtZ$;wIpplFYb|!Ur|e34q+w0Fpji%3X6S!2N|@Xpy48TjFc7@ zV=0TJ_Ud&ys?`cVE|7FmXG1YBLd2gJ4fg5(c`5#Uk4BBG<0PWwhEmK1=>)&m6eKXI zCj=gxR+~PfceA=qY2#*|p9{4`qH(p=!8W8ieb>Eh4#G-ayI;*=g>SRwFr+%oacHEW z_9f8jrg)Js6O({cgQ8(9<|yhS3+m$DIG1aYw|eny8st@_Va?z`qY(zP+SaT`q+y6Q zMB}+NMqm({7yV7V&ykXD=2?|lf~Jl=NLdZivqrrMe4~*Kk%QzlC0wy!U#6nEApXy2>PPiLlsC@V52b@ zSQHJfNZRAe3gh%6O3bHVoE}qqc*N7_JQR9Otr`0tW&bT@zaRBx(%xeLp`_DplWTo06thyS^}iU2QFnRb(T`Yr zRmb1G8d&kAAW!rl)}qAy`3MX~HU9Aam>!iF3qp^Ke`sxs%4^EKljpA8YFC_9NA#)3 z&3Fihms`;j`UQ3`tNGz9(|X*&gQk@j9)U63^m1T`GH=82FNO33q(&7%E1CU{#)7j^ z%G4I#Mi8S;?Os3EM@zxhfH`UZz|F+$)m6F>$NirxIM*qjr>KRtTB|z7gxNB*_O>qO zu(~3*v@wBXgo{}(gS&D%bkFF23oN7dRhlAd-m9u7HKkqJwf#(&+LAC8%;h2v|0iWW zFA7=-Rk5Pz4zz_w+1F7gZ7q*;MJpK(eO+}&Z0!jDQG1AankfB%36d|Vk&VZf)r1~%ZIAL-RRsj) z+AOan3Kq<-ZBgBh3z_2zb!_UJUKD-UyMC25d#tu*UWgY_sM{}WQQgjqq#I}^=4st%}wciBSKnHe~nAf$TWbYjVrUs;{sGXv! zDw?(Q2Hg#k1(6ch6$+Au$Lad2uJlFt?NO8rsf;PW!FmK^3sg}gVOq!3lr#45r95>e z5GAGy4*RKZRE6}ysDrA`AvK_w%@O_Sr_QM|@IXpXy~0n(NVn4{cl4l+=ZXY({f%aZ zG@ygF2GN)Gn;wep?s2{IG^uQ%!3XCum$GVz;1LNG`;4;Yw7_k*9ckh~ET&S2mW$8^S&uOWV&0jLP!v9-^fK_#&*d!z)TmR2ph}GhkEu z*()r!iySUl>(|Wfa`!Wb=hY+~PYJYS(I0_}O?@*GL@Yn~M_Eg+RPKnrcis6w_$?Il z{8WkGJ$|R(uNI zJNXggeWA^-3w5)4%pd+WVSh!>FmdP9FpO8%f(FE7env2`kPP0uR3Y4WQXj@?&oy2M z(!g7wMOes4egf$!>CAl^PS|HWOp_gK=eAL`d4rx3Y?c$j2&e@hoz*?I4fCvD(A(Fg z7;lDUM>iUzH+v#$L6y;UD9z+)hq6V&(ICt1&**x-p|aMh-ej$`p~&9_oH}YH5aF5E zWg(t*$(Unwx@ce{&Y^DY^gsloFRZSN!zj7Fm3C9PQi37Y~9EMDHX~7SV!W5o^_mPKeH0 zZS`HfM~~iO^|E>mR*#587tuu!B_W6)teW86{C@8_PvU)N&YYQZ=KkE@nd|y%=G@o! zDiM5zwOy9*&B1gPLOOP?iFOfjWbZ`zQW7zc1}9GkAXqunHQ4>+nuG~xWxMIJZW=zu za?+pU!C`(761S1uYb2RG3V;_k_xR4L$(yZ5Y6Y62`fqwlhP1yN4K?V>&5xZ=&06-S zcqQCw+`>J)4RKW2Y^c|rXbUy|7kC3VZ3mX&v9IDhm%{7189pgQ7+5VxE|3PSn_jCMz(%Cd7I0TR{)HvEtrZQTE1@m7Ay_bjjFD5esB6Iongp+3R7xjI#F}Mr zwlSo!j7t%~&|bsj0!{a9I`%D6=DajK)@Yl6-jyVId0$eLtzqU#yjsP0KE9y$?mv5n zZTz5FH6!i>4~R61>OwTE;oY zFZQ7SCvPJcKQPnfeoYXgnRxEpEi)g{?;wQ@9)Iw=C;mB`6C(xTzLTsa)cr;G>__rH z85w@8X?syUb(G3HtZqgX+f>Wd%&6>JW3^JQrJfp)ad9KI#H)-={=AMQx8U(v)evO_ zM=-B6*rOYJY1xg9BGR~=3fa7IoZQ91gy1Cm*izqOPa`VIZE6pa^-(_SBSbQuXV|~| zJT5o!Se^XWeP&$gX2oju(1>tuS`xa^e?4ql3-j~24fAlUJsUgdn^DJD3~Mw){RBIR}oIc{E={MpEty#(#U=MXE!`r%45mt#iLoeDAEliZGJKqn4;>x`Usb-wjR4 zXvAF1Nh>ggf=OEt2z_1cnTm$HBt+v2d^`q|S2v|Un!&9V9z5(#%4;#;g0+EUZJ#OUA{raT7AgenOr3j5Y{_hH$3u@inc@I*hyRv&&^9*S%YWX2hc*@X3XAv8JXS^ zod_f#ySJ-PeT0mjuF8hWJUOPWH;oVe`s6FHRW+-!JifS+c=AYjKo5_Lx&H3(KcZg; z9~;bm#me8mXZhX}GV_ljQ_XN3Z-Hf%{QRmec05GLD_VXBm{RJX#w$?zHzd za(!UZnSjPf>*8^?XO6uND{b;_uS2_UH0{R@p-3WkKg-a0J}Wh*o_-E7^Fd|Q7JW19 zpXlT;OTh#Q33op7-?U33{PE2-5gu+4#i9(M<7C%T>)Uw=?+j@N=Tfh?TjW)e1j24Z z{ND(z%IK6$`bA0S>HsC~EHO{8P1W@lc>PH9q#)bTvq>xtJKf0sg2x(oKsp|yF0I3vfd;#-E`nEF$ zF+~WFev&~smSm=`AWAScb%5uL?xb?6WkC>$swi|T-kuEy{ODT?^84~#D{!krm$Xm? zDlGyFn{uaBY1{4SbgZ<3T1aoBMUfV$>h zJafbZRY&?Owl$YNNt@xEaS>tgvM(7v!*INeC}pB|dbcqP9(%$NMCR9A-tkl&`M{g5 ztc4>!nP)N8G_yKwtCIBXARp?O5!JoByFhQtBYh4XqGH##^JM2wkoNktpwb!4+K%bO+UFp z$+y6=z6W;YrMf{*ie^JeI=f{KS(sR&Pqi`~J8`vQ!tYf!ciR=+6y(&|nH%2VdD~*4 z&X@gg-di7&wOs9^KjoH1KHaMEB3^DO)k0u>^Xja5U=s;ZDek?-W_^al zT4yo{V=i?jN_m(d2DB)AtWaE2_z!)7UUBPrx?fq8&Oam$^^hNv4RZGqBzcD(ixB_~ z8yahX59^J17ekeKA7!OXpZRdkl`W&kIG}-dPh9Fq*-T*C;>r>}2-k`j?~(y=!nit}|jGEyxa&vSHl3acr>3iY(4S_UD76#YSF;92Bha3{Z z27XOvuKt2MS$J{6Q^{N-3*pT7uy{7=NhiDAme#Z>jiwiC5#K?d=;( zxAcUmn~Z(9o^Ym=JVF$nl!*)zm_h9O?(R_B-a?$X;QUtfp$1eKy`9XVca7JKAcNH& zku*MDS^z53jRb+HkJaU35Up}x>SQcn<^*Aqlx8)}aREo3p+m26eQAzuB zsXY4-5t#VthuTJLWCt($BnnC&UmT5HWCt~~s=rOEwr)-{cDhFkSiLB!8aeuEneoqZ z>unEYvDNqV-hrv^5gz6`e(C(U@6|w&5uWVr+c(K{Y`K}ZZ9Xer9B_5jbluZJ@2+}j zii3H=4|CkU8jYFx6M874{lPu=3%?0?#-1^U29%-cM5Im6={hJ)^7oT;&vF(nN3%~C zybf6|9aQ)1R_3|C^LBPRp7pD2@HNAxvCHO)lE$w$F8nDL?MuWxl%0}Wi>$OCn+}%( zlWk8$m``u|7vKs;s1Q7w(1e%jbve|HRD7dy0kEgMBKzBpvQCe-c2;)3iLfxrRIQH2 zWxx@vEc1lsl%IP#5tc?b#@{^aatvQ6dVi4qMZ)P^>7*8G4y}20U8sua z4Qp({pzuWInXMGaKd&D-Gy17l4c2phX0?B@kckjL@VH>MxA{K5-kb;wZxUO0x;D6< z8+v@iI4)Mh74HtlA4G4i?a2zhW*|#=SZd6O7U6sy63>v%7?@ef0k$>0)M#WIGts4- zOJdKuL)u_2a*aTr9=JmLx?9+cuOea`*`#;i-)l}co%wh~C5);#s#!VDB>qd!F%e=$ z=QVwp|Ho?$#EbEk9S!2`r@{3o5nz4HIG+UJfmm<>T#jw6BwlrLaB&x|T7slEYbU9O zRx_^eHh;wmbJd^f$jK=FigI)+{-M`pLg6@EGja!Y<5*^Oz*z&KbKoD7&POgRmiD9I zuDhyvvLRT3&f9Y+8@_lruie)odg11e;$Bn3s4Q&{7g=8K*CY-YvXROw<$j9BzKuj< zb6QVd=Xfzt@Cvy2*x6@)zk`Vh&!aFrUQ%t95Ej_meEy1j?wwK!<|4RtSc_YsNOUaJR zruT{U^ktrIde<`My3Mz#<8dP1qNZ9enOFbGV?3TWOE$@j**BGEUKahLNm|7oDzk)- zf1Lk_zp3p+%rD91YtK%@Aqdn?L3t4#rtV6BSLEE?RvL9%p}-x4NZA`Z2Fce1A=N}f z(aT)6v(RCQV*OXCu=!l*n?+yo?L9{^qi{@ZBxk+tMaD#s9`zJoBMJ($&|K>JQ603_ z7-Yg1T<}VBMqqHu91?j7*Lw$gg6oeqv{#V&5(Sl5H@X%{oL6RSjPsYGW!(Yerd`lEa~<%2|Eyr=O4XY9R0EeKs9@z$NxGelg=` zg{gT(DHJs+u#lXTd7k1LKCbcwO&zPjgW4(H418leAa`M&lodD1r2ZpC0rD$EnUo+mZE6Jno5Q2+zHZ4$lf44bsNDCWv=JwUB$4>>Yh zQN+n%U1006#$1ONh@0nXnW5pw90{~EjyV^KiMJyD{T-tGCS#ikqKL7xrH|Kv5h^w=egNx@?GQvuN z`}s8hAO+_v@^|7YivHtcbQRF?{`}w+H`1397sbD%tg3K;s|P|`>#uD8j=_Z2OB60@ z01n*oceaD;002E)i$EJ!7hPMgt71DZLL*~v?^VhU0MPy=){Nr}^pqeLx=MOl2D*w$ z7J5pG`f6I5SEu+>n(VJBJTSQMJJ@O4TY1_-;J#PE)qGr~JQ^RcrAc=sGL^qUFytz5 z)q3k+v1Ma|D@I&b*{cRp|FVWA1b^B|{R#emt}y?C?G^-pzdd5K9}*J%zE6eQF}M^O J6#dTl{{Ys= 1 && + debugBuffer[0] == 0x01) + { + // Reboot command. + Bootloadable_1_Load(); + } + + // Allow the host to send us another command. + // (assuming we didn't reboot outselves) + USBFS_EnableOutEP(USB_EP_COMMAND); + } + switch (usbDebugEpState) { case USB_IDLE: @@ -265,6 +285,14 @@ void debugPoll() debugBuffer[24] = scsiDev.cmdCount; debugBuffer[25] = scsiDev.watchdogTick; + debugBuffer[58] = sdDev.capacity >> 24; + debugBuffer[59] = sdDev.capacity >> 16; + debugBuffer[60] = sdDev.capacity >> 8; + debugBuffer[61] = sdDev.capacity; + + debugBuffer[62] = FIRMWARE_VERSION >> 8; + debugBuffer[63] = FIRMWARE_VERSION; + USBFS_LoadInEP(USB_EP_DEBUG, (uint8 *)&debugBuffer, sizeof(debugBuffer)); usbDebugEpState = USB_DATA_SENT; break; @@ -287,18 +315,11 @@ CY_ISR(debugTimerISR) debugPoll(); CyExitCriticalSection(savedIntrStatus); } -#endif void debugInit() { -#ifdef MM_DEBUG Debug_Timer_Interrupt_StartEx(debugTimerISR); Debug_Timer_Start(); -#else - Debug_Timer_Interrupt_Stop(); - Debug_Timer_Stop(); -#endif - } // Public method for storing MODE SELECT results. diff --git a/software/SCSI2SD/src/disk.c b/software/SCSI2SD/src/disk.c index eac2d79..1e656cd 100755 --- a/software/SCSI2SD/src/disk.c +++ b/software/SCSI2SD/src/disk.c @@ -180,7 +180,6 @@ static void doWrite(uint32 lba, uint32 blocks) // multi-block write is minimal. transfer.multiBlock = 1; - if (blocks > 1) scsiDev.needReconnect = 1; sdWriteMultiSectorPrep(); } } @@ -216,7 +215,6 @@ static void doRead(uint32 lba, uint32 blocks) else { transfer.multiBlock = 1; - scsiDev.needReconnect = 1; sdReadMultiSectorPrep(); } } @@ -612,7 +610,10 @@ void scsiDiskInit() } #endif - if (SD_CD_Read() == 1) + // The Card-detect switches of micro-sd sockets are not standard. Don't make + // use of SD_CD so we can use sockets from other manufacturers. + // Detect presence of the card by testing whether it responds to commands. + // if (SD_CD_Read() == 1) { int retry; blockDev.state = blockDev.state | DISK_PRESENT; diff --git a/software/SCSI2SD/src/led.c b/software/SCSI2SD/src/led.c new file mode 100755 index 0000000..b2c321c --- /dev/null +++ b/software/SCSI2SD/src/led.c @@ -0,0 +1,77 @@ +// Copyright (C) 2014 Michael McMaster +// +// This file is part of SCSI2SD. +// +// SCSI2SD 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 3 of the License, or +// (at your option) any later version. +// +// SCSI2SD 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 SCSI2SD. If not, see . + +#include "led.h" + +// External LED support only exists on the 3.5" v4 board. +// The powerbook v4 board ties the pin to ground. +// The v3 boards do not have any such pin. +#ifdef EXTLED_CTL +#define HAVE_EXTLED 1 +#endif + +#ifdef HAVE_EXTLED +static int enable_EXTLED = 0; +#endif + +void ledInit() +{ +#ifdef HAVE_EXTLED + EXTLED_SetDriveMode(EXTLED_DM_DIG_HIZ | EXTLED_DM_RES_UP); + int val = EXTLED_Read(); + if (val) + { + // Pin is not tied to ground, so it's safe to use. + enable_EXTLED = 1; + EXTLED_SetDriveMode(LED1_DM_STRONG); + } + else + { + // Pin is tied to ground. Using it would damage hardware + // This is the case for the powerbook boards. + enable_EXTLED = 0; + EXTLED_SetDriveMode(EXTLED_DM_DIG_HIZ); + + } +#endif + ledOff(); +} + +void ledOn() +{ + LED1_Write(0); + +#ifdef HAVE_EXTLED + if (enable_EXTLED) + { + EXTLED_Write(1); + } +#endif +} + +void ledOff() +{ + LED1_Write(1); + +#ifdef HAVE_EXTLED + if (enable_EXTLED) + { + EXTLED_Write(0); + } +#endif +} + diff --git a/software/SCSI2SD/src/led.h b/software/SCSI2SD/src/led.h index e021891..dc43377 100755 --- a/software/SCSI2SD/src/led.h +++ b/software/SCSI2SD/src/led.h @@ -19,7 +19,8 @@ #include "device.h" -#define ledOn() LED1_Write(0) -#define ledOff() LED1_Write(1) +void ledInit(void); +void ledOn(void); +void ledOff(void); #endif diff --git a/software/SCSI2SD/src/main.c b/software/SCSI2SD/src/main.c index 0a94780..779f112 100755 --- a/software/SCSI2SD/src/main.c +++ b/software/SCSI2SD/src/main.c @@ -26,7 +26,7 @@ const char* Notice = "Copyright (C) 2014 Michael McMaster " int main() { - ledOff(); + ledInit(); // Enable global interrupts. // Needed for RST and ATN interrupt handlers. @@ -41,17 +41,10 @@ int main() scsiInit(); scsiDiskInit(); - if (!(blockDev.state & DISK_INITIALISED)) - { - while (1) { ledOn();CyDelay(200); ledOff();CyDelay(200); } - - } - while (1) { -#ifdef MM_DEBUG scsiDev.watchdogTick++; -#endif + scsiPoll(); scsiDiskPoll(); configPoll(); diff --git a/software/SCSI2SD/src/scsi.c b/software/SCSI2SD/src/scsi.c index bbf4f67..d66099c 100755 --- a/software/SCSI2SD/src/scsi.c +++ b/software/SCSI2SD/src/scsi.c @@ -111,93 +111,12 @@ static void enter_Status(uint8 status) scsiDev.status = status; scsiDev.phase = STATUS; - - #ifdef MM_DEBUG scsiDev.lastStatus = scsiDev.status; scsiDev.lastSense = scsiDev.sense.code; - #endif -} - -static void doReselectTest() -{ - scsiDev.needReconnect = 0; - scsiEnterPhase(MESSAGE_IN); - scsiWriteByte(0x02); // save data pointer - - // TODO check if this message was rejected. - - scsiWriteByte(0x04); // disconnect msg. - enter_BusFree(); - - CyDelay(100); - - while (1) - { - int sel = SCSI_ReadPin(SCSI_In_SEL); - int bsy = SCSI_ReadPin(SCSI_In_BSY); - if (!sel && !bsy) - { - // TODO wait bus settle delay - CyDelayUs(1); // TODO bus free delay 800ns - - // Arbitrate. - ledOn(); - SCSI_Out_Bits_Write(scsiDev.scsiIdMask); - SCSI_Out_Ctl_Write(1); // Write bits manually. - SCSI_SetPin(SCSI_Out_BSY); - - CyDelayUs(3); // arbitrate delay. 2.4us. - - uint8_t dbx = scsiReadDBxPins(); - sel = SCSI_ReadPin(SCSI_In_SEL); - if (sel || ((dbx ^ scsiDev.scsiIdMask) > scsiDev.scsiIdMask)) - { - // Lost arbitration. - SCSI_Out_Ctl_Write(0); - SCSI_ClearPin(SCSI_Out_BSY); - ledOff(); - } - else - { - // Won arbitration - SCSI_SetPin(SCSI_Out_SEL); - CyDelayUs(1); // Bus clear + Bus settle. - - // Reselection phase - scsiEnterPhase(__scsiphase_io); // TODO get rid of delay - SCSI_Out_Bits_Write(scsiDev.scsiIdMask | (1 << scsiDev.initiatorId)); - CyDelayCycles(4); // 2 deskew delays - SCSI_ClearPin(SCSI_Out_BSY); - CyDelayUs(1); // Bus Settle Delay - - bsy = SCSI_ReadPin(SCSI_In_BSY); - while (!bsy) { bsy = SCSI_ReadPin(SCSI_In_BSY); } // Wait for initiator. - SCSI_SetPin(SCSI_Out_BSY); - - // Prepare for the initial IDENTIFY message. - scsiEnterPhase(MESSAGE_IN); - - SCSI_Out_Ctl_Write(0); - SCSI_ClearPin(SCSI_Out_SEL); - - // Send identify command - scsiWriteByte(0x80); - break; - } - } - - } - - // Continue with status. - } static void process_Status() { - if (scsiDev.status == GOOD && scsiDev.needReconnect && scsiDev.allowDisconnect) - { - // doReselectTest(); - } scsiEnterPhase(STATUS); uint8 message; @@ -222,10 +141,8 @@ static void process_Status() } scsiWriteByte(scsiDev.status); - #ifdef MM_DEBUG scsiDev.lastStatus = scsiDev.status; scsiDev.lastSense = scsiDev.sense.code; - #endif // Command Complete occurs AFTER a valid status has been // sent. then we go bus-free. @@ -325,17 +242,13 @@ static void process_Command() lun = scsiDev.cdb[1] >> 5; control = scsiDev.cdb[scsiDev.cdbLen - 1]; - #ifdef MM_DEBUG scsiDev.cmdCount++; - #endif if (scsiDev.resetFlag) { -#ifdef MM_DEBUG // Don't log bogus commands scsiDev.cmdCount--; memset(scsiDev.cdb, 0xff, sizeof(scsiDev.cdb)); -#endif return; } else if (scsiDev.parityError) @@ -501,9 +414,7 @@ static void doReserveRelease() static void scsiReset() { -#ifdef MM_DEBUG scsiDev.rstCount++; -#endif ledOff(); scsiPhyReset(); @@ -513,7 +424,6 @@ static void scsiReset() scsiDev.phase = BUS_FREE; scsiDev.atnFlag = 0; scsiDev.resetFlag = 0; - scsiDev.needReconnect = 0; if (scsiDev.unitAttention != POWER_ON_RESET) { @@ -548,8 +458,6 @@ static void enter_SelectionPhase() scsiDev.dataLen = 0; scsiDev.status = GOOD; scsiDev.phase = SELECTION; - scsiDev.needReconnect = 0; - scsiDev.allowDisconnect = 0; transfer.blocks = 0; transfer.currentBlock = 0; @@ -593,9 +501,7 @@ static void process_SelectionPhase() SCSI_SetPin(SCSI_Out_BSY); ledOn(); - #ifdef MM_DEBUG scsiDev.selCount++; - #endif // Wait until the end of the selection phase. while (!scsiDev.resetFlag) @@ -643,9 +549,7 @@ static void process_MessageOut() scsiDev.atnFlag = 0; scsiDev.parityError = 0; scsiDev.msgOut = scsiReadByte(); -#ifdef MM_DEBUG scsiDev.msgCount++; -#endif if (scsiDev.parityError) { @@ -731,7 +635,7 @@ static void process_MessageOut() //enter_Status(CHECK_CONDITION); messageReject(); } - scsiDev.allowDisconnect = scsiDev.msgOut & 0x40; + //scsiDev.allowDisconnect = scsiDev.msgOut & 0x40; } else if (scsiDev.msgOut >= 0x20 && scsiDev.msgOut <= 0x2F) { diff --git a/software/SCSI2SD/src/scsi.h b/software/SCSI2SD/src/scsi.h index c7c1d2d..59ba02e 100755 --- a/software/SCSI2SD/src/scsi.h +++ b/software/SCSI2SD/src/scsi.h @@ -17,12 +17,6 @@ #ifndef SCSI_H #define SCSI_H -// Set this to true to log SCSI commands and status information via -// USB HID packets. The can be captured and viewed in wireshark. -// For windows users, capture using USBPcap http://desowin.org/usbpcap/ -//#define MM_DEBUG 1 -#undef MM_DEBUG - #include "geometry.h" #include "sense.h" @@ -110,7 +104,6 @@ typedef struct void (*postDataOutHook)(void); -#ifdef MM_DEBUG uint8 cmdCount; uint8 selCount; uint8 rstCount; @@ -118,10 +111,6 @@ typedef struct uint8 watchdogTick; uint8 lastStatus; uint8 lastSense; -#endif - -uint8 allowDisconnect; -uint8 needReconnect; } ScsiDevice; extern ScsiDevice scsiDev; diff --git a/software/SCSI2SD/SCSI2SD.cydsn/.gitignore b/software/SCSI2SD/v3/SCSI2SD.cydsn/.gitignore similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/.gitignore rename to software/SCSI2SD/v3/SCSI2SD.cydsn/.gitignore diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Bootloadable_1.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CFG_EEPROM.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Iar.icf b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Iar.icf similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Iar.icf rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Iar.icf diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3RealView.scat b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3RealView.scat similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3RealView.scat rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3RealView.scat diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Start.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Start.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Start.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Cm3Start.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmGnu.s b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmGnu.s similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmGnu.s rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmGnu.s diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmIar.s b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmIar.s similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmIar.s rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmIar.s diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmRv.s b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmRv.s similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmRv.s rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyBootAsmRv.s diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyDmac.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyFlash.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CyLib.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/CySpc.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.c old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.h old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.c old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.h old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_Interrupt.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_PM.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_PM.c old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_PM.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/Debug_Timer_PM.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/LED1_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_ATN_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.c old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.h old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CLK.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.c old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.h old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_CTL_PHASE.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_DBx_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_DBx_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_DBx_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_DBx_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_In_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.c old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.h old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Bits.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.c old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.h old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_Ctl.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_ISR.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RST_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_COMPLETE.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_RX_DMA_dma.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_COMPLETE.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_COMPLETE.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SCSI_TX_DMA_dma.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_INT.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_INT.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_INT.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_INT.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PM.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PM.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PM.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PM.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PVT.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PVT.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PVT.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SDCard_PVT.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CD_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_CS_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT1_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_DAT2_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_Data_Clk.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MISO_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_MOSI_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_COMPLETE.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_RX_DMA_dma.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_SCK_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_COMPLETE.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/SD_TX_DMA_dma.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dm_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp_aliases.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp_aliases.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp_aliases.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_Dp_aliases.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_audio.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_boot.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_boot.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_boot.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_boot.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.inf b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.inf similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.inf rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cdc.inf diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cls.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cls.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cls.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_cls.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_descr.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_descr.c old mode 100755 new mode 100644 similarity index 97% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_descr.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_descr.c index aa9c37c..f06085b --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_descr.c +++ b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_descr.c @@ -46,7 +46,7 @@ const uint8 CYCODE USBFS_DEVICE0_DESCR[18u] = { /* bMaxPacketSize0 */ 0x08u, /* idVendor */ 0xB4u, 0x04u, /* idProduct */ 0x37u, 0x13u, -/* bcdDevice */ 0x00u, 0x30u, +/* bcdDevice */ 0x01u, 0x30u, /* iManufacturer */ 0x02u, /* iProduct */ 0x01u, /* iSerialNumber */ 0x80u, diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_drv.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_drv.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_drv.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_drv.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_episr.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_episr.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_episr.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_episr.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_hid.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_midi.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pm.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pm.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pm.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pm.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pvt.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pvt.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pvt.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_pvt.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_std.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_std.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_std.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_std.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_vnd.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_vnd.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_vnd.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/USBFS_vnd.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cm3gcc.ld b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cm3gcc.ld similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cm3gcc.ld rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cm3gcc.ld diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3_psoc5.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3_psoc5.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3_psoc5.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cm3_psoc5.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmFunc.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmFunc.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmFunc.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmFunc.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmInstr.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmInstr.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmInstr.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/core_cmInstr.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyPm.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c old mode 100755 new mode 100644 similarity index 98% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c index 32543d5..860d0c7 --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c +++ b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c @@ -315,7 +315,7 @@ const uint8 cy_bootloader[] = { 0xFFu, 0xF7u, 0xD4u, 0xFDu, 0x21u, 0x78u, 0x01u, 0xF0u, 0xC0u, 0x02u, 0x40u, 0x2Au, 0x00u, 0xD0u, 0x18u, 0xB1u, 0x00u, 0x20u, 0x20u, 0x70u, 0xFFu, 0xF7u, 0x0Cu, 0xFEu, - 0x14u, 0x20u, 0xFFu, 0xF7u, 0x09u, 0xFEu, 0x80u, 0x20u, + 0x05u, 0x20u, 0xFFu, 0xF7u, 0x09u, 0xFEu, 0x80u, 0x20u, 0x20u, 0x70u, 0x00u, 0xF0u, 0xE7u, 0xF8u, 0x48u, 0xB0u, 0x10u, 0xBDu, 0x00u, 0xBFu, 0x0Cu, 0xC1u, 0xFFu, 0x1Fu, 0xFAu, 0x46u, 0x00u, 0x40u, 0x08u, 0xB5u, 0x0Au, 0x4Bu, @@ -1053,7 +1053,7 @@ const uint8 cy_bootloader[] = { 0x10u, 0xBDu, 0x82u, 0x18u, 0x03u, 0x46u, 0x93u, 0x42u, 0x02u, 0xD0u, 0x03u, 0xF8u, 0x01u, 0x1Bu, 0xFAu, 0xE7u, 0x70u, 0x47u, 0x00u, 0x00u, 0x80u, 0x22u, 0x00u, 0x00u, - 0x40u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, + 0x4Fu, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x10u, 0x51u, 0x00u, 0x40u, 0x20u, 0x00u, 0x50u, 0x51u, 0x00u, 0x40u, 0x10u, 0x00u, 0xC0u, 0x51u, 0x00u, 0x40u, 0x10u, 0x00u, 0x00u, 0x00u, 0x01u, 0x40u, 0x00u, 0x10u, diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.icf b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.icf similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.icf rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.icf diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydisabledsheets.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydisabledsheets.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cydisabledsheets.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cydisabledsheets.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c old mode 100755 new mode 100644 similarity index 94% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c index c2a969d..3a96596 --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c +++ b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c @@ -28,7 +28,7 @@ __attribute__ ((__section__(".cyloadablemeta"), used)) const uint8 cy_meta_loadable[] = { 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, - 0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x01u, 0x00u, + 0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x50u, 0x03u, 0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cypins.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cypins.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cypins.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cypins.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cytypes.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cytypes.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cytypes.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cytypes.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyutils.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyutils.c similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyutils.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cyutils.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/eeprom.hex b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/eeprom.hex similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/eeprom.hex rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/eeprom.hex diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/protect.hex b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/protect.hex similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/protect.hex rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/protect.hex diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.c old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.c rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.c diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.h b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.h old mode 100755 new mode 100644 similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.h rename to software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/timer_clock.h diff --git a/software/SCSI2SD/SCSI2SD.cydsn/OddParityGen/OddParityGen.cysym b/software/SCSI2SD/v3/SCSI2SD.cydsn/OddParityGen/OddParityGen.cysym similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/OddParityGen/OddParityGen.cysym rename to software/SCSI2SD/v3/SCSI2SD.cydsn/OddParityGen/OddParityGen.cysym diff --git a/software/SCSI2SD/SCSI2SD.cydsn/OddParityGen/OddParityGen.v b/software/SCSI2SD/v3/SCSI2SD.cydsn/OddParityGen/OddParityGen.v similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/OddParityGen/OddParityGen.v rename to software/SCSI2SD/v3/SCSI2SD.cydsn/OddParityGen/OddParityGen.v diff --git a/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cycdx b/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cycdx similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cycdx rename to software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cycdx diff --git a/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cydwr b/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cydwr similarity index 100% rename from software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cydwr rename to software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cydwr diff --git a/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cyfit b/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit similarity index 72% rename from software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cyfit rename to software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit index f9a091377059933b8173cd0d8a70eeb9bbbaf42e..218cfea68ca2b7d01513c4e2e913e751912bbfce 100644 GIT binary patch delta 59958 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