From 5066351b244fa2e941987d0422903bb903d6eecb Mon Sep 17 00:00:00 2001 From: Hubert Banas Date: Sun, 10 Jan 2021 09:41:03 -0500 Subject: [PATCH 01/12] Add body padding-bottom --- components/wifi-manager/webapp/src/sass/utils/_style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/components/wifi-manager/webapp/src/sass/utils/_style.css b/components/wifi-manager/webapp/src/sass/utils/_style.css index 687897b1..1dba6d62 100644 --- a/components/wifi-manager/webapp/src/sass/utils/_style.css +++ b/components/wifi-manager/webapp/src/sass/utils/_style.css @@ -4,6 +4,7 @@ body { margin-bottom:50px; padding-left: 12px; padding-right: 12px; + padding-bottom: 45px; } a { color: #fff; From 22c2044f17fd7b9c55ad65fb459cdb95e8d3fa1c Mon Sep 17 00:00:00 2001 From: Philippe G Date: Sun, 28 Mar 2021 13:54:45 -0700 Subject: [PATCH 02/12] Limit rate to 96kHz in 32 bits mode + CMakeLists correction @sle118, le tme know if the CMakeLists works for you as well. I pushed this one as I was pushing other stuff anyway --- components/squeezelite/CMakeLists.txt | 15 ++++++++++----- components/squeezelite/output_embedded.c | 6 +++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/components/squeezelite/CMakeLists.txt b/components/squeezelite/CMakeLists.txt index caa0732f..61bbc84b 100644 --- a/components/squeezelite/CMakeLists.txt +++ b/components/squeezelite/CMakeLists.txt @@ -30,10 +30,15 @@ set_source_files_properties(flac.c ) add_definitions(-DLINKALL -DLOOPBACK -DNO_FAAD -DEMBEDDED -DTREMOR_ONLY -DCUSTOM_VERSION=${BUILD_NUMBER}) -if(DEFINED DEPTH AND ${DEPTH} EQUAL "32") -add_definitions(-DBYTES_PER_FRAME=8) -else() -add_definitions(-DRESAMPLE16 -DBYTES_PER_FRAME=4) -endif() + +if(NOT DEFINED DEPTH) + set(DEPTH "16") +endif() + +if (${DEPTH} EQUAL "32") + add_definitions(-DBYTES_PER_FRAME=8) +else() + add_definitions(-DRESAMPLE16 -DBYTES_PER_FRAME=4) +endif() add_compile_options (-O3 ) diff --git a/components/squeezelite/output_embedded.c b/components/squeezelite/output_embedded.c index 1d36822e..3dfa584d 100644 --- a/components/squeezelite/output_embedded.c +++ b/components/squeezelite/output_embedded.c @@ -114,7 +114,11 @@ void set_volume(unsigned left, unsigned right) { bool test_open(const char *device, unsigned rates[], bool userdef_rates) { memset(rates, 0, MAX_SUPPORTED_SAMPLERATES * sizeof(unsigned)); if (!strcasecmp(device, "I2S")) { - unsigned _rates[] = { 192000, 176400, 96000, 88200, 48000, + unsigned _rates[] = { +#if BYTES_PER_FRAME == 4 + 192000, 176400, +#endif + 96000, 88200, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 0 }; memcpy(rates, _rates, sizeof(_rates)); From 43aa62ac56fa01dac302b6d48aeb7bbd09614e8b Mon Sep 17 00:00:00 2001 From: Philippe G Date: Sun, 28 Mar 2021 14:59:07 -0700 Subject: [PATCH 03/12] set DEPTH in root CMake for consistency --- CMakeLists.txt | 3 +++ components/squeezelite/CMakeLists.txt | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e3af7e8..6216195c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.5) set(EXTRA_COMPONENT_DIRS components/platform_console/app_recovery components/platform_console/app_squeezelite ) include($ENV{IDF_PATH}/tools/cmake/project.cmake) add_definitions(-DMODEL_NAME=SqueezeESP32) +if(NOT DEFINED DEPTH) + set(DEPTH "16") +endif() message(STATUS "Building RECOVERY") project(recovery) set_property(TARGET recovery.elf PROPERTY RECOVERY_PREFIX app_recovery ) diff --git a/components/squeezelite/CMakeLists.txt b/components/squeezelite/CMakeLists.txt index 61bbc84b..ce1d38f0 100644 --- a/components/squeezelite/CMakeLists.txt +++ b/components/squeezelite/CMakeLists.txt @@ -31,10 +31,6 @@ set_source_files_properties(flac.c add_definitions(-DLINKALL -DLOOPBACK -DNO_FAAD -DEMBEDDED -DTREMOR_ONLY -DCUSTOM_VERSION=${BUILD_NUMBER}) -if(NOT DEFINED DEPTH) - set(DEPTH "16") -endif() - if (${DEPTH} EQUAL "32") add_definitions(-DBYTES_PER_FRAME=8) else() From 0629b017b126fb7f939178f996128cecc10dd5d6 Mon Sep 17 00:00:00 2001 From: Philippe G Date: Wed, 31 Mar 2021 19:24:34 -0700 Subject: [PATCH 04/12] LMS can set player's name (only LMS scope) - release --- components/platform_console/cmd_system.c | 1 + components/squeezelite/embedded.c | 25 ++++++++++++++++++++++++ components/squeezelite/embedded.h | 3 +++ components/squeezelite/slimproto.c | 3 +++ 4 files changed, 32 insertions(+) diff --git a/components/platform_console/cmd_system.c b/components/platform_console/cmd_system.c index ca847ae2..51443dee 100644 --- a/components/platform_console/cmd_system.c +++ b/components/platform_console/cmd_system.c @@ -387,6 +387,7 @@ int set_squeezelite_player_name(FILE * f,const char * name){ FREE_AND_NULL(nvs_config); FREE_AND_NULL(argv); + free(cleaned_name); return nerrors; } diff --git a/components/squeezelite/embedded.c b/components/squeezelite/embedded.c index 9a0e5f95..dfa43771 100644 --- a/components/squeezelite/embedded.c +++ b/components/squeezelite/embedded.c @@ -15,6 +15,7 @@ #include "esp_timer.h" #include "esp_wifi.h" #include "monitor.h" +#include "platform_config.h" mutex_type slimp_mutex; @@ -69,3 +70,27 @@ u16_t get_plugged(void) { u8_t get_battery(void) { return (battery_level_svc() * 16) / 100; } + +void set_name(char *name) { + char *cmd = config_alloc_get(NVS_TYPE_STR, "autoexec1"); + char *p, *q; + + if (!cmd) return; + + if ((p = strstr(cmd, " -n")) != NULL) { + q = p + 3; + // in case some smart dude has a " -" in player's name + while ((q = strstr(q, " -")) != NULL) { + if (!strchr(q, '"') || !strchr(q+1, '"')) break; + q++; + } + if (q) memmove(p, q, strlen(q) + 1); + else *p = '\0'; + } + + asprintf(&q, "%s -n \"%s\"", cmd, name); + config_set_value(NVS_TYPE_STR, "autoexec1", q); + + free(q); + free(cmd); +} diff --git a/components/squeezelite/embedded.h b/components/squeezelite/embedded.h index 50db6188..29a7563a 100644 --- a/components/squeezelite/embedded.h +++ b/components/squeezelite/embedded.h @@ -79,6 +79,9 @@ u16_t get_RSSI(void); // must provide or define as 0xffff u16_t get_plugged(void); // must provide or define as 0x0 u8_t get_battery(void); // must provide 0..15 or define as 0x0 +// set name +void set_name(char *name); // can be defined as an empty macro + // to be defined to nothing if you don't want to support these extern struct visu_export_s { pthread_mutex_t mutex; diff --git a/components/squeezelite/slimproto.c b/components/squeezelite/slimproto.c index aee0dc02..87ac31fa 100644 --- a/components/squeezelite/slimproto.c +++ b/components/squeezelite/slimproto.c @@ -480,6 +480,9 @@ static void process_setd(u8_t *pkt, int len) { LOG_INFO("set name: %s", setd->data); // confirm change to server sendSETDName(setd->data); +#if EMBEDDED + set_name(player_name); +#endif // write name to name_file if -N option set if (name_file) { FILE *fp = fopen(name_file, "w"); From df36b6591615d7cf55ae9cab7c583341923e2834 Mon Sep 17 00:00:00 2001 From: Philippe G Date: Wed, 31 Mar 2021 21:25:30 -0700 Subject: [PATCH 05/12] release From 554cf89ac28c2b63b88d42121055bc65092ea9de Mon Sep 17 00:00:00 2001 From: philippe44 Date: Wed, 31 Mar 2021 22:27:03 -0700 Subject: [PATCH 06/12] =?UTF-8?q?keep=20these=20$%*^=C2=A8&@=20certificate?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/CrossBuild.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CrossBuild.yml b/.github/workflows/CrossBuild.yml index 9ae199b3..5123e45f 100644 --- a/.github/workflows/CrossBuild.yml +++ b/.github/workflows/CrossBuild.yml @@ -114,6 +114,7 @@ jobs: build/size_comp2.txt partitions.csv sdkconfig + server_certs/github.pem build_output.zip - uses: actions/upload-artifact@v2 with: From d293de4b6418ea915d8c0c00e836b6afea9ade4c Mon Sep 17 00:00:00 2001 From: Philippe G Date: Wed, 31 Mar 2021 22:35:41 -0700 Subject: [PATCH 07/12] cleanup these $%@! certificates --- server_certs/DigiCertBaltimoreCA-2G2.crt | Bin 1127 -> 0 bytes server_certs/DigiCertBaltimoreCA-2G2.pem | 26 --- server_certs/DigiCertGlobalRootCA.crt | Bin 947 -> 0 bytes server_certs/DigiCertGlobalRootCA.pem | 22 -- .../DigiCertSHA2HighAssuranceServerCA.crt | Bin 1205 -> 0 bytes .../DigiCertSHA2HighAssuranceServerCA.pem | 28 --- .../DigiCertTLSHybridECCSHA3842020CA1.crt | Bin 1095 -> 0 bytes .../DigiCertTLSHybridECCSHA3842020CA1.pem | 25 -- server_certs/getcert.sh | 47 ---- server_certs/github-com.pem | 29 --- server_certs/github.pem | 214 +++++++++--------- server_certs/githubusercontent-com.pem | 37 --- server_certs/s3-amazon-com.pem | 46 ---- 13 files changed, 109 insertions(+), 365 deletions(-) delete mode 100644 server_certs/DigiCertBaltimoreCA-2G2.crt delete mode 100644 server_certs/DigiCertBaltimoreCA-2G2.pem delete mode 100644 server_certs/DigiCertGlobalRootCA.crt delete mode 100644 server_certs/DigiCertGlobalRootCA.pem delete mode 100644 server_certs/DigiCertSHA2HighAssuranceServerCA.crt delete mode 100644 server_certs/DigiCertSHA2HighAssuranceServerCA.pem delete mode 100644 server_certs/DigiCertTLSHybridECCSHA3842020CA1.crt delete mode 100644 server_certs/DigiCertTLSHybridECCSHA3842020CA1.pem delete mode 100755 server_certs/getcert.sh delete mode 100644 server_certs/github-com.pem delete mode 100644 server_certs/githubusercontent-com.pem delete mode 100644 server_certs/s3-amazon-com.pem diff --git a/server_certs/DigiCertBaltimoreCA-2G2.crt b/server_certs/DigiCertBaltimoreCA-2G2.crt deleted file mode 100644 index 1c078aa72dcb2df4eb778c7c9eddb2699410843b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1127 zcmXqLVo5e=V)kCZ%*4pVB*578gR^hZGqs&k*6JL=Yxj+zQkb-1)Xt1HE zfiT2w9+%AYOy|_15(Uq^WJ5^lpiDL|=Ypp;&6ey*Xifg;2aQg9teu5r{g zQgAmiXkt`C_B10a19KB2KLb#li>Zl`kzx09hJOr<#qVc#e2C#F{SZ@7EdPINm3%LU z^55eJh3z*gvhDRfb6a;uyQJa0TiLt^V=o0>-4IuFkw z$%OMVKT-qMpZ(#w`hJngdDg5@`_{1wvyXjS5*=;1O`btsa>?(@ z`*@!H?!U{|@NCKRs3QmTi{4HA+?;;$?5T5J8x$JIj>5Z?tlP~*%yH|Nj zzndkTQ45)|u*3XA^Y^uykqYN`t3JFs@7d>d2N_>)W$S#z)z8Gt$iTR`iBS?5BBBPe zzyOuyV-aH!IUux2qa?#E{bhk_i4=otG+S+qi-9~yTA4+{K&(OJ>D)+zCijRlYkqNr zn6*_~ZDsNOU?2oiAk4`4pM}GK4M;IDG8piI#P~sCEWkwBW?;g`q0Pp~%F52j$f9AO zW}pJ&8!)y>WR#Q?Sn2EMCl?o>M7Dty$P{@NV*^72{RO%UwA(bHN|TFnj8T;8`{(9m z76DVBk%5t^9#GoA7Nl2!#mvCOz=(|n$Ye0kGSGlo%fu)q12U@^XfJvi({~OCMovD! zJOfNVj12mZ%+n4_ou3%`PE+JpfWW?)y^l0LmWZ)uTDut7e%Ib?P66rRPw3tq`SS+;D=RKC=TH^x2t zrr6ymSpDkw!-{jpQ+NN?iFnZEuq@Z{#*Lesf9f+Gl`hDBWYt=fR{?pE&fcekAQum7sveF5RG`_A}@+HX|7>&UZUPEv0EuIcREH$Srp V9M!z?eV5pT6&FGtdV3z90RV&^n1uiU diff --git a/server_certs/DigiCertBaltimoreCA-2G2.pem b/server_certs/DigiCertBaltimoreCA-2G2.pem deleted file mode 100644 index 834b6560..00000000 --- a/server_certs/DigiCertBaltimoreCA-2G2.pem +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEYzCCA0ugAwIBAgIQAYL4CY6i5ia5GjsnhB+5rzANBgkqhkiG9w0BAQsFADBa -MQswCQYDVQQGEwJJRTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJl -clRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTE1 -MTIwODEyMDUwN1oXDTI1MDUxMDEyMDAwMFowZDELMAkGA1UEBhMCVVMxFTATBgNV -BAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEjMCEG -A1UEAxMaRGlnaUNlcnQgQmFsdGltb3JlIENBLTIgRzIwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQC75wD+AAFz75uI8FwIdfBccHMf/7V6H40II/3HwRM/ -sSEGvU3M2y24hxkx3tprDcFd0lHVsF5y1PBm1ITykRhBtQkmsgOWBGmVU/oHTz6+ -hjpDK7JZtavRuvRZQHJaZ7bN5lX8CSukmLK/zKkf1L+Hj4Il/UWAqeydjPl0kM8c -+GVQr834RavIL42ONh3e6onNslLZ5QnNNnEr2sbQm8b2pFtbObYfAB8ZpPvTvgzm -+4/dDoDmpOdaxMAvcu6R84Nnyc3KzkqwIIH95HKvCRjnT0LsTSdCTQeg3dUNdfc2 -YMwmVJihiDfwg/etKVkgz7sl4dWe5vOuwQHrtQaJ4gqPAgMBAAGjggEZMIIBFTAd -BgNVHQ4EFgQUwBKyKHRoRmfpcCV0GgBFWwZ9XEQwHwYDVR0jBBgwFoAU5Z1ZMIJH -WMys+ghUNoZ7OrUETfAwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMC -AYYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp -Y2VydC5jb20wOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybDMuZGlnaWNlcnQu -Y29tL09tbmlyb290MjAyNS5jcmwwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYB -BQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwDQYJKoZIhvcNAQEL -BQADggEBAC/iN2bDGs+RVe4pFPpQEL6ZjeIo8XQWB2k7RDA99blJ9Wg2/rcwjang -B0lCY0ZStWnGm0nyGg9Xxva3vqt1jQ2iqzPkYoVDVKtjlAyjU6DqHeSmpqyVDmV4 -7DOMvpQ+2HCr6sfheM4zlbv7LFjgikCmbUHY2Nmz+S8CxRtwa+I6hXsdGLDRS5rB -bxcQKegOw+FUllSlkZUIII1pLJ4vP1C0LuVXH6+kc9KhJLsNkP5FEx2noSnYZgvD -0WyzT7QrhExHkOyL4kGJE7YHRndC/bseF/r/JUuOUFfrjsxOFT+xJd1BDKCcYm1v -upcHi9nzBhDFKdT3uhaQqNBU4UtJx5g= ------END CERTIFICATE----- diff --git a/server_certs/DigiCertGlobalRootCA.crt b/server_certs/DigiCertGlobalRootCA.crt deleted file mode 100644 index 2f1e5523af47d44e35ea27be89e25a663ea7f99f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 947 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/dev/null|openssl x509 -outform PEM >${outfile}.pem - get_pem_file $outfile 0 -} - - -rm *.pem -rm *.crt -rm *.txt -# seed the start pem -get_all_pem github.com github-com -get_all_pem s3.amazonaws.com s3-amazon-com -get_all_pem github-releases.githubusercontent.com githubusercontent-com -cat *.pem >github.pem diff --git a/server_certs/github-com.pem b/server_certs/github-com.pem deleted file mode 100644 index 20fa3e5f..00000000 --- a/server_certs/github-com.pem +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE7jCCBHSgAwIBAgIQBGv4V/rhZO4SCgtfMpPGOTAKBggqhkjOPQQDAzBWMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTAwLgYDVQQDEydEaWdp -Q2VydCBUTFMgSHlicmlkIEVDQyBTSEEzODQgMjAyMCBDQTEwHhcNMjEwMzEyMDAw -MDAwWhcNMjIwMzIzMjM1OTU5WjBmMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs -aWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEVMBMGA1UEChMMR2l0SHVi -LCBJbmMuMRMwEQYDVQQDEwpnaXRodWIuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D -AQcDQgAE2NKiDAGKpIeEu5Zc3atS11fP5PWbOdYtBDm7XKkGoHlyHIxPuuKc0wqo -9o4PK4BzXugwFGiwR/ycuVr/ZTcTUqOCAxIwggMOMB8GA1UdIwQYMBaAFAq8CCkX -jKU5bXoOzjPHLrPt+8N6MB0GA1UdDgQWBBS08xJCml9AyxzY6VeFeTwgBhfaWDAl -BgNVHREEHjAcggpnaXRodWIuY29tgg53d3cuZ2l0aHViLmNvbTAOBgNVHQ8BAf8E -BAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIGXBgNVHR8EgY8w -gYwwRKBCoECGPmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRMU0h5 -YnJpZEVDQ1NIQTM4NDIwMjBDQTEuY3JsMESgQqBAhj5odHRwOi8vY3JsNC5kaWdp -Y2VydC5jb20vRGlnaUNlcnRUTFNIeWJyaWRFQ0NTSEEzODQyMDIwQ0ExLmNybDA+ -BgNVHSAENzA1MDMGBmeBDAECAjApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRp -Z2ljZXJ0LmNvbS9DUFMwgYMGCCsGAQUFBwEBBHcwdTAkBggrBgEFBQcwAYYYaHR0 -cDovL29jc3AuZGlnaWNlcnQuY29tME0GCCsGAQUFBzAChkFodHRwOi8vY2FjZXJ0 -cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUTFNIeWJyaWRFQ0NTSEEzODQyMDIwQ0Ex -LmNydDAMBgNVHRMBAf8EAjAAMIIBBgYKKwYBBAHWeQIEAgSB9wSB9ADyAHcAKXm+ -8J45OSHwVnOfY6V35b5XfZxgCvj5TV0mXCVdx4QAAAF4J1lR5QAABAMASDBGAiEA -9PC30XzJepYPompNYMDjq9oow8xEAbDAzxZbF0e2HDQCIQC20gF9ohk20paUvsq+ -oTXhIwwoyq4TAPprf4Ii5d2M9AB3ACJFRQdZVSRWlj+hL/H3bYbgIyZjrcBLf13G -g1xu4g8CAAABeCdZUjQAAAQDAEgwRgIhANnbglRYcck1OgSk9B6ItU7CpDBJnbdP -SxcIyyAY1If8AiEA0G8HucONc8DcsAQg8+MB7Ms0gTpz5Qs41LLiJ+LLyb4wCgYI -KoZIzj0EAwMDaAAwZQIwflk1MqBiRbkppu+8NqxY3TPzP5XwfZLS75/4aGNigtoY -53Ui/QwQmKtZII7AB7V1AjEAntfvfSN1M9pshLFMV2CCDctp0955sxexDBasHXSN -VRFc5ZyUMUiWhyo8siO3bcxF ------END CERTIFICATE----- diff --git a/server_certs/github.pem b/server_certs/github.pem index 6d95891d..5eaa903c 100644 --- a/server_certs/github.pem +++ b/server_certs/github.pem @@ -25,26 +25,51 @@ bxcQKegOw+FUllSlkZUIII1pLJ4vP1C0LuVXH6+kc9KhJLsNkP5FEx2noSnYZgvD upcHi9nzBhDFKdT3uhaQqNBU4UtJx5g= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEGzCCAwOgAwIBAgIQBmcDW7sU/WOvwNaoU07+FjANBgkqhkiG9w0BAQsFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTIwMTIxNzAwMDAwMFoXDTMwMTIxNjIzNTk1OVowZzEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMT8wPQYDVQQDEzZE +aWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBUTFMgSHlicmlkIEVDQyBTSEEyNTYgMjAy +MCBDQTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARnvW/xPOudvtC252wTq9ef +6fbdFeWPkOscfpRTkciuHj7UcumQSH3lzkPEIx0KpesWa8epsks7QwkZ4fU/Tkf9 +o4IBhzCCAYMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUUGGmoNI1xBEq +II0fD6xC8M0pz0swHwYDVR0jBBgwFoAUsT7DaQP4v0cB1JgmGggC72NkK8MwDgYD +VR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjB/Bggr +BgEFBQcBAQRzMHEwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNv +bTBJBggrBgEFBQcwAoY9aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lD +ZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNydDBLBgNVHR8ERDBCMECgPqA8hjpo +dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZS +b290Q0EuY3JsMDAGA1UdIAQpMCcwCAYGZ4EMAQICMAgGBmeBDAECAzAHBgVngQwB +ATAIBgZngQwBAgEwDQYJKoZIhvcNAQELBQADggEBAHMQH8hhiBfNbxwEwxbbTAnu +jPyUh/oi0JrfZI3u9JuiLqca720D6foS/AB5+4EIxpm7CMG4MdN/l7oAiDipaCPv +mOmpYUpnT7A63Cr0q4g84rI1ZmdqA40lVUUf6qC6E34tC73qDQF8TJSrfscWFdCl +RXR9J4QGrkZ2VNMSDzlDRzWCaA95MfO8x01l+ZdopdE8FvM78gGd4zxeWb8v991+ +mBxTDepqKuy/jF5Rm6Bhfxr33ADRs60s1t16dtZ3pOYLALBTPD5KhZ6a+/dk5dnh +6c4PaeZQYBUAh+GuxfaBlU4qQ8EtjBMCQHreMIwXHYHW5FRYGjgR4NMuaIw2jD0= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs @@ -75,95 +100,74 @@ xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF cPUeybQ= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIQCidf5wTW7ssj1c1bSxpOBDANBgkqhkiG9w0BAQwFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0yMDA5MjMwMDAwMDBaFw0zMDA5MjIyMzU5NTlaMFYxCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxMDAuBgNVBAMTJ0RpZ2lDZXJ0IFRMUyBI -eWJyaWQgRUNDIFNIQTM4NCAyMDIwIENBMTB2MBAGByqGSM49AgEGBSuBBAAiA2IA -BMEbxppbmNmkKaDp1AS12+umsmxVwP/tmMZJLwYnUcu/cMEFesOxnYeJuq20ExfJ -qLSDyLiQ0cx0NTY8g3KwtdD3ImnI8YDEe0CPz2iHJlw5ifFNkU3aiYvkA8ND5b8v -c6OCAa4wggGqMB0GA1UdDgQWBBQKvAgpF4ylOW16Ds4zxy6z7fvDejAfBgNVHSME -GDAWgBQD3lA1VtFMu2bwo+IbG8OXsj3RVTAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0l -BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwdgYI -KwYBBQUHAQEEajBoMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5j -b20wQAYIKwYBBQUHMAKGNGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdp -Q2VydEdsb2JhbFJvb3RDQS5jcnQwewYDVR0fBHQwcjA3oDWgM4YxaHR0cDovL2Ny -bDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNybDA3oDWgM4Yx -aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNy -bDAwBgNVHSAEKTAnMAcGBWeBDAEBMAgGBmeBDAECATAIBgZngQwBAgIwCAYGZ4EM -AQIDMA0GCSqGSIb3DQEBDAUAA4IBAQDeOpcbhb17jApY4+PwCwYAeq9EYyp/3YFt -ERim+vc4YLGwOWK9uHsu8AjJkltz32WQt960V6zALxyZZ02LXvIBoa33llPN1d9R -JzcGRvJvPDGJLEoWKRGC5+23QhST4Nlg+j8cZMsywzEXJNmvPlVv/w+AbxsBCMqk -BGPI2lNM8hkmxPad31z6n58SXqJdH/bYF462YvgdgbYKOytobPAyTgr3mYI5sUje -CzqJx1+NLyc8nAK8Ib2HxnC+IrrWzfRLvVNve8KaN9EtBH7TuMwNW4SpDCmGr6fY -1h3tDjHhkTb9PA36zoaJzu0cIw265vZt6hCmYWJC+/j+fgZwcPwL +MIIFBjCCBK2gAwIBAgIQDovzdw2S0Zbwu2H5PEFmvjAKBggqhkjOPQQDAjBnMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xPzA9BgNVBAMTNkRp +Z2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIFRMUyBIeWJyaWQgRUNDIFNIQTI1NiAyMDIw +IENBMTAeFw0yMTAzMjUwMDAwMDBaFw0yMjAzMzAyMzU5NTlaMGYxCzAJBgNVBAYT +AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv +MRUwEwYDVQQKEwxHaXRIdWIsIEluYy4xEzARBgNVBAMTCmdpdGh1Yi5jb20wWTAT +BgcqhkjOPQIBBggqhkjOPQMBBwNCAASt9vd1sdNJVApdEHG93CUGSyIcoiNOn6H+ +udCMvTm8DCPHz5GmkFrYRasDE77BI3q5xMidR/aW4Ll2a1A2ZvcNo4IDOjCCAzYw +HwYDVR0jBBgwFoAUUGGmoNI1xBEqII0fD6xC8M0pz0swHQYDVR0OBBYEFCexfp+7 +JplQ2PPDU1v+MRawux5yMCUGA1UdEQQeMByCCmdpdGh1Yi5jb22CDnd3dy5naXRo +dWIuY29tMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB +BQUHAwIwgbEGA1UdHwSBqTCBpjBRoE+gTYZLaHR0cDovL2NybDMuZGlnaWNlcnQu +Y29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZVRMU0h5YnJpZEVDQ1NIQTI1NjIwMjBD +QTEuY3JsMFGgT6BNhktodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRI +aWdoQXNzdXJhbmNlVExTSHlicmlkRUNDU0hBMjU2MjAyMENBMS5jcmwwPgYDVR0g +BDcwNTAzBgZngQwBAgIwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2Vy +dC5jb20vQ1BTMIGSBggrBgEFBQcBAQSBhTCBgjAkBggrBgEFBQcwAYYYaHR0cDov +L29jc3AuZGlnaWNlcnQuY29tMFoGCCsGAQUFBzAChk5odHRwOi8vY2FjZXJ0cy5k +aWdpY2VydC5jb20vRGlnaUNlcnRIaWdoQXNzdXJhbmNlVExTSHlicmlkRUNDU0hB +MjU2MjAyMENBMS5jcnQwDAYDVR0TAQH/BAIwADCCAQUGCisGAQQB1nkCBAIEgfYE +gfMA8QB2ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4+U1dJlwlXceEAAABeGq/vRoA +AAQDAEcwRQIhAJ7miER//DRFnDJNn6uUhgau3WMt4vVfY5dGigulOdjXAiBIVCfR +xjK1v4F31+sVaKzyyO7JAa0fzDQM7skQckSYWQB3ACJFRQdZVSRWlj+hL/H3bYbg +IyZjrcBLf13Gg1xu4g8CAAABeGq/vTkAAAQDAEgwRgIhAJgAEkoJQRivBlwo7x67 +3oVsf1ip096WshZqmRCuL/JpAiEA3cX4rb3waLDLq4C48NSoUmcw56PwO/m2uwnQ +prb+yh0wCgYIKoZIzj0EAwIDRwAwRAIgK+Kv7G+/KkWkNZg3PcQFp866Z7G6soxo +a4etSZ+SRlYCIBSiXS20Wc+yjD111nPzvQUCfsP4+DKZ3K+2GKsERD6d -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -MIIE7jCCBHSgAwIBAgIQBGv4V/rhZO4SCgtfMpPGOTAKBggqhkjOPQQDAzBWMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTAwLgYDVQQDEydEaWdp -Q2VydCBUTFMgSHlicmlkIEVDQyBTSEEzODQgMjAyMCBDQTEwHhcNMjEwMzEyMDAw -MDAwWhcNMjIwMzIzMjM1OTU5WjBmMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs -aWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEVMBMGA1UEChMMR2l0SHVi -LCBJbmMuMRMwEQYDVQQDEwpnaXRodWIuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D -AQcDQgAE2NKiDAGKpIeEu5Zc3atS11fP5PWbOdYtBDm7XKkGoHlyHIxPuuKc0wqo -9o4PK4BzXugwFGiwR/ycuVr/ZTcTUqOCAxIwggMOMB8GA1UdIwQYMBaAFAq8CCkX -jKU5bXoOzjPHLrPt+8N6MB0GA1UdDgQWBBS08xJCml9AyxzY6VeFeTwgBhfaWDAl -BgNVHREEHjAcggpnaXRodWIuY29tgg53d3cuZ2l0aHViLmNvbTAOBgNVHQ8BAf8E -BAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIGXBgNVHR8EgY8w -gYwwRKBCoECGPmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRMU0h5 -YnJpZEVDQ1NIQTM4NDIwMjBDQTEuY3JsMESgQqBAhj5odHRwOi8vY3JsNC5kaWdp -Y2VydC5jb20vRGlnaUNlcnRUTFNIeWJyaWRFQ0NTSEEzODQyMDIwQ0ExLmNybDA+ -BgNVHSAENzA1MDMGBmeBDAECAjApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRp -Z2ljZXJ0LmNvbS9DUFMwgYMGCCsGAQUFBwEBBHcwdTAkBggrBgEFBQcwAYYYaHR0 -cDovL29jc3AuZGlnaWNlcnQuY29tME0GCCsGAQUFBzAChkFodHRwOi8vY2FjZXJ0 -cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUTFNIeWJyaWRFQ0NTSEEzODQyMDIwQ0Ex -LmNydDAMBgNVHRMBAf8EAjAAMIIBBgYKKwYBBAHWeQIEAgSB9wSB9ADyAHcAKXm+ -8J45OSHwVnOfY6V35b5XfZxgCvj5TV0mXCVdx4QAAAF4J1lR5QAABAMASDBGAiEA -9PC30XzJepYPompNYMDjq9oow8xEAbDAzxZbF0e2HDQCIQC20gF9ohk20paUvsq+ -oTXhIwwoyq4TAPprf4Ii5d2M9AB3ACJFRQdZVSRWlj+hL/H3bYbgIyZjrcBLf13G -g1xu4g8CAAABeCdZUjQAAAQDAEgwRgIhANnbglRYcck1OgSk9B6ItU7CpDBJnbdP -SxcIyyAY1If8AiEA0G8HucONc8DcsAQg8+MB7Ms0gTpz5Qs41LLiJ+LLyb4wCgYI -KoZIzj0EAwMDaAAwZQIwflk1MqBiRbkppu+8NqxY3TPzP5XwfZLS75/4aGNigtoY -53Ui/QwQmKtZII7AB7V1AjEAntfvfSN1M9pshLFMV2CCDctp0955sxexDBasHXSN -VRFc5ZyUMUiWhyo8siO3bcxF ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIGcDCCBVigAwIBAgIQCdv74rC/BCUHPAWGeDZyDTANBgkqhkiG9w0BAQsFADBw +MIIHMDCCBhigAwIBAgIQAkk+B/qeN1otu8YdlEMPzzANBgkqhkiG9w0BAQsFADBw MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz -dXJhbmNlIFNlcnZlciBDQTAeFw0yMDExMDIwMDAwMDBaFw0yMTExMDkyMzU5NTla -MG4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T -YW4gRnJhbmNpc2NvMRUwEwYDVQQKEwxHaXRIdWIsIEluYy4xGzAZBgNVBAMMEiou -Z2l0aHViYXNzZXRzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ANSd9fvpjAfJ0twUyQ+/o+R5D4MHJjR4U6JvlWdbNgT8WpjHHwYj4KYD7ZsK0X7U -bjASDkMlXKji7tyBjAreTNV3i+BqWY1umOhZBYUvEyiOB2arYj1vg7n3FVdxarcA -NxuL1WJzIlVFyoRJI2x0z7cOqBeVQ99UfaSBxqPwIydi3VdQmYJu1QMDjvSfyBad -qgV7BIp7WYmLsZMiC/aRP6dauy5/VxU0rnjAyLmCqmOIxNK7RcyoPcZAkHAGp5AM -hQ340m0/kW/eFsA0VlLOH2cZsD8QCUH1ZyGk2mxljj8cWr3rS3B5LbEB+Dw7DRvi -HXOMOtqZm5fcXSYdLSm78QMCAwEAAaOCAwYwggMCMB8GA1UdIwQYMBaAFFFo/5Cv -Agd1PMzZZWRiohK4WXI7MB0GA1UdDgQWBBQjYCC39NRreoNE1Ch1274OWwLvFzAv -BgNVHREEKDAmghIqLmdpdGh1YmFzc2V0cy5jb22CEGdpdGh1YmFzc2V0cy5jb20w -DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjB1 -BgNVHR8EbjBsMDSgMqAwhi5odHRwOi8vY3JsMy5kaWdpY2VydC5jb20vc2hhMi1o -YS1zZXJ2ZXItZzYuY3JsMDSgMqAwhi5odHRwOi8vY3JsNC5kaWdpY2VydC5jb20v -c2hhMi1oYS1zZXJ2ZXItZzYuY3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAEBMCow -KAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EM -AQICMIGDBggrBgEFBQcBAQR3MHUwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp -Z2ljZXJ0LmNvbTBNBggrBgEFBQcwAoZBaHR0cDovL2NhY2VydHMuZGlnaWNlcnQu -Y29tL0RpZ2lDZXJ0U0hBMkhpZ2hBc3N1cmFuY2VTZXJ2ZXJDQS5jcnQwDAYDVR0T -AQH/BAIwADCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB3APZclC/RdzAiFFQYCDCU -Vo7jTRMZM7/fDC8gC8xO8WTjAAABdYjoDuMAAAQDAEgwRgIhAJPwslpnJmoYdRBk -wG/jeKMrP2nUAjkTonhMlD23/zWlAiEAiaDylPmM3BeOWTyQTZMy2Mmqq9QE37rl -qQ0xT8UCNWwAdgBc3EOS/uarRUSxXprUVuYQN/vV+kfcoXOUsl7m9scOygAAAXWI -6A8oAAAEAwBHMEUCIQDjHsYef4PLNTRM/FF4AfDfKkk1FPDV44Z1J/22Xtr/LgIg -e5v+tGngUz3gc5cGTQcQzmfloyeUxz90n/NxsjyXvD4wDQYJKoZIhvcNAQELBQAD -ggEBACWlXo0EBRMeSZIMNIruuBE5YlMIDPIKFhemUH/5eQOGxCdFDXKrvZMScEVF -TUWX8VQMGfi18TkHtV5KEYW2a1a2YHvqTj/LLNq7Me0gamcOQanMtbASQzxz8k0o -v9Ca1N4QFjCJFx7ByhUSHtOCrzL26sio7Nx47TfMXYWrpH/WhVw8cSCcjzuZFvlY -w9ZOkh3UYrdCe2908BH6W4HYtKwTbIJqLhKH4ZqTz5ZmWs64sKJZzZqwxZ2DYR0Z -Gqsjdu339M1q7k7APKIaB2KxWzLZO/+WI3hMHJbOjpmvpTE0Fpn3tpL4MXp4pS1E -RBCCuAf8woylM3gn3rvdzcNeLus= +dXJhbmNlIFNlcnZlciBDQTAeFw0yMDA1MDYwMDAwMDBaFw0yMjA0MTQxMjAwMDBa +MGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T +YW4gRnJhbmNpc2NvMRUwEwYDVQQKEwxHaXRIdWIsIEluYy4xFzAVBgNVBAMTDnd3 +dy5naXRodWIuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsj49 +6jJ99veEXO7WdxGQZ7idtCnDcjZqQeDiy6057SwXj9yDUVnqhwo/yII8+y6Jpk3g +75LpPpYNjiOwYp/JkpWbpBAd1FWlvXJo/eZS+TwuIYb7JSc2H3NDDKt2VV5SSKQd +XOkDNqq7BisOFp2/TYwCMZboLufwRR5fKxL0nTKIOCwpnH8k//UdWpvTgIixDGLY +QCwHt0fYEo49jFeDaKD4WMBPq6Tx1iKWBhw3HVc/OyvI3yjRAx4Anf/DCSt9YTW6 +f/ND4O/fOowcfW5T7zii1Kw0yw+ulBrE/xe6taVhL+QR0MXNkQV2iHNN85swidwM +tcdGI8g3fYL48bSRywIDAQABo4IDyjCCA8YwHwYDVR0jBBgwFoAUUWj/kK8CB3U8 +zNllZGKiErhZcjswHQYDVR0OBBYEFIygCmlH3IkysE3GEUViXxovlk46MHsGA1Ud +EQR0MHKCDnd3dy5naXRodWIuY29tggwqLmdpdGh1Yi5jb22CCmdpdGh1Yi5jb22C +CyouZ2l0aHViLmlvgglnaXRodWIuaW+CFyouZ2l0aHVidXNlcmNvbnRlbnQuY29t +ghVnaXRodWJ1c2VyY29udGVudC5jb20wDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQW +MBQGCCsGAQUFBwMBBggrBgEFBQcDAjB1BgNVHR8EbjBsMDSgMqAwhi5odHRwOi8v +Y3JsMy5kaWdpY2VydC5jb20vc2hhMi1oYS1zZXJ2ZXItZzYuY3JsMDSgMqAwhi5o +dHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc2hhMi1oYS1zZXJ2ZXItZzYuY3JsMEwG +A1UdIARFMEMwNwYJYIZIAYb9bAEBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3 +LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQICMIGDBggrBgEFBQcBAQR3MHUwJAYI +KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBNBggrBgEFBQcwAoZB +aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkhpZ2hBc3N1 +cmFuY2VTZXJ2ZXJDQS5jcnQwDAYDVR0TAQH/BAIwADCCAX0GCisGAQQB1nkCBAIE +ggFtBIIBaQFnAHYARqVV63X6kSAwtaKJafTzfREsQXS+/Um4havy/HD+bUcAAAFx +6y8fFgAABAMARzBFAiEA59y6w9oaoAoM2fvFq6KofYWRh0xRm4VEEaMHBtsBYUgC +IBZxJhjA7SGWUlo57YslG8u6clHngDNvoTNVw1HQtTr3AHUAIkVFB1lVJFaWP6Ev +8fdthuAjJmOtwEt/XcaDXG7iDwIAAAFx6y8evwAABAMARjBEAiBmEjiioTbc1//h +CInYIX6O8hph5oLRVGCTxrTBfSRT2wIgZz7x3ZNIKQkWPKOFaaW3AxcB0DzhFsD6 +gxhkbl1p0AgAdgBRo7D1/QF5nFZtuDd4jwykeswbJ8v3nohCmg3+1IsF5QAAAXHr +Lx8JAAAEAwBHMEUCIBQ/6El+TCCtWuop7IderN0+byn5sDreTu+Xz3GiY8cLAiEA +7S83HxFFdQhQqpjjbWbIVBA88Nn/riaf5Jb8h3oJV8cwDQYJKoZIhvcNAQELBQAD +ggEBAADzu/I/4dMPwG4QzMFHZmgQFlnc/xqXtaNLqONIzXPznBQmHQi481xKgAR4 +jZOTTknlwOLBXnDXvV6rJQZXut3pxHSvVJk2kvuyDO3RC0uudd81AXIUsd6Pnjt2 +D6Xd/ypUAoMkyE+8euYESEFk4HlnrpXtN7OSTGVYZQk0aJrDINslXdmUL9E6AQiI +YaRIpRMRdj4stG6CkPJpfSauWa19kReZ6hTQR5f89L6x50us7GuWlmH6EmVFIbhf +9EO02QA3CcU7bE1iLWMHmKcU6ythmgsvNRU5TikxvF77JFv7n1/y8GLrprmKpB6Q +Df4PA8S9ROX9Rzgwe3KTIM6qeKU= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIIGTCCBwGgAwIBAgIQDWRQa0XzDONabC3fLBi0NzANBgkqhkiG9w0BAQsFADBk @@ -210,4 +214,4 @@ nNsxJrRxJeuZpfWfjtAfZ+EyU650FlZ1m25KcJVaOuYDdL+XnxPKm7YShOwFs9mx vBBUL4qDKKjROc7LkUvqoqa6QnXN92twtkMBnALF8GP24y+CLINS8rJCA117NMXf x+JAorfCzDKa+P1lgCh3+V5Lnqvla2hwCyCnYAy1RR0y1UEUB8FUYj1/PIDs9RJX cVq+ZBjAtIrm6j5b+Q== ------END CERTIFICATE----- +-----END CERTIFICATE----- \ No newline at end of file diff --git a/server_certs/githubusercontent-com.pem b/server_certs/githubusercontent-com.pem deleted file mode 100644 index 5b41ba2d..00000000 --- a/server_certs/githubusercontent-com.pem +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGcDCCBVigAwIBAgIQCdv74rC/BCUHPAWGeDZyDTANBgkqhkiG9w0BAQsFADBw -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz -dXJhbmNlIFNlcnZlciBDQTAeFw0yMDExMDIwMDAwMDBaFw0yMTExMDkyMzU5NTla -MG4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T -YW4gRnJhbmNpc2NvMRUwEwYDVQQKEwxHaXRIdWIsIEluYy4xGzAZBgNVBAMMEiou -Z2l0aHViYXNzZXRzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ANSd9fvpjAfJ0twUyQ+/o+R5D4MHJjR4U6JvlWdbNgT8WpjHHwYj4KYD7ZsK0X7U -bjASDkMlXKji7tyBjAreTNV3i+BqWY1umOhZBYUvEyiOB2arYj1vg7n3FVdxarcA -NxuL1WJzIlVFyoRJI2x0z7cOqBeVQ99UfaSBxqPwIydi3VdQmYJu1QMDjvSfyBad -qgV7BIp7WYmLsZMiC/aRP6dauy5/VxU0rnjAyLmCqmOIxNK7RcyoPcZAkHAGp5AM -hQ340m0/kW/eFsA0VlLOH2cZsD8QCUH1ZyGk2mxljj8cWr3rS3B5LbEB+Dw7DRvi -HXOMOtqZm5fcXSYdLSm78QMCAwEAAaOCAwYwggMCMB8GA1UdIwQYMBaAFFFo/5Cv -Agd1PMzZZWRiohK4WXI7MB0GA1UdDgQWBBQjYCC39NRreoNE1Ch1274OWwLvFzAv -BgNVHREEKDAmghIqLmdpdGh1YmFzc2V0cy5jb22CEGdpdGh1YmFzc2V0cy5jb20w -DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjB1 -BgNVHR8EbjBsMDSgMqAwhi5odHRwOi8vY3JsMy5kaWdpY2VydC5jb20vc2hhMi1o -YS1zZXJ2ZXItZzYuY3JsMDSgMqAwhi5odHRwOi8vY3JsNC5kaWdpY2VydC5jb20v -c2hhMi1oYS1zZXJ2ZXItZzYuY3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAEBMCow -KAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EM -AQICMIGDBggrBgEFBQcBAQR3MHUwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp -Z2ljZXJ0LmNvbTBNBggrBgEFBQcwAoZBaHR0cDovL2NhY2VydHMuZGlnaWNlcnQu -Y29tL0RpZ2lDZXJ0U0hBMkhpZ2hBc3N1cmFuY2VTZXJ2ZXJDQS5jcnQwDAYDVR0T -AQH/BAIwADCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB3APZclC/RdzAiFFQYCDCU -Vo7jTRMZM7/fDC8gC8xO8WTjAAABdYjoDuMAAAQDAEgwRgIhAJPwslpnJmoYdRBk -wG/jeKMrP2nUAjkTonhMlD23/zWlAiEAiaDylPmM3BeOWTyQTZMy2Mmqq9QE37rl -qQ0xT8UCNWwAdgBc3EOS/uarRUSxXprUVuYQN/vV+kfcoXOUsl7m9scOygAAAXWI -6A8oAAAEAwBHMEUCIQDjHsYef4PLNTRM/FF4AfDfKkk1FPDV44Z1J/22Xtr/LgIg -e5v+tGngUz3gc5cGTQcQzmfloyeUxz90n/NxsjyXvD4wDQYJKoZIhvcNAQELBQAD -ggEBACWlXo0EBRMeSZIMNIruuBE5YlMIDPIKFhemUH/5eQOGxCdFDXKrvZMScEVF -TUWX8VQMGfi18TkHtV5KEYW2a1a2YHvqTj/LLNq7Me0gamcOQanMtbASQzxz8k0o -v9Ca1N4QFjCJFx7ByhUSHtOCrzL26sio7Nx47TfMXYWrpH/WhVw8cSCcjzuZFvlY -w9ZOkh3UYrdCe2908BH6W4HYtKwTbIJqLhKH4ZqTz5ZmWs64sKJZzZqwxZ2DYR0Z -Gqsjdu339M1q7k7APKIaB2KxWzLZO/+WI3hMHJbOjpmvpTE0Fpn3tpL4MXp4pS1E -RBCCuAf8woylM3gn3rvdzcNeLus= ------END CERTIFICATE----- diff --git a/server_certs/s3-amazon-com.pem b/server_certs/s3-amazon-com.pem deleted file mode 100644 index 1868906b..00000000 --- a/server_certs/s3-amazon-com.pem +++ /dev/null @@ -1,46 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIIGTCCBwGgAwIBAgIQDWRQa0XzDONabC3fLBi0NzANBgkqhkiG9w0BAQsFADBk -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSMwIQYDVQQDExpEaWdpQ2VydCBCYWx0aW1vcmUgQ0Et -MiBHMjAeFw0yMDA4MDQwMDAwMDBaFw0yMTA4MDkxMjAwMDBaMGoxCzAJBgNVBAYT -AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdTZWF0dGxlMRkwFwYD -VQQKExBBbWF6b24uY29tLCBJbmMuMRkwFwYDVQQDExBzMy5hbWF6b25hd3MuY29t -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlLzYszLxTSSEdEQT7Lx7 -yw1HDpWUKCO58oupRlEkpJqZcKpUa5n05zpVUQVERfseZx5MV7yaKZD+Pf2Cm373 -nA8P0IkeLe7ZyURH1f0OdkU9y740Fn2BgA4Zs0bEPbKyp2J5pJsEBiDWX139PR9q -Obqp66lhS7Z6P9smMLxWFPx3Hg6oWUrYYnsXBPZD1/DsqKqhB6x4y4D01yeGpDVp -da+Xe04LM28ti5XJTmWpzp8+ZbYNWBYcvIvnBAfvTXSnCGQz1JRaOyBO/kKPrXWx -WkWE5EpR2wgk7PjqGXct/Bm6l8bpWc3zZ5Sap8iSpcbdibwEu1cYYDkHjlwgPiXE -awIDAQABo4IEvzCCBLswHwYDVR0jBBgwFoAUwBKyKHRoRmfpcCV0GgBFWwZ9XEQw -HQYDVR0OBBYEFIVEjpBQCk5Tm2dsfZt5LHMOx3+LMIIB5AYDVR0RBIIB2zCCAdeC -EHMzLmFtYXpvbmF3cy5jb22CEiouczMuYW1hem9uYXdzLmNvbYImKi5zMy5kdWFs -c3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb22CJHMzLmR1YWxzdGFjay51cy1l -YXN0LTEuYW1hem9uYXdzLmNvbYIcKi5zMy51cy1lYXN0LTEuYW1hem9uYXdzLmNv -bYIaczMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb22CJCouczMtY29udHJvbC51cy1l -YXN0LTEuYW1hem9uYXdzLmNvbYIiczMtY29udHJvbC51cy1lYXN0LTEuYW1hem9u -YXdzLmNvbYIuKi5zMy1jb250cm9sLmR1YWxzdGFjay51cy1lYXN0LTEuYW1hem9u -YXdzLmNvbYIsczMtY29udHJvbC5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3 -cy5jb22CKCouczMtYWNjZXNzcG9pbnQudXMtZWFzdC0xLmFtYXpvbmF3cy5jb22C -MiouczMtYWNjZXNzcG9pbnQuZHVhbHN0YWNrLnVzLWVhc3QtMS5hbWF6b25hd3Mu -Y29tgiEqLnMzLnVzLWVhc3QtMS52cGNlLmFtYXpvbmF3cy5jb20wDgYDVR0PAQH/ -BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjCBgQYDVR0fBHow -eDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QmFsdGlt -b3JlQ0EtMkcyLmNybDA6oDigNoY0aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0Rp -Z2lDZXJ0QmFsdGltb3JlQ0EtMkcyLmNybDBMBgNVHSAERTBDMDcGCWCGSAGG/WwB -ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMAgG -BmeBDAECAjB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw -LmRpZ2ljZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNl -cnQuY29tL0RpZ2lDZXJ0QmFsdGltb3JlQ0EtMkcyLmNydDAMBgNVHRMBAf8EAjAA -MIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcA9lyUL9F3MCIUVBgIMJRWjuNNExkz -v98MLyALzE7xZOMAAAFzu071tgAABAMASDBGAiEAlGDJVuKxRHHlN/O3J6MYmENC -4vnJqp3SyGAexyhlE1cCIQDfXlm8NW4fGb/zCb4CDHrQcrJUDv/s8ORi5/M5aqQl -GAB2AFzcQ5L+5qtFRLFemtRW5hA3+9X6R9yhc5SyXub2xw7KAAABc7tO9eYAAAQD -AEcwRQIhAOfJXPwhpRvdgbLeu6l7pJ23OIvkpcczPjj9mdZBcYPtAiBCqDSLNRPF -dxdmdR+VBN4dOmbFGH4iCHYDDmybFvPFszANBgkqhkiG9w0BAQsFAAOCAQEAPE/F -VWxMK+CDCiGYXy1ND65HQDFC/lU6lbmywR4E4Lv9x6gpQj875wMG0RosWq1xT9i2 -/2EGrcqDor7ER2to70K8Yv75/M9EzsY1wbdqfd5M3PUqccMLaMgmMKugqUqx90SG -nNsxJrRxJeuZpfWfjtAfZ+EyU650FlZ1m25KcJVaOuYDdL+XnxPKm7YShOwFs9mx -vBBUL4qDKKjROc7LkUvqoqa6QnXN92twtkMBnALF8GP24y+CLINS8rJCA117NMXf -x+JAorfCzDKa+P1lgCh3+V5Lnqvla2hwCyCnYAy1RR0y1UEUB8FUYj1/PIDs9RJX -cVq+ZBjAtIrm6j5b+Q== ------END CERTIFICATE----- From 99e4b107d6b44025fab412a89e83a9acc1eabb5f Mon Sep 17 00:00:00 2001 From: Philippe G Date: Wed, 31 Mar 2021 22:37:44 -0700 Subject: [PATCH 08/12] cleanup these $%@! certificates --- server_certs/getcert.sh | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 server_certs/getcert.sh diff --git a/server_certs/getcert.sh b/server_certs/getcert.sh new file mode 100644 index 00000000..b27048f4 --- /dev/null +++ b/server_certs/getcert.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +function get_pem_file() { + infile=$1 + level=$((1 + $2)) + if [ -z $infile ] + then + return 1 + fi + echo Processing $1 + crt=`openssl x509 -in ${infile}.pem -noout -text |sed -n -e 's/.*CA Issu.*URI:http:\/\/.*\/\(.*\)\..*/\1/p'` + uri=`openssl x509 -in ${infile}.pem -noout -text |sed -n -e 's/.*CA Issu.*URI:\(.*\)/\1/p'` + if [ -z $uri ] + then + return 1 + fi + echo crt=$crt, uri=$uri + wget ${uri} + openssl x509 -inform der -in ${crt}.crt -out ${crt}.pem + export outfile=$crt + if [ $level -lt 5 ] + then + if get_pem_file $outfile level; then + echo completed $outfile with result $? + else + echo done + fi + fi + return 0 +} + +function get_all_pem(){ + export outfile=$2 + export url=$1 + openssl s_client -showcerts -connect ${url}:443 /dev/null|openssl x509 -outform PEM >${outfile}.pem + get_pem_file $outfile 0 +} + + +rm *.pem +rm *.crt +rm *.txt +# seed the start pem +get_all_pem github.com github-com +get_all_pem s3.amazonaws.com s3-amazon-com +get_all_pem github-releases.githubusercontent.com githubusercontent-com +cat *.pem >github.pem From 263679dcac5841ff27d548c11d348a6ebccdeb2b Mon Sep 17 00:00:00 2001 From: philippe44 Date: Thu, 1 Apr 2021 19:17:52 -0700 Subject: [PATCH 09/12] Update README.md --- README.md | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index a0299304..ee068ad0 100644 --- a/README.md +++ b/README.md @@ -23,18 +23,27 @@ Other features include - Full web interface for further configuration/management - Firmware over-the-air update -**Important note** (philippe44 writing) +## Performances -The main build of squeezelite-esp32 is a 16 bits internal core with all calculations in 32 bits or float precision. This is a design choice I've made to preserve CPU performances (it is already stretching a lot the esp32 chipset) and optimize memory usage as we only have 4MB of usable RAM. Now, when I did the porting of squeezelite to esp32, I've also made the core 16 or 32 bits compatible at compile-time. So far, it works in 32 bits but very little tests have been done. You can chose to compile it in 32 bits mode. Note the following limitation in 32 bits +The main build of squeezelite-esp32 is a 16 bits internal core with all calculations in 32 bits or float precision. This is a design choice I(@philippe44)'ve made to preserve CPU performances (it is already stretching a lot the esp32 chipset) and optimize memory usage as we only have 4MB of usable RAM. Some might correctly comment that the WROVER module have 8MB of RAM, but the processor is only able to address 4MB and the remaining 4MB must be paginated by smaller blocks and I don't have patience to that. -- no resampling -- no equalizer -- buffer are smaller, so crossfade will be at best 5s at 44.1 kHz -- SPDIF is 20 bits maximum *(1)* -- display will be slower +Now, when I did the porting of squeezelite to esp32, I've also made the core 16 or 32 bits compatible at compile-time. So far, it works in 32 bits but less tests have been done. You can chose to compile it in 32 bits mode. I'm not very interested above 16 bits samples because it does not bring anything (I have an engineering background in theory of information). -I've not tested all codecs, I've only verified it with TAS57xx DAC and in general I've not tested that mode more than a few minutes. I'm not very interested above 16 bits samples because it does not bring anything (I have an engineering background in theory of information). On memory Some might correctly comment that wrover module have 8MB of RAM, but the processor is only able to address 4MB and the remaining 4MB must be paginated by smaller blocks and I don't have patience to that. +| Capability |16 bits|32 bits| comment | +|----------------------------|-------|-------|-------------------------------------------------------------------| +| max sampling rate | 192k | 96k | 192k is very challenging, especially when combined with display | +| max bit depth | 16 | 24 | 24 bits are truncated in 16 bits mode | +| spdif |16 bits|20 bits| | +| mp3, aac, opus, ogg/vorbis | 48k | 48k | | +| alac, flac, ogg/flac | 96k | 96k | | +| pcm, wav, aif | 192k | 96k | | +| equalizer | Y | N | 48kHz max (after resampling) - equalization skipped on 96k tracks | +| resampling | Y | N | | +| cross-fade | 10s | <5s | depends on buffer size and sampling rate | +The esp32 must run at 240 MHz, with Quad-SPI I/O at 80 MHz and a clock of 40 Mhz. Still, it's a lot to run, especially knowing that it has a serial Flash and PSRAM, so kudos to Espressif for their chipset optimization. Now, to have all the decoding, resampling, equalizing, gain, display, spectrum/vu is a very (very) delicate equilibrium between use of internal /external RAM, tasks priorities and buffer handling. It is not perfect and the more you push the system to the limit, the higher the risk that some files would not play (see below). In general, the display will always have the lowest priority and you'll notice slowdown in scrolling and VU/Spectrum refresh rates. Now, even display thread has some critical section and impacts the capabilities. For example, a 16 bits-depth color display with low SPI speed might prevent 24/96 flac to work but still work with pcm 24/96 + +In 16 bits mode, although 192 kHz is reported as max rate, it's highly recommended to limit reported sampling rate to 96k (-Z 96000). Note that some high-speed 24/96k on-line streams might stutter because of TCP/IP stack performances. It is usually due to the fact that the server sends small packets of data and the esp32 cannot receive encoded audio fast enough, regardless of task priority settings (I've tried to tweak that a fair bit). The best option in that case is to let LMS proxy the stream as it will provide larger chunks and a "smoother" stream that can then be handled. ## Supported Hardware Any esp32-based hardware with at least 4MB of flash and 4MB of PSRAM will be capable of running squeezelite-esp32 and there are various boards that include such chip. A few are mentionned below, but any should work. You can find various help & instructions [here](https://forums.slimdevices.com/showthread.php?112697-ANNOUNCE-Squeezelite-ESP32-(dedicated-thread)) ### Raw WROVER module From efa3f1f07d180f6f909b19f015f94f969e0e087a Mon Sep 17 00:00:00 2001 From: philippe44 Date: Thu, 1 Apr 2021 19:19:22 -0700 Subject: [PATCH 10/12] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ee068ad0..33c880c7 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,9 @@ Other features include - Full web interface for further configuration/management - Firmware over-the-air update -## Performances +## Performances (opinions here, so I = @philippe44) -The main build of squeezelite-esp32 is a 16 bits internal core with all calculations in 32 bits or float precision. This is a design choice I(@philippe44)'ve made to preserve CPU performances (it is already stretching a lot the esp32 chipset) and optimize memory usage as we only have 4MB of usable RAM. Some might correctly comment that the WROVER module have 8MB of RAM, but the processor is only able to address 4MB and the remaining 4MB must be paginated by smaller blocks and I don't have patience to that. +The main build of squeezelite-esp32 is a 16 bits internal core with all calculations in 32 bits or float precision. This is a design choice I've made to preserve CPU performances (it is already stretching a lot the esp32 chipset) and optimize memory usage as we only have 4MB of usable RAM. Some might correctly comment that the WROVER module have 8MB of RAM, but the processor is only able to address 4MB and the remaining 4MB must be paginated by smaller blocks and I don't have patience to that. Now, when I did the porting of squeezelite to esp32, I've also made the core 16 or 32 bits compatible at compile-time. So far, it works in 32 bits but less tests have been done. You can chose to compile it in 32 bits mode. I'm not very interested above 16 bits samples because it does not bring anything (I have an engineering background in theory of information). From d08f7142aed5290e232f934dcffff0aed1f8dfd1 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Thu, 1 Apr 2021 19:20:12 -0700 Subject: [PATCH 11/12] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 33c880c7..9e2c3752 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,8 @@ Other features include - Full web interface for further configuration/management - Firmware over-the-air update -## Performances (opinions here, so I = @philippe44) - +## Performances +*(opinions here, so I = @philippe44)* The main build of squeezelite-esp32 is a 16 bits internal core with all calculations in 32 bits or float precision. This is a design choice I've made to preserve CPU performances (it is already stretching a lot the esp32 chipset) and optimize memory usage as we only have 4MB of usable RAM. Some might correctly comment that the WROVER module have 8MB of RAM, but the processor is only able to address 4MB and the remaining 4MB must be paginated by smaller blocks and I don't have patience to that. Now, when I did the porting of squeezelite to esp32, I've also made the core 16 or 32 bits compatible at compile-time. So far, it works in 32 bits but less tests have been done. You can chose to compile it in 32 bits mode. I'm not very interested above 16 bits samples because it does not bring anything (I have an engineering background in theory of information). From 9e27a0e21d8c93de2cb7291649dfbf52599fd3aa Mon Sep 17 00:00:00 2001 From: philippe44 Date: Thu, 1 Apr 2021 19:20:55 -0700 Subject: [PATCH 12/12] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9e2c3752..5db11165 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Other features include - Firmware over-the-air update ## Performances -*(opinions here, so I = @philippe44)* +*(opinions presented here so I = @philippe44)* The main build of squeezelite-esp32 is a 16 bits internal core with all calculations in 32 bits or float precision. This is a design choice I've made to preserve CPU performances (it is already stretching a lot the esp32 chipset) and optimize memory usage as we only have 4MB of usable RAM. Some might correctly comment that the WROVER module have 8MB of RAM, but the processor is only able to address 4MB and the remaining 4MB must be paginated by smaller blocks and I don't have patience to that. Now, when I did the porting of squeezelite to esp32, I've also made the core 16 or 32 bits compatible at compile-time. So far, it works in 32 bits but less tests have been done. You can chose to compile it in 32 bits mode. I'm not very interested above 16 bits samples because it does not bring anything (I have an engineering background in theory of information).