sle118 / squeezelite-esp32

ESP32 Music streaming based on Squeezelite, with support for multi-room sync, AirPlay, Bluetooth, Hardware buttons, display and more
1.17k stars 107 forks source link

Addition to documentation: easy way to start #139

Closed drogfild closed 2 years ago

drogfild commented 2 years ago

I found really hard to find information how to easily start with squeezelite-esp32. Here's my take how documentation could be improved. Please correct/add/modify. It might not be complete but could help many who find this project. I hope you find it useful.

Requirements:

1) Download latest release as a zip file. Recommended to get 16bit I2S version for compatibility. https://github.com/sle118/squeezelite-esp32/releases For example: wget https://github.com/sle118/squeezelite-esp32/releases/download/I2S-4MFlash.16.1012.master-cmake/squeezelite-esp32-master-cmake-I2S-4MFlash-16-1.1012.zip

2) Install Esptool pip install esptool

3) Unzip package and go to build folder unzip squeezelite-esp32-master-cmake-I2S-4MFlash-16-1.1012.zip cd build

4) Plug in your board and find correct serial port esptool.py read_mac

5) Run esptool to flash. You need to fill out correct serial port esptool.py --port /dev/ttyS9 --baud 921600 write_flash --flash_mode dio --flash_freq 80m --flash_size detect 0x1000 bootloader/bootloader.bin 0x8000 partition_table/partition-table.bin 0xD000 ota_data_initial.bin 0x10000 recovery.bin

6) Finish setup:

7) Go to updates, select same build version and flash it

ykutovoy commented 2 years ago

Wouldn't you be so kind to write steps for dummers :) I have naked ESP32-WROVER and would like stream to BT speaker With Your instruction a can write firmware to ESP, connect to it by wi-fi and update by corresponding .bin file But after reboot I'm getting bootloop

`rst:0xc (SW_CPU_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:6948
load:0x40078000,len:13772
load:0x40080400,len:4532
entry 0x400806a0
I (62) boot: Chip Revision: 1
I (32) boot: ESP-IDF v4.0.2-206-g5630b17e1 2nd stage bootloader
I (32) boot: compile time 07:20:29
I (38) boot: Enabling RNG early entropy source...
I (39) qio_mode: Enabling QIO for flash chip GD
I (44) boot: SPI Speed      : 80MHz
I (48) boot: SPI Mode       : QIO
I (52) boot: SPI Flash Size : 4MB
I (56) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (67) boot:  0 nvs              WiFi data        01 02 00009000 00004000
I (74) boot:  1 otadata          OTA data         01 00 0000d000 00002000
I (82) boot:  2 phy_init         RF data          01 01 0000f000 00001000
I (89) boot:  3 recovery         factory app      00 00 00010000 00140000
I (97) boot:  4 ota_0            OTA app          00 10 00150000 002a0000
I (104) boot:  5 settings         WiFi data        01 02 003f0000 00010000
I (112) boot: End of partition table
I (116) boot_comm: chip revision: 1, min. application chip revision: 0
I (123) esp_image: segment 0: paddr=0x00150020 vaddr=0x3f400020 size=0xc9f28 (827176) map
I (398) esp_image: segment 1: paddr=0x00219f50 vaddr=0x3ffbdb60 size=0x060c0 ( 24768) load
I (407) esp_image: segment 2: paddr=0x00220018 vaddr=0x400d0018 size=0x170ee4 (1511140) map
I (893) esp_image: segment 3: paddr=0x00390f04 vaddr=0x3ffc3c20 size=0x00864 (  2148) load
I (894) esp_image: segment 4: paddr=0x00391770 vaddr=0x40080000 size=0x00400 (  1024) load
I (900) esp_image: segment 5: paddr=0x00391b78 vaddr=0x40080400 size=0x1dd10 (122128) load
I (954) esp_image: segment 6: paddr=0x003af890 vaddr=0x400c0000 size=0x00068 (   104) load
I (973) boot: Loaded app from partition at offset 0x150000
I (973) boot: Disabling RNG early entropy source...
I (973) psram: This chip is ESP32-D0WD
I (978) spiram: Found 64MBit SPI RAM device
I (982) spiram: SPI RAM mode: flash 80m sram 80m
I (988) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (995) cpu_start: Pro cpu up.
I (999) cpu_start: Application information:
I (1004) cpu_start: Project name:     Squeezelite-ESP32
I (1009) cpu_start: App version:      I2S-4MFlash.32.1023.master-cmak
I (1017) cpu_start: Compile time:     Feb  4 2022 07:21:37
I (1023) cpu_start: ELF file SHA256:  2b117db426d5efaa...
I (1029) cpu_start: ESP-IDF:          v4.0.2-206-g5630b17e1
I (1035) cpu_start: Starting app cpu, entry point is 0x400817dc
I (1025) cpu_start: App cpu up.
I (1542) spiram: SPI SRAM memory test OK
I (1546) heap_init: Initializing. RAM available for dynamic allocation:
I (1546) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (1548) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (1555) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (1561) heap_init: At 3FFBDB5C len 00000004 (0 KiB): DRAM
I (1567) heap_init: At 3FFC74D8 len 00018B28 (98 KiB): DRAM
I (1573) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (1580) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1586) heap_init: At 4009E110 len 00001EF0 (7 KiB): IRAM
I (1592) cpu_start: Pro cpu start user code
I (1597) spiram: Adding pool of 4033K of external SPI memory to heap allocator
I (1618) spi_flash: detected chip: gd
I (1618) spi_flash: flash io: qio
I (1618) esp_core_dump_common: Init core dump to UART
E (1627) esp_core_dump_common: No core dump partition found!
I (1628) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (1638) spiram: Reserving pool of 64K of internal memory for DMA/internal allocations
I (1648) esp_app_main: Reset reason is: 4
I (1648) esp_app_main: Reboot counter=1

I (1658) esp_app_main: Starting app_main
I (1658) nvs_utilities: Initializing flash nvs
I (1688) nvs_utilities: Initializing nvs partition settings
I (1728) esp_app_main: Setting up telnet.
I (1728) telnet: Telnet support disabled
I (1728) esp_app_main: Setting up config subsystem.
I (1778) esp_app_main: Registering default values
I (1778) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
W (1778) config: Waiting for config commit ...
I (2778) config: configuration has some uncommitted entries
I (2778) config: Committing configuration to nvs. Locking config object.
I (2778) config: Config committed!
I (2778) esp_app_main: Configuring services
I (2788) config: Done Committing configuration to nvs.
I (2788) services: Configuring I2C sda:-1 scl:-1 port:1 speed:400000
W (2798) services: no I2C configured
I (2798) services: Configuring SPI mosi:-1 miso:-1 clk:-1 host:1 dc:-1
W (2808) services: no SPI configured
W (2818) led: LED GPIO -1 ignored
W (2818) led: LED GPIO -1 ignored
I (2818) led: Configuring LEDs green:-1 (active:0 -1%), red:-1 (active:0 -1%)
I (2828) battery: No battery
I (2828) monitor: Initializing monitoring
I (2838) monitor: Heap internal:232980 (min:232252) external:4100320 (min:4100320)
I (2848) esp_app_main: Initializing display
I (2848) display: Trying to configure display with N/A
W (2858) display: No display driver
I (2858) esp_app_main: Checking if certificates need to be updated
I (2868) esp_app_main: About to check if certificates need to be updated in flash
I (2878) esp_app_main: Running partition [ota_0] type 0 subtype 16 (offset 0x00150000)
I (2888) esp_app_main: Running version: I2S-4MFlash.32.1023.master-cmak
I (2888) esp_app_main: Certificate version: I2S-4MFlash.32.1023.master-cmak
I (2898) esp_app_main: Checking for update url
W (2908) config: Value not found for key fwurl
W (2908) config: Value not found for key
I (2918) esp_app_main: Starting Wifi Manager
I (2928) wifi:wifi driver task: 3ffdcc80, prio:23, stack:6656, core=0
I (2928) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (2938) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (2958) wifi:wifi firmware version: 6e1f9e4
I (2958) wifi:config NVS flash: enabled
I (2958) wifi:config nano formating: disabled
I (2958) wifi:Init data frame dynamic rx buffer num: 40
I (2958) wifi:Init management frame dynamic rx buffer num: 40
I (2968) wifi:Init management short buffer num: 32
I (2968) wifi:Init static tx buffer num: 12
I (2978) wifi:Init static rx bu`rst:0xc (SW_CPU_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:6948
load:0x40078000,len:13772
load:0x40080400,len:4532
entry 0x400806a0
I (62) boot: Chip Revision: 1
I (32) boot: ESP-IDF v4.0.2-206-g5630b17e1 2nd stage bootloader
I (32) boot: compile time 07:20:29
I (38) boot: Enabling RNG early entropy source...
I (39) qio_mode: Enabling QIO for flash chip GD
I (44) boot: SPI Speed      : 80MHz
I (48) boot: SPI Mode       : QIO
I (52) boot: SPI Flash Size : 4MB
I (56) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (67) boot:  0 nvs              WiFi data        01 02 00009000 00004000
I (74) boot:  1 otadata          OTA data         01 00 0000d000 00002000
I (82) boot:  2 phy_init         RF data          01 01 0000f000 00001000
I (89) boot:  3 recovery         factory app      00 00 00010000 00140000
I (97) boot:  4 ota_0            OTA app          00 10 00150000 002a0000
I (104) boot:  5 settings         WiFi data        01 02 003f0000 00010000
I (112) boot: End of partition table
I (116) boot_comm: chip revision: 1, min. application chip revision: 0
I (123) esp_image: segment 0: paddr=0x00150020 vaddr=0x3f400020 size=0xc9f28 (827176) map
I (398) esp_image: segment 1: paddr=0x00219f50 vaddr=0x3ffbdb60 size=0x060c0 ( 24768) load
I (407) esp_image: segment 2: paddr=0x00220018 vaddr=0x400d0018 size=0x170ee4 (1511140) map
I (893) esp_image: segment 3: paddr=0x00390f04 vaddr=0x3ffc3c20 size=0x00864 (  2148) load
I (894) esp_image: segment 4: paddr=0x00391770 vaddr=0x40080000 size=0x00400 (  1024) load
I (900) esp_image: segment 5: paddr=0x00391b78 vaddr=0x40080400 size=0x1dd10 (122128) load
I (954) esp_image: segment 6: paddr=0x003af890 vaddr=0x400c0000 size=0x00068 (   104) load
I (973) boot: Loaded app from partition at offset 0x150000
I (973) boot: Disabling RNG early entropy source...
I (973) psram: This chip is ESP32-D0WD
I (978) spiram: Found 64MBit SPI RAM device
I (982) spiram: SPI RAM mode: flash 80m sram 80m
I (988) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (995) cpu_start: Pro cpu up.
I (999) cpu_start: Application information:
I (1004) cpu_start: Project name:     Squeezelite-ESP32
I (1009) cpu_start: App version:      I2S-4MFlash.32.1023.master-cmak
I (1017) cpu_start: Compile time:     Feb  4 2022 07:21:37
I (1023) cpu_start: ELF file SHA256:  2b117db426d5efaa...
I (1029) cpu_start: ESP-IDF:          v4.0.2-206-g5630b17e1
I (1035) cpu_start: Starting app cpu, entry point is 0x400817dc
I (1025) cpu_start: App cpu up.
I (1542) spiram: SPI SRAM memory test OK
I (1546) heap_init: Initializing. RAM available for dynamic allocation:
I (1546) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (1548) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (1555) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (1561) heap_init: At 3FFBDB5C len 00000004 (0 KiB): DRAM
I (1567) heap_init: At 3FFC74D8 len 00018B28 (98 KiB): DRAM
I (1573) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (1580) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1586) heap_init: At 4009E110 len 00001EF0 (7 KiB): IRAM
I (1592) cpu_start: Pro cpu start user code
I (1597) spiram: Adding pool of 4033K of external SPI memory to heap allocator
I (1618) spi_flash: detected chip: gd
I (1618) spi_flash: flash io: qio
I (1618) esp_core_dump_common: Init core dump to UART
E (1627) esp_core_dump_common: No core dump partition found!
I (1628) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (1638) spiram: Reserving pool of 64K of internal memory for DMA/internal allocations
I (1648) esp_app_main: Reset reason is: 4
I (1648) esp_app_main: Reboot counter=1

I (1658) esp_app_main: Starting app_main
I (1658) nvs_utilities: Initializing flash nvs
I (1688) nvs_utilities: Initializing nvs partition settings
I (1728) esp_app_main: Setting up telnet.
I (1728) telnet: Telnet support disabled
I (1728) esp_app_main: Setting up config subsystem.
I (1778) esp_app_main: Registering default values
I (1778) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
W (1778) config: Waiting for config commit ...
I (2778) config: configuration has some uncommitted entries
I (2778) config: Committing configuration to nvs. Locking config object.
I (2778) config: Config committed!
I (2778) esp_app_main: Configuring services
I (2788) config: Done Committing configuration to nvs.
I (2788) services: Configuring I2C sda:-1 scl:-1 port:1 speed:400000
W (2798) services: no I2C configured
I (2798) services: Configuring SPI mosi:-1 miso:-1 clk:-1 host:1 dc:-1
W (2808) services: no SPI configured
W (2818) led: LED GPIO -1 ignored
W (2818) led: LED GPIO -1 ignored
I (2818) led: Configuring LEDs green:-1 (active:0 -1%), red:-1 (active:0 -1%)
I (2828) battery: No battery
I (2828) monitor: Initializing monitoring
I (2838) monitor: Heap internal:232980 (min:232252) external:4100320 (min:4100320)
I (2848) esp_app_main: Initializing display
I (2848) display: Trying to configure display with N/A
W (2858) display: No display driver
I (2858) esp_app_main: Checking if certificates need to be updated
I (2868) esp_app_main: About to check if certificates need to be updated in flash
I (2878) esp_app_main: Running partition [ota_0] type 0 subtype 16 (offset 0x00150000)
I (2888) esp_app_main: Running version: I2S-4MFlash.32.1023.master-cmak
I (2888) esp_app_main: Certificate version: I2S-4MFlash.32.1023.master-cmak
I (2898) esp_app_main: Checking for update url
W (2908) config: Value not found for key fwurl
W (2908) config: Value not found for key
I (2918) esp_app_main: Starting Wifi Manager
I (2928) wifi:wifi driver task: 3ffdcc80, prio:23, stack:6656, core=0
I (2928) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (2938) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (2958) wifi:wifi firmware version: 6e1f9e4
I (2958) wifi:config NVS flash: enabled
I (2958) wifi:config nano formating: disabled
I (2958) wifi:Init data frame dynamic rx buffer num: 40
I (2958) wifi:Init management frame dynamic rx buffer num: 40
I (2968) wifi:Init management short buffer num: 32
I (2968) wifi:Init static tx buffer num: 12
I (2978) wifi:Init static rx buffer size: 1600ffer size: 1600
I (2978) wifi:Init static rx buffer num: 12
I (2988) wifi:Init dynamic rx buffer num: 40
I (3088) phy: phy_version: 4390, 6b3c1f2, Sep 10 2020, 15:09:07, 0, 0
I (3088) wifi:mode : null
I (3088) http_server: Initializing HTTP Server
I (3088) uart: queue free spaces: 3
I (3118) wifi_manager: Saved wifi found on startup. Will attempt to connect.
I (3118) wifi:mode : sta (94:b9:7e:c5:9e:58)
I (3118) wifi_manager: Wifi Connecting...

Type 'help' to get the list of commands.
Use UP/DOWN arrows to navigate through command history.
Press TAB when typing command name to auto-complete.

To automatically execute lines at startup:
        Set NVS variable autoexec (U8) = 1 to enable, 0 to disable automatic execution.
        Set NVS variable autoexec[1~9] (string)to a command that should be executed automatically

****************************
Your terminal application does not support escape sequences.
Line editing and history features are disabled.
On Windows, try using Putty instead.
****************************
W (3208) console: Processing autoexec commands while wifi_manager active.  Wifi related commands will be ignored.
I (3218) console: autoexec is set to perform auto-process
I (3218) console: Running command autoexec1 = squeezelite -o "BT -n 'BT Tempo'" -b 500:2000 -R -u m -Z 192000 -r "44100-44100"
W (3238) config: Value not found for key autoexec2
I (3238) squeezelite_cmd: Calling squeezelite
I (3248) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (3258) wifi:new:<1,1>, old:<1,1>, ap:<255,255>, sta:<1,1>, prof:1

Option error: -R

Squeezelite v1.0-1023-32, Copyright 2012-2015 Adrian Smith, 2015-2019 Ralph Irving. See -t for license terms
Usage: squeezelite [options]
  -s <server>[:<port>]  Connect to specified server, otherwise uses autodiscovery to find server
  -a <f>                Specify sample format (16|24|32) of output file when using -o - to output samples to stdout (interleaved little endian only)
  -b <stream>:<output>  Specify internal Stream and Output buffer sizes in Kbytes
  -c <codec1>,<codec2>  Restrict codecs to those specified, otherwise load all available codecs; known codecs: flac,pcm,mp3,ogg (mad,mpg for specific mp3 codec)
                        Codecs reported to LMS in order listed, allowing codec priority refinement.
  -C <timeout>          Close output device when idle after timeout seconds, default is to keep it open while player is 'on'
  -d <log>=<level>      Set logging level, logs: all|slimproto|stream|decode|output, level: info|debug|sdebug
  -e <codec1>,<codec2>  Explicitly exclude native support of one or more codecs; known codecs: flac,pcm,mp3,ogg (mad,mpg for specific mp3 codec)
  -f <logfile>          Write debug to logfile
  -m <mac addr>         Set mac address, format: ab:cd:ef:12:34:56
  -M <modelname>        Set the squeezelite player model name sent to the server (default: SqueezeESP32)
  -n <name>             Set the player name
  -N <filename>         Store player name in filename to allow server defined name changes to be shared between servers (not supported with -n)
  -W                    Read wave and aiff format from header, ignore server parameters
  -r <rates>[:<delay>]  Sample rates supported, allows output to be off when squeezelite is started; rates = <maxrate>|<minrate>-<maxrate>|<rate1>,<rate2>,<rate3>; delay = optional delay switching rates in ms
  -t                    License terms
  -?                    Display this help text

Build options: EMBEDDED LOOPBACK NO_FAAD LINKALL

squeezelite-esp32> abort() was called at PC 0x400d3ea0 on core 1

ELF file SHA256: 2b117db426d5efaa

Backtrace: 0x40094e2f:0x3f801bf0 0x4009519d:0x3f801c10 0x400d3ea0:0x3f801c30 0x400ea44f:0x3f801c50 0x400d995c:0x3f801f70

I (2354) esp_core_dump_uart: Press Enter to print core dump to UART...
I (2361) esp_core_dump_uart: Print core dump to uart...
I (2366) esp_core_dump_common: Found tasks: (13)!
================= CORE DUMP START =================
BCkAAAEAAAALAAAAZAEAAA==
gMz9P9DF/T94zP0/
0MX9PxDM/T+hxsyolFP8P5RT/D+AzP0/jFP8PwIAAAB0EP0/aIH9P4DM/T8AAAAA
FwAAAHyy/T93aWZpAOwQuYRS6wl3NBAAAAAAAHjM/T8AAAAAIwAGABcAAAABAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA8t9k=
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
jHX7P9Bz+z+Edfs/
0HP7PyB1+z/Wl3iTgFP8P4BT/D+Mdfs/eFP8PwMAAAAIT/w/CE/8P4x1+z8AAAAA
FgAAAIhl+z9lc3BfdGltZXIAZDrIZ1EAAAAAAIR1+z8AAAAAIQAGABYAAAAAAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAADXouU=
YEEIQAQbCEAwBwYAZHkJgJB0+z8AAAAA/////7RT/D/M6vs//gAAAHwm/D8EGwiA
cHT7P9wA8D8BAAAAKNz7PwEAAAD+AAAA4Dv+PwAAAAD/////paWlpcQkCUDgJAlA
/////2BDCEABAAAAYHAJQOjV7j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAEAAAAAGAAAAwAAACMABgDFXg2AsHT7P9xO/D8AAAAA
CgAAAIyr/T8MHwhA4Dv+PwAAAADwdPs/ME/8PzhP/D8AAAAAogAAAKzEgj98Jvw/
//////B0+z8BAAAAOE/8PyhP/D8AAAAA3E78PwAAAAAAAAAAIHX7PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqPwYAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAsdfs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA==
KNf7P6DV+z8g1/s/
oNX7P8DW+z98YazNyFH8P8TP+z8o1/s/wFH8PxkAAADJWOk/Z/16EijX+z8AAAAA
AAAAACTR+z9JRExFMQAOxwJgfPKhtn0AAQAAACDX+z8AAAAAIQAGAAAAAAAAAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA4GRQ=
YEEIQK7iI0AwAQYAAGENgGDW+z8AAAAAIwYGACAGBgAggvw/AwAAACMABgDCWw2A
MNb7PwAAAADo7vs/6O77PwAAAAAgAAYAAAAAAAAAAAClpaWlpaWlpQAAAAAAAAAA
AAAAAGBDCEAAAAAAYHAJQIg37z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABriwmAgNb7P7xP/D8IAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAACg1vs/AAAAAFBR/D8BAAAAAAAAAAAAAAABAACA
AAAAAMDW+z8AAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAADM1vs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
vM/7PzDO+z+0z/s/
MM77P1DP+z+x9iLsMNf7P8hR/D+8z/s/wFH8PxkAAACgbjlGnAYG8rzP+z8AAAAA
AAAAALjJ+z9JRExFMACsN4S1sRJjOi4AAAAAALTP+z8AAAAAIQAGAAAAAAAAAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAB/YQk=
YEEIQK7iI0AwBwYAAGENgPDO+z8AAAAA1BYJQAAAAABwxPs/AwAAACMEBgDCWw2A
wM77PwAAAADk7vs/5O77PwAAAAAgBwYAAAAAAAAAAAAAAAAApaWlpQAAAAAAAAAA
AAAAAGBDCEAAAAAAYHAJQBgw7z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAIAEGAAAAAABriwmAEM/7P5xP/D8IAAAA
NLL9P3DE+z8DAAAAIwQGAAAAAAAwz/s/AAAAAFBR/D8BAAAAAAAAAAEAAAABAAAA
AAAAAFDP+z8AAAAAAAAAAAAAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAABcz/s/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA==
rJr9P8CY/T+kmv0/
wJj9P0Ca/T/kAAAAtFH8P5DZ+z+smv0/rFH8PwcAAAD8i/0//Iv9P6ya/T/0i/0/
EgAAAKiM/T90aVQASAeuJRyMVKoe+v8A////f6Sa/T8AAAAAIQAGABIAAAAAAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAACHzPQ=
YEEIQAQbCEAwDwYAZHkJgICZ/T8BAAAAMgAAALRT/D/M6vs//gAAAGz1gT8EGwiA
YJn9P+AA8D8BAAAAKNz7PwEAAAD+AAAAAQAAAB8AAAC/DR2AQJn9P2YmCUBxJglA
AAAAAGBDCEABAAAAYHAJQAj78D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAANkyHICQmf0/pGVLPyMDBgDVyhyAoJn9P9CL/T8Qmv0/
UjMcgLCZ/T/oCAAALDMcQL7KG4Dgmf0//////xCa/T8AAAAAsgAAAPh/Sz+ocoE/
MgAAAMzq+z/+AAAAbPWBPxyM/T8AAAAAJIz9PwAAAAAAAAAAEJr9PwD8/D/gCx1A
AAAAABCa/T8A/Pw/4AsdQJABAACyAAAA/w8AAAAAAAAAAAAAQJr9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAABMmv0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA==
iNn7P3B+/D/gf/w/
cH78P4B//D/XAAAAtJr9P7RR/D+I2fs/rFH8PxgAAAC82Ps/vNj7P4jZ+z+02Ps/
AQAAAPR0/D9UbXIgU3ZjADk73Zb714EAAAAAAOB//D8AAAAAIQAGAAEAAAAAAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAACon/s/
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAB2PmU=
YEEIQAQbCEAwDQYAD54JgDB//D8AAAAAzOr7PwAAAAAAAAAAAAAAAAAAAAAEGwiA
EH/8P9wA8D8BAAAAKNz7PwEAAAD+AAAAwFP8Px4AAACkokA/IwUFAMQkCUDgJAlA
AAAAAGBDCEABAAAAYHAJQEjg7z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAPObSD/aCgAApKJAPyMABgAAAAAAUH/8P8BT/D9zAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAACAf/w/AAAAAAAAAAACAAAAcwAAACCJ/T8AAAAA
vFP8P8hT/D8AAAAA1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIx//D8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
cH37P8B7+z9offs/
wHv7PwB9+z9cEur5KKj9P8D+/D9wffs/PFH8PwEAAABAefs/QHn7P3B9+z84efs/
GAAAAGx5+z9pcGMwAE+kj6HmR6B9rrMAAAAAAGh9+z8AAAAAIQAGABgAAAAAAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAD5t8U=
YEEIQAQbCEAwAQYAZHkJgIB8+z8AAAAA/////7RT/D/M6vs//gAAAAIAAAAEGwiA
YHz7P9wA8D8BAAAAKNz7PwEAAAD+AAAAgE78PxMAAAAAAAAAYEMIQAAAAAAAAAAA
AAAAAGBDCEABAAAAYHAJQMjd7j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAZ2CYCAfPs/CHn7PxhR/D/nOQiAoHz7PxR5+z8AAAAA
zOr7PxgAAAD+AAAAAgAAAAAAAADgfPs/zE/8PwAAAAAAAAAAlAAAABRq/D8CAAAA
/////wAAAADMT/w/AAAAAGB5+z8AAAAAFHn7PwAAAAAAAAAAAH37PwAAAAAAAAAA
AAAAAGTGCEAAAAAAAAAAAI8XCIDAO/4/JFH8PyxR/D8AAAAAAAAAAAx9+z8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
IKj9PxCm/T8YqP0/
EKb9P7Cn/T+JBJl7WP38P3h9+z8gqP0/PFH8PwUAAABEc4E/RHOBPyCo/T88c4E/
FAAAAByd/T9zeXNfZXZ0ABOkqF/3KwYAAAAAABio/T8AAAAAIQAGABQAAAAAAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAB1+do=
YEEIQAQbCEAwCQYAZHkJgNCm/T8AAAAA/////7RT/D/M6vs/AQAAAAEAAAAEGwiA
sKb9P9wA8D8BAAAAKNz7PwEAAAD+AAAA//8/swAAAAClpaWlpaWlpWYmCUBxJglA
AAAAAGBDCEABAAAAYHAJQHgI8T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAPwKJIDgpv0/AAAAAPxdSz/4CSSA8Kb9PxhzgT9Ap/0/
ewskgDCn/T/go/s//////3sLJIAwp/0/4KP7P/////8AAAAAlAAAAAAAAACUuX7F
/////wAAAAAAAAAAAAAAAGRzgT8AAAAAbHOBPwAAAAAAAAAAkKf9P+Cj+z//////
AAAAAPxdSz8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAsKf9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyn/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
UP38P5D7/D9I/fw/
kPv8P+D8/D8nw1GcYBD9Pyio/T9Q/fw/PFH8PxQAAADIofs/yKH7P1D9/D/Aofs/
BQAAAEzt/D93aWZpX21hbmFnZXIA8VEA////f0j9/D8AAAAAIQAGAAUAAAAAAAAA
DKT7P3hADUAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAg87c=
YEEIQAQbCEAwBQYAZHkJgFD8/D8AAAAA/////7RT/D/M6vs//gAAAOxP/D8EGwiA
MPz8P9wA8D8BAAAAKNz7PwEAAAD+AAAAAQAAAAQAAAD/////AAAAAMQkCUDgJAlA
/////2BDCEABAAAAYHAJQKhd8D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAEAAAAYAAAAABgAAAD7/D+x9A2AcPz8P5yh+z+w/Pw/
CQAAAIyr/T8MHwhAAQAAAAAAAACw/Pw/mDoAAAAAAAAAAAAAlgAAAOBP/D/sT/w/
/////7D8/D+YOgAAAAAAAOih+z8AAAAA8KH7PwAAAAAAAAAA4Pz8PwAAAAAAAAAA
BwAAAAMAAAAAAAAAAAAAAIRX/D8cAAAAtAb+P2yA/D8AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAADs/Pw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA=
WBD9P/AM/T9QEP0/
8Az9P/AP/T/DjNe4RFH8P1j9/D9YEP0/PFH8PxQAAAD0Fv4/9Bb+P1gQ/T/sFv4/
BQAAAFQA/T9jb25zb2xlAIJ04oX9TiwAAQAAAFAQ/T8AAAAAIQAGAAUAAAABAAAA
uCD+P3hADUAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABMrJU=
YEEIQAQbCEAwAwYAZHkJgLAN/T8BAAAA/////7hT/D/M6vs//gAAAMhp/D8EGwiA
kA39P+AA8D8BAAAAKNz7PwEAAAD+AAAAEwAAAAQAAABMgA2AgA39P5U6CUClOglA
+////2BDCEABAAAAYHAJQLhw8D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAE0pCYDADf0/AAAAAAEAAAD2ewmA0A39P8gW/j8QDv0/
vBUJgOAN/T/AEP0/yPmAPx6oDYAQDv0/yBb+P/////8AAAAAsgAAAMAQ/T/I+YA/
/////xMAAAAhAAAAyGn8PxQX/j8AAAAAHBf+PwAAAADMbg2AQA79P/////+n+YA/
AAAAAFAO/T8w+oA/zOr7PyALBgABAAAA/gAAAAAAAADkKAmAcA79PwAAAAAAAAAA
TR0JgHAO/T//////AAAAAAEAAAAAIIA//gAAAMzq+z8BKAmAkA79P8AQ/T9g+YA/
p/mAPwEAAAAoF/4/AAAAAGb2IYCwDv0/AAAAAGD5gD+n+YA/AQAAAP////9MSz0A
vNchgNAO/T/AEP0/YPmAP9AoCUAJAAAAAAAAABMAAAD+1yGA8A79P8AQ/T9g+YA/
IAsGAAAAAADI+YA/EwAAACTfFIAgD/0/YPmAP8j5gD8TAAAAIA/9PwEAAAAAEAAA
yPmAPwAQAAAhAAAAyGn8Py2tDYBAD/0/qLSCP/8PAACgdEA/wBD9P2F1QD9wD/0/
Lz8NgLAP/T8c8vs//E38P6B0QD/AEP0/YXVAP3AP/T8vPw2AsA/9PwAAAAD8Tfw/
wBH9P5AP/T8BAAAA2B7+P2F1dG9leGVjMgAAAAAAAAAAAAAAAA/9P6xG/j/8Tfw/
AAAAAAAQAAAAAAAAAAAAAAAAAADQD/0/pEb+PwAAAAAAAAAA/////7hT/D/M6vs/
AAAAAPAP/T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAD8D/0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
QJ77P5Cc+z84nvs/
kJz7P9Cd+z8mSZ39wP78P0RR/D9Anvs/PFH8PwEAAAAEf/s/BH/7P0Ce+z/8fvs/
GAAAADya+z9pcGMxAHkkMpwltZ+WoXwAAQAAADie+z8AAAAAIQAGABgAAAAAAAAA
AAAAAAAAAAAAAAAAYPmAP8j5gD8w+oA/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
1BYJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAACZSv8=
YEEIQAQbCEAwCwYAZHkJgFCd+z8BAAAA/////7hT/D/M6vs//gAAACADBgAEGwiA
MJ37P+AA8D8BAAAAKNz7PwEAAAD+AAAAHAD0PwAAAAAAAAAAYEMIQAAAAAAAAAAA
AAAAAGBDCEABAAAAYHAJQJj+7j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAOSNCYBQnfs/zOr7PyALBgDnOQiAcJ37P9h++z8AAAAA
QJ77PwEAAAD+AAAAHAD0PwAAAACwnfs/0E/8PwAAAAAAAAAAiAAAAP4AAAAgAwYA
/////wAAAADQT/w/AAAAACR/+z8AAAAA2H77PwAAAAAAAAAA0J37PwAAAAAAAAAA
AAAAAGTGCEABAAAAAAAAAFgYCICAff4/KwAAACsAAAAAAAAAAAAAANyd+z8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
================= CORE DUMP END =================
E (3633) esp_core_dump_common: Skipped 2 tasks with bad TCB!
I (3639) esp_core_dump_uart: Core dump has been written to uart.
Rebooting...
ets Jun  8 2016 00:22:57

`

ykutovoy commented 2 years ago

Ok looks like i did it :) problem was in saved commandline 1 I couldn't understand from where does it get it, but it was saved corrupted one Working command for my device

squeezelite -o "BT -n 'Tempo'" -b 500:2000 -Z 44100 -r "44100-44100"

balloob commented 2 years ago

My suggestion is to add a GitHub Pages to this repository and add ESP Web Tools. That way anyone can install the firmware using the Chrome/Edge browsers and don't have to install any tooling.

pwcutajar commented 2 years ago

Ok looks like i did it :) problem was in saved commandline 1 I couldn't understand from where does it get it, but it was saved corrupted one Working command for my device

squeezelite -o "BT -n 'Tempo'" -b 500:2000 -Z 44100 -r "44100-44100"

I also have this issue but do not understand your fix, could you explain more?

balloob commented 2 years ago

I've added a link to an ESP Web Tools based installer in #144. Try installing with that.

pwcutajar commented 2 years ago

I've added a link to an ESP Web Tools based installer in #144. Try installing with that.

Smashing worked first time........but

Changing the output to bluetooth kills it, dead in the water

drogfild commented 2 years ago

Thanks @balloob ! I think ESP Web Tools is the way to go for an easy start.

Maybe my method can be saved as an intermediate level guide. As it allows additional tinkering with parameters before uploading.

Additionally I would love to see Imrov implemented in the project.

ykutovoy commented 2 years ago

I've added a link to an ESP Web Tools based installer in #144. Try installing with that.

Smashing worked first time........but

Changing the output to bluetooth kills it, dead in the water

Yes You are right almost works :( (strongly distorted sound) I didn't manage how to decode stream for device, So now I'm stop experiments with BT and waiting i2s encoder will arrive to proceed

ykutovoy commented 2 years ago

Finally I've got DAC Module UDA1334A With I2S everything works perfectly

sle118 commented 2 years ago

I'm planning to explore the web installer route suggested by @balloob so for now I'll go ahead and close this issue as a web installer will dramatically cut the complexity associated with getting up to speed