Всем привет,
У меня ошибка 502 Bad Gateway на сайте, и я не могу решить эту проблему с nginx.http.sock.
Nginx error.log
[crit] 14339#14339: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: **.***.***.***, server: mydomain.net, request: "GET / HTTP/2.0", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/", host: "mydomain.net", referrer: "https:/mydomain.net/" "
Ниже мой файл discourse.conf
server {
listen 80;
listen [::]:80;
server_name mydmain.net www.mydomain.net; # <-- измените это
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name mydomain www.mydomain.net; # <-- измените это
ssl on;
ssl_certificate /etc/letsencrypt/live/mydomain.net/fullchain.pem; # управляется Certbot
ssl_certificate_key /etc/letsencrypt/live/mydomain.net/privkey.pem; # управляется Certbot
ssl_dhparam /etc/letsencrypt/live/mydomain.net/dhparams.pem;
include /etc/nginx/snippets/ssl.conf;
http2_idle_timeout 5m; # увеличено с 3m по умолчанию
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
}
}
Мой файл app.yml
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/sshd.template.yml"
- "templates/web.ratelimited.template.yml"
## Раскомментируйте эти две строки, если хотите добавить Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## - "templates/web.socketed.template.yml"
## Какие TCP/IP порты должен открывать этот контейнер?
## Если вы хотите, чтобы Discourse использовал тот же порт, что и другой веб-сервер, например Apache или nginx,
## см. https://meta.discourse.org/t/17247 для деталей
#expose:
# - "2045:80" # http
# - "1443:443" # https
Я также попробовал раскомментировать “templates/web.socketed.template.yml”, но результат в логе ошибок Nginx остался прежним. Что мне нужно сделать, чтобы решить эту проблему? У меня закончились идеи. Пожалуйста, помогите ;/
Я не эксперт, и если я не ошибаюсь, если вы выберете вариант с сокетом, вам, скорее всего, нужно будет раскомментировать web.socketed.template.
Привет, я уже делал это и получил тот же результат.
Только что попробовал на своей установке (использовал другой способ с прослушиванием порта), и всё работает.
Вам нужно убедиться, что:
Шаблоны SSL/Let’s Encrypt закомментированы, так как это уже обрабатывается вашей внешней конфигурацией Nginx.
Приложение пересобрано, чтобы файл nginx.http.sock появился в /var/discourse/shared/standalone/
Убедитесь, что:
шаблоны SSL/Let’s Encrypt закомментированы, так как это уже обрабатывается вашей внешней конфигурацией Nginx.
Приложение пересобрано, чтобы файл nginx.http.sock появился в /var/discourse/shared/standalone/
Хорошо, но что тогда произойдет с этой строкой? Ошибка 502 Gateway исчезла, и сайт работает, однако я вижу ту же ошибку nginx из-за этой строки.
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
Похоже, SSL не работает, и изображения не отображаются. Я загрузил логотип при настройке форума.
Если это еще не сделано, попробуйте включить опцию force https в Discourse (вкладка «Безопасность»)
ОМГГГ!!! Спсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспссп
Mednosis
(Mednosis)
02.Апрель.2020 00:29:29
8
Я попробовал все вышеуказанные предложения, но по-прежнему получаю ошибку 502 Bad Gateway. На данный момент я не использую HTTPS.
Вот моя ошибка:
> 2020/04/02 00:17:54 [crit] 18599#18599: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: xx.xxx.xxx.xx, server: talk.mydomain.com, request: "GET / HTTP/1.1", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/", host: "talk.mydomain.com"
>
> 2020/04/02 00:17:54 [crit] 18599#18599: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: xx.xxx.xxx.xx, server: talk.mydomain.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/favicon.ico", host: "talk.mydomain.com", referrer: "http://talk.mydomain.com/"
Ниже приведён файл /etc/nginx/sites-enabled/discourse.conf:
server {
listen 80; listen [::]:80;
server_name talk.mydomain.com;
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
Ниже приведён раздел шаблона файла /var/discourse/containers/app.yml:
server {
listen 80; listen [::]:80;
server_name talk.mydomain.com;
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
Пожалуйста, дайте совет.