From c865a6c0e4b0d475e95de7864d2bd672fbee7fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=81=A5=E8=BE=89?= <40563566+jianhw@users.noreply.github.com> Date: Tue, 1 Dec 2020 10:33:47 +0800 Subject: [PATCH] use github pages --- .github/workflows/deploy.yml | 16 + .gitignore | 1 + LICENSE.txt | 13 + README.md | 6 +- manual/README.md | 22 + manual/build_seafile/README.md | 12 + manual/build_seafile/freebsd.md | 156 ++ manual/build_seafile/linux.md | 164 +++ manual/build_seafile/osx.md | 110 ++ manual/build_seafile/rpi.md | 259 ++++ manual/build_seafile/server.md | 393 +++++ manual/changelog.md | 10 + ...log-for-seafile-professional-server-old.md | 772 ++++++++++ ...angelog-for-seafile-professional-server.md | 1278 +++++++++++++++++ manual/changelog/client-changelog.md | 993 +++++++++++++ manual/changelog/drive-client-changelog.md | 317 ++++ manual/changelog/server-changelog-old.md | 839 +++++++++++ manual/changelog/server-changelog.md | 619 ++++++++ manual/client/client.md | 30 + manual/client/seafile_cli.md | 121 ++ manual/config/README.md | 26 + manual/config/ccnet-conf.md | 78 + .../config/customize_email_notifications.md | 49 + manual/config/seafevents-conf.md | 88 ++ manual/config/seafile-conf.md | 183 +++ manual/config/seahub_customization.md | 141 ++ manual/config/seahub_settings_py.md | 471 ++++++ manual/config/sending_email.md | 191 +++ manual/contribution.md | 26 + manual/cover.jpg | Bin 0 -> 112373 bytes manual/cover_small.jpg | Bin 0 -> 7688 bytes manual/deploy/README.md | 55 + manual/deploy/add_memcached.md | 85 ++ manual/deploy/ce_ccnet_db.sql | 191 +++ manual/deploy/ce_seafile_db.sql | 362 +++++ .../common_problems_for_setting_up_server.md | 43 + manual/deploy/deploy_http_sync.md | 84 ++ manual/deploy/deploy_seafile_behind_nat.md | 110 ++ .../deploy_seahub_at_non-root_domain.md | 155 ++ manual/deploy/deploy_with_apache.md | 101 ++ manual/deploy/deploy_with_docker.md | 244 ++++ manual/deploy/deploy_with_nginx.md | 127 ++ manual/deploy/https_with_apache.md | 108 ++ manual/deploy/https_with_nginx.md | 275 ++++ manual/deploy/kerberos_config.md | 68 + manual/deploy/libreoffice_online.md | 114 ++ manual/deploy/migrate_from_sqlite_to_mysql.md | 105 ++ manual/deploy/new_directory_layout_5_0_0.md | 36 + manual/deploy/oauth.md | 133 ++ manual/deploy/only_office.md | 500 +++++++ manual/deploy/remote_user.md | 63 + manual/deploy/server.md | 259 ++++ manual/deploy/server_configuration.md | 192 +++ manual/deploy/shibboleth_config.md | 201 +++ manual/deploy/shibboleth_config_v6.3.md | 312 ++++ manual/deploy/single_sign_on.md | 16 + manual/deploy/sqlite_to_mysql.sh | 118 ++ .../deploy/start_seafile_at_system_bootup.md | 564 ++++++++ manual/deploy/upgrade.md | 165 +++ manual/deploy/upgrade_notes.md | 153 ++ .../upgrade_with_mysql_or_postgresql.md | 167 +++ manual/deploy/using_firewall.md | 5 + manual/deploy/using_fuse.md | 89 ++ manual/deploy/using_ldap.md | 135 ++ manual/deploy/using_logrotate.md | 67 + manual/deploy/using_mysql.md | 361 +++++ manual/deploy/using_sqlite.md | 286 ++++ manual/deploy/using_syslog.md | 94 ++ manual/deploy/video_thumbnails.md | 59 + manual/deploy_pro/README.md | 68 + manual/deploy_pro/adfs.md | 228 +++ manual/deploy_pro/admin_roles_permissions.md | 46 + manual/deploy_pro/cas.md | 35 + manual/deploy_pro/change_default_java.md | 25 + manual/deploy_pro/config_seafile_with_ADFS.md | 221 +++ manual/deploy_pro/deploy_clamav_as_daemon.md | 148 ++ manual/deploy_pro/deploy_in_a_cluster.md | 397 +++++ manual/deploy_pro/deploy_with_docker.md | 261 ++++ .../deploy_pro/details_about_file_search.md | 127 ++ ...d_and_setup_seafile_professional_server.md | 201 +++ ...earch_and_background_tasks_in_a_cluster.md | 341 +++++ manual/deploy_pro/ldap_group_sync.md | 148 ++ manual/deploy_pro/ldap_role_sync.md | 45 + .../deploy_pro/memcached_mariadb_cluster.md | 172 +++ manual/deploy_pro/migrate.md | 112 ++ .../migrate_from_seafile_community_server.md | 196 +++ manual/deploy_pro/migrate_to_ceph.md | 191 +++ manual/deploy_pro/multi_institutions.md | 40 + manual/deploy_pro/multi_tenancy.md | 27 + .../deploy_pro/multiple_storage_backends.md | 230 +++ manual/deploy_pro/office_documents_preview.md | 219 +++ manual/deploy_pro/office_web_app.md | 82 ++ manual/deploy_pro/real_time_backup.md | 184 +++ manual/deploy_pro/roles_permissions.md | 159 ++ manual/deploy_pro/seaf_encrypt.md | 91 ++ manual/deploy_pro/seaf_import.md | 30 + manual/deploy_pro/seafile-sql.md | 114 ++ ...onal_sdition_software_license_agreement.md | 54 + .../setup_seafile_cluster_with_nfs.md | 27 + manual/deploy_pro/setup_with_amazon_s3.md | 160 +++ manual/deploy_pro/setup_with_ceph.md | 166 +++ .../deploy_pro/setup_with_openstackswift.md | 163 +++ manual/deploy_pro/setup_with_swift.md | 105 ++ manual/deploy_pro/terms_and_conditions.md | 10 + .../deploy_pro/two_factor_authentication.md | 41 + manual/deploy_pro/upgrade_a_cluster.md | 204 +++ .../upgrading_seafile_professional_server.md | 3 + manual/deploy_pro/using_ldap_pro.md | 355 +++++ manual/deploy_pro/virus_scan.md | 66 + manual/deploy_pro/virus_scan_with_kav4fs.md | 85 ++ manual/deploy_pro/web_resumable_upload.md | 25 + manual/deploy_windows/deploy_with_windows.md | 3 + .../migrate_from_win_to_linux.md | 40 + manual/develop/README.md | 15 + manual/develop/data_model.md | 37 + manual/develop/env.md | 153 ++ manual/develop/python_api.md | 259 ++++ manual/develop/server-components.md | 25 + manual/develop/translation.md | 57 + manual/develop/web_api_v2.1.md | 9 + manual/docker/6.3 upgrade to 7.0.md | 139 ++ manual/docker/deploy seafile with docker.md | 235 +++ manual/docker/docker-compose.yml | 44 + .../docker/pro-edition/6.3 upgrade to 7.0.md | 174 +++ .../Deploy Seafile-pro with Docker.md | 285 ++++ .../Migrate CE to Pro with Docker.md | 53 + manual/docker/pro-edition/docker-compose.yml | 62 + manual/docker/upgrade/7.0_7.1.md | 3 + manual/extension/README.md | 3 + manual/extension/fuse.md | 104 ++ manual/extension/webdav.md | 378 +++++ manual/faq.md | 204 +++ manual/faq/README.md | 16 + manual/images/Create-seahub-admin.png | Bin 0 -> 88156 bytes manual/images/Server-setup-successfully.png | Bin 0 -> 33790 bytes manual/images/Server-setup.mysql.png | Bin 0 -> 70236 bytes manual/images/Server-setup.png | Bin 0 -> 84508 bytes manual/images/admin-audit-log.png | Bin 0 -> 209255 bytes .../auto-upload/image-1585712360351.png | Bin 0 -> 110136 bytes .../auto-upload/image-1585712416075.png | Bin 0 -> 306498 bytes .../auto-upload/image-1585712569569.png | Bin 0 -> 64858 bytes .../auto-upload/image-1585712631552.png | Bin 0 -> 189766 bytes manual/images/client-arch-new.png | Bin 0 -> 36622 bytes manual/images/client-arch.png | Bin 0 -> 24575 bytes manual/images/cluster-nodes.png | Bin 0 -> 11752 bytes manual/images/desktop-customization.png | Bin 0 -> 210893 bytes manual/images/elb-health-check.png | Bin 0 -> 14813 bytes manual/images/elb-listeners.png | Bin 0 -> 23351 bytes manual/images/libreoffice-online.png | Bin 0 -> 73204 bytes manual/images/mobile-arch.png | Bin 0 -> 23293 bytes manual/images/mobile-nginx-arch.png | Bin 0 -> 13044 bytes manual/images/mysql-create-new.png | Bin 0 -> 63246 bytes manual/images/mysql-use-existing.png | Bin 0 -> 55383 bytes manual/images/office-web-app.png | Bin 0 -> 54715 bytes manual/images/seafile-admin-1.png | Bin 0 -> 105865 bytes manual/images/seafile-admin-2.png | Bin 0 -> 85146 bytes manual/images/seafile-arch-new-http.png | Bin 0 -> 39952 bytes manual/images/seafile-cluster-arch.png | Bin 0 -> 67305 bytes manual/images/seafile-cluster.png | Bin 0 -> 39238 bytes manual/images/seafile-server-config.png | Bin 0 -> 49061 bytes manual/images/seafile-sync-arch.png | Bin 0 -> 25811 bytes manual/images/server-arch.png | Bin 0 -> 25084 bytes manual/images/system-admin-entrance.png | Bin 0 -> 17886 bytes manual/images/system-admin.png | Bin 0 -> 12372 bytes manual/images/tools-button.png | Bin 0 -> 3593 bytes manual/images/virus-scan.png | Bin 0 -> 47239 bytes manual/maintain/README.md | 47 + manual/maintain/account.md | 20 + manual/maintain/backup_recovery.md | 153 ++ manual/maintain/clean_database.md | 90 ++ manual/maintain/export_file_access_log.md | 11 + manual/maintain/export_report.md | 29 + manual/maintain/export_user_storage_report.md | 11 + manual/maintain/logs.md | 24 + manual/maintain/seafile_fsck.md | 130 ++ manual/maintain/seafile_gc.md | 204 +++ manual/media/favicon.ico | Bin 0 -> 4286 bytes manual/media/seafile-transparent-1024.png | Bin 0 -> 47392 bytes manual/overview/README.md | 8 + manual/overview/components.md | 14 + manual/overview/file_permission_management.md | 19 + manual/roadmap.md | 3 + manual/scripts/deploy-manual.sh | 27 + manual/scripts/deploy.sh | 27 + manual/scripts/key.txt.enc | Bin 0 -> 1680 bytes manual/scripts/requirements.txt | 1 + manual/security/README.md | 13 + manual/security/auditing.md | 22 + manual/security/fail2ban.md | 147 ++ manual/security/security_features.md | 54 + manual/upgrade/ce-7.0.md | 50 + manual/upgrade/image-1558745192334.png | Bin 0 -> 173735 bytes manual/upgrade/image-1558745374080.png | Bin 0 -> 52069 bytes manual/upgrade/pro-7.0.md | 289 ++++ manual/upgrade/upgrade.md | 178 +++ manual/upgrade/upgrade_notes_for_5.x.x.md | 35 + manual/upgrade/upgrade_notes_for_6.x.x.md | 58 + manual/upgrade/upgrade_notes_for_7.0.x.md | 12 + manual/upgrade/upgrade_notes_for_7.1.x.md | 201 +++ manual/upgrade/upgrade_notes_for_8.0.md | 14 + .../upgrade_with_mysql_or_postgresql.md | 167 +++ mkdocs.yml | 186 +++ 202 files changed, 23729 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/deploy.yml create mode 100644 .gitignore create mode 100644 LICENSE.txt create mode 100644 manual/README.md create mode 100644 manual/build_seafile/README.md create mode 100644 manual/build_seafile/freebsd.md create mode 100644 manual/build_seafile/linux.md create mode 100644 manual/build_seafile/osx.md create mode 100644 manual/build_seafile/rpi.md create mode 100644 manual/build_seafile/server.md create mode 100644 manual/changelog.md create mode 100644 manual/changelog/changelog-for-seafile-professional-server-old.md create mode 100644 manual/changelog/changelog-for-seafile-professional-server.md create mode 100644 manual/changelog/client-changelog.md create mode 100644 manual/changelog/drive-client-changelog.md create mode 100644 manual/changelog/server-changelog-old.md create mode 100644 manual/changelog/server-changelog.md create mode 100644 manual/client/client.md create mode 100644 manual/client/seafile_cli.md create mode 100644 manual/config/README.md create mode 100644 manual/config/ccnet-conf.md create mode 100644 manual/config/customize_email_notifications.md create mode 100644 manual/config/seafevents-conf.md create mode 100644 manual/config/seafile-conf.md create mode 100644 manual/config/seahub_customization.md create mode 100644 manual/config/seahub_settings_py.md create mode 100644 manual/config/sending_email.md create mode 100644 manual/contribution.md create mode 100644 manual/cover.jpg create mode 100644 manual/cover_small.jpg create mode 100644 manual/deploy/README.md create mode 100644 manual/deploy/add_memcached.md create mode 100644 manual/deploy/ce_ccnet_db.sql create mode 100644 manual/deploy/ce_seafile_db.sql create mode 100644 manual/deploy/common_problems_for_setting_up_server.md create mode 100644 manual/deploy/deploy_http_sync.md create mode 100644 manual/deploy/deploy_seafile_behind_nat.md create mode 100644 manual/deploy/deploy_seahub_at_non-root_domain.md create mode 100644 manual/deploy/deploy_with_apache.md create mode 100644 manual/deploy/deploy_with_docker.md create mode 100644 manual/deploy/deploy_with_nginx.md create mode 100644 manual/deploy/https_with_apache.md create mode 100644 manual/deploy/https_with_nginx.md create mode 100644 manual/deploy/kerberos_config.md create mode 100644 manual/deploy/libreoffice_online.md create mode 100644 manual/deploy/migrate_from_sqlite_to_mysql.md create mode 100644 manual/deploy/new_directory_layout_5_0_0.md create mode 100644 manual/deploy/oauth.md create mode 100644 manual/deploy/only_office.md create mode 100644 manual/deploy/remote_user.md create mode 100644 manual/deploy/server.md create mode 100644 manual/deploy/server_configuration.md create mode 100644 manual/deploy/shibboleth_config.md create mode 100644 manual/deploy/shibboleth_config_v6.3.md create mode 100644 manual/deploy/single_sign_on.md create mode 100644 manual/deploy/sqlite_to_mysql.sh create mode 100644 manual/deploy/start_seafile_at_system_bootup.md create mode 100644 manual/deploy/upgrade.md create mode 100644 manual/deploy/upgrade_notes.md create mode 100644 manual/deploy/upgrade_with_mysql_or_postgresql.md create mode 100644 manual/deploy/using_firewall.md create mode 100644 manual/deploy/using_fuse.md create mode 100644 manual/deploy/using_ldap.md create mode 100644 manual/deploy/using_logrotate.md create mode 100644 manual/deploy/using_mysql.md create mode 100644 manual/deploy/using_sqlite.md create mode 100644 manual/deploy/using_syslog.md create mode 100644 manual/deploy/video_thumbnails.md create mode 100644 manual/deploy_pro/README.md create mode 100644 manual/deploy_pro/adfs.md create mode 100644 manual/deploy_pro/admin_roles_permissions.md create mode 100644 manual/deploy_pro/cas.md create mode 100644 manual/deploy_pro/change_default_java.md create mode 100644 manual/deploy_pro/config_seafile_with_ADFS.md create mode 100644 manual/deploy_pro/deploy_clamav_as_daemon.md create mode 100644 manual/deploy_pro/deploy_in_a_cluster.md create mode 100644 manual/deploy_pro/deploy_with_docker.md create mode 100644 manual/deploy_pro/details_about_file_search.md create mode 100644 manual/deploy_pro/download_and_setup_seafile_professional_server.md create mode 100644 manual/deploy_pro/enable_search_and_background_tasks_in_a_cluster.md create mode 100644 manual/deploy_pro/ldap_group_sync.md create mode 100644 manual/deploy_pro/ldap_role_sync.md create mode 100644 manual/deploy_pro/memcached_mariadb_cluster.md create mode 100644 manual/deploy_pro/migrate.md create mode 100644 manual/deploy_pro/migrate_from_seafile_community_server.md create mode 100644 manual/deploy_pro/migrate_to_ceph.md create mode 100644 manual/deploy_pro/multi_institutions.md create mode 100644 manual/deploy_pro/multi_tenancy.md create mode 100644 manual/deploy_pro/multiple_storage_backends.md create mode 100644 manual/deploy_pro/office_documents_preview.md create mode 100644 manual/deploy_pro/office_web_app.md create mode 100644 manual/deploy_pro/real_time_backup.md create mode 100644 manual/deploy_pro/roles_permissions.md create mode 100644 manual/deploy_pro/seaf_encrypt.md create mode 100644 manual/deploy_pro/seaf_import.md create mode 100644 manual/deploy_pro/seafile-sql.md create mode 100644 manual/deploy_pro/seafile_professional_sdition_software_license_agreement.md create mode 100644 manual/deploy_pro/setup_seafile_cluster_with_nfs.md create mode 100644 manual/deploy_pro/setup_with_amazon_s3.md create mode 100644 manual/deploy_pro/setup_with_ceph.md create mode 100644 manual/deploy_pro/setup_with_openstackswift.md create mode 100644 manual/deploy_pro/setup_with_swift.md create mode 100644 manual/deploy_pro/terms_and_conditions.md create mode 100644 manual/deploy_pro/two_factor_authentication.md create mode 100644 manual/deploy_pro/upgrade_a_cluster.md create mode 100644 manual/deploy_pro/upgrading_seafile_professional_server.md create mode 100644 manual/deploy_pro/using_ldap_pro.md create mode 100644 manual/deploy_pro/virus_scan.md create mode 100644 manual/deploy_pro/virus_scan_with_kav4fs.md create mode 100644 manual/deploy_pro/web_resumable_upload.md create mode 100644 manual/deploy_windows/deploy_with_windows.md create mode 100644 manual/deploy_windows/migrate_from_win_to_linux.md create mode 100644 manual/develop/README.md create mode 100644 manual/develop/data_model.md create mode 100644 manual/develop/env.md create mode 100644 manual/develop/python_api.md create mode 100644 manual/develop/server-components.md create mode 100644 manual/develop/translation.md create mode 100644 manual/develop/web_api_v2.1.md create mode 100644 manual/docker/6.3 upgrade to 7.0.md create mode 100644 manual/docker/deploy seafile with docker.md create mode 100644 manual/docker/docker-compose.yml create mode 100644 manual/docker/pro-edition/6.3 upgrade to 7.0.md create mode 100644 manual/docker/pro-edition/Deploy Seafile-pro with Docker.md create mode 100644 manual/docker/pro-edition/Migrate CE to Pro with Docker.md create mode 100644 manual/docker/pro-edition/docker-compose.yml create mode 100644 manual/docker/upgrade/7.0_7.1.md create mode 100644 manual/extension/README.md create mode 100644 manual/extension/fuse.md create mode 100644 manual/extension/webdav.md create mode 100644 manual/faq.md create mode 100644 manual/faq/README.md create mode 100644 manual/images/Create-seahub-admin.png create mode 100644 manual/images/Server-setup-successfully.png create mode 100644 manual/images/Server-setup.mysql.png create mode 100644 manual/images/Server-setup.png create mode 100644 manual/images/admin-audit-log.png create mode 100644 manual/images/auto-upload/image-1585712360351.png create mode 100644 manual/images/auto-upload/image-1585712416075.png create mode 100644 manual/images/auto-upload/image-1585712569569.png create mode 100644 manual/images/auto-upload/image-1585712631552.png create mode 100644 manual/images/client-arch-new.png create mode 100644 manual/images/client-arch.png create mode 100644 manual/images/cluster-nodes.png create mode 100644 manual/images/desktop-customization.png create mode 100644 manual/images/elb-health-check.png create mode 100644 manual/images/elb-listeners.png create mode 100644 manual/images/libreoffice-online.png create mode 100644 manual/images/mobile-arch.png create mode 100644 manual/images/mobile-nginx-arch.png create mode 100644 manual/images/mysql-create-new.png create mode 100644 manual/images/mysql-use-existing.png create mode 100644 manual/images/office-web-app.png create mode 100644 manual/images/seafile-admin-1.png create mode 100644 manual/images/seafile-admin-2.png create mode 100644 manual/images/seafile-arch-new-http.png create mode 100644 manual/images/seafile-cluster-arch.png create mode 100644 manual/images/seafile-cluster.png create mode 100644 manual/images/seafile-server-config.png create mode 100644 manual/images/seafile-sync-arch.png create mode 100644 manual/images/server-arch.png create mode 100644 manual/images/system-admin-entrance.png create mode 100644 manual/images/system-admin.png create mode 100644 manual/images/tools-button.png create mode 100644 manual/images/virus-scan.png create mode 100644 manual/maintain/README.md create mode 100644 manual/maintain/account.md create mode 100644 manual/maintain/backup_recovery.md create mode 100644 manual/maintain/clean_database.md create mode 100644 manual/maintain/export_file_access_log.md create mode 100644 manual/maintain/export_report.md create mode 100644 manual/maintain/export_user_storage_report.md create mode 100644 manual/maintain/logs.md create mode 100644 manual/maintain/seafile_fsck.md create mode 100644 manual/maintain/seafile_gc.md create mode 100644 manual/media/favicon.ico create mode 100644 manual/media/seafile-transparent-1024.png create mode 100644 manual/overview/README.md create mode 100644 manual/overview/components.md create mode 100644 manual/overview/file_permission_management.md create mode 100644 manual/roadmap.md create mode 100644 manual/scripts/deploy-manual.sh create mode 100644 manual/scripts/deploy.sh create mode 100644 manual/scripts/key.txt.enc create mode 100644 manual/scripts/requirements.txt create mode 100644 manual/security/README.md create mode 100644 manual/security/auditing.md create mode 100644 manual/security/fail2ban.md create mode 100644 manual/security/security_features.md create mode 100644 manual/upgrade/ce-7.0.md create mode 100644 manual/upgrade/image-1558745192334.png create mode 100644 manual/upgrade/image-1558745374080.png create mode 100644 manual/upgrade/pro-7.0.md create mode 100644 manual/upgrade/upgrade.md create mode 100644 manual/upgrade/upgrade_notes_for_5.x.x.md create mode 100644 manual/upgrade/upgrade_notes_for_6.x.x.md create mode 100644 manual/upgrade/upgrade_notes_for_7.0.x.md create mode 100644 manual/upgrade/upgrade_notes_for_7.1.x.md create mode 100644 manual/upgrade/upgrade_notes_for_8.0.md create mode 100644 manual/upgrade/upgrade_with_mysql_or_postgresql.md create mode 100644 mkdocs.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..e728aa48 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,16 @@ +name: Deploy CI + +on: + [pull_request, push] + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.x + - run: pip install mkdocs-material mkdocs-awesome-pages-plugin mkdocs-material-extensions + - run: cd $GITHUB_WORKSPACE + - run: mkdocs gh-deploy --force diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..b25c15b8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 00000000..3776cc67 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,13 @@ +Copyright (c) 2016 Seafile Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/README.md b/README.md index 0dc00000..e9592dc5 100644 --- a/README.md +++ b/README.md @@ -1 +1,5 @@ -# seafile-admin-docs \ No newline at end of file +# Seafile Admin Docs + +Manual for Seafile server + +The web site: https://haiwen.github.io/seafile-admin-docs/ diff --git a/manual/README.md b/manual/README.md new file mode 100644 index 00000000..fe66becb --- /dev/null +++ b/manual/README.md @@ -0,0 +1,22 @@ +# Introduction + +Seafile is an open source cloud storage system with file encryption and group sharing. + +Collections of files are called libraries, and each library can be synced separately. A library can be encrypted with a user chosen password. This password is not stored on the server, so even the server admin cannot view a file's contents. + +Seafile allows users to create groups with file syncing, a wiki and discussions to enable easy collaboration around documents within a team. + +## LICENSE + +The different components of Seafile project are released under different licenses: + +* Seafile iOS client: Apache License v2 +* Seafile Android client: GPLv3 +* Desktop syncing client: GPLv2 +* Seafile Server core: AGPLv3 +* Seahub (Seafile server Web UI): Apache License v2 + +## Contact information + +* Twitter: @seafile +* Forum: diff --git a/manual/build_seafile/README.md b/manual/build_seafile/README.md new file mode 100644 index 00000000..027e53df --- /dev/null +++ b/manual/build_seafile/README.md @@ -0,0 +1,12 @@ +# How to Build Seafile + +You can build Seafile from our source code package or from the Github repo directly. + +Client + +* [Linux](linux.md) +* [Max OS X](osx.md) + +Server + +* [Build Seafile server](server.md) diff --git a/manual/build_seafile/freebsd.md b/manual/build_seafile/freebsd.md new file mode 100644 index 00000000..01e2ac9d --- /dev/null +++ b/manual/build_seafile/freebsd.md @@ -0,0 +1,156 @@ +# FreeBSD + +#### Preparation + +**support for FreeBSD** is still under construction. + +The following list is what you need to install on your development machine. **You should install all of them before you build seafile**. + +Package names are according to FreeBSD Ports. You might install your ports +manually or via `pkgng`. + +* devel/autoconf +* devel/automake +* textproc/intltool +* textproc/gsed +* devel/libtool +* devel/libevent2 +* ftp/curl +* devel/glib20 +* misc/ossp-uuid +* databases/sqlite3 +* devel/jansson +* lang/vala +* devel/cmake +* archivers/libarchive +* devel/py-simplejson (removed in furture release) + +GUI + +* devel/qt4 + +```bash +#portmaster devel/autoconf devel/automake textproc/intltool textproc/gsed \ +devel/libtool devel/libevent2 ftp/curl devel/glib20 misc/ossp-uuid databases/sqlite3 \ +devel/jansson lang/vala devel/cmake devel/py-simplejson archivers/libarchive + +``` + +For a fresh PkgNG users, + +```bash +#pkg install autoconf automake intltool gsed libtool libevent2 curl \ + glib20 ossp-uuid sqlite3 jansson vala cmake py-simplejson libarchive + +``` + +#### Building + +First you should get the latest source of libsearpc/ccnet/seafile/seafile-client: + +Download the source tarball of the latest tag from + +* (use v3.0-latest) +* +* +* + +For example, if the latest released seafile client is 3.1.0, then just use the **v3.1.0** tags of the four projects. You should get four tarballs: + +* libsearpc-v3.0-latest.tar.gz +* ccnet-3.1.0.tar.gz +* seafile-3.1.0.tar.gz +* seafile-client-3.1.0.tar.gz + +```sh +export version=3.1.0 +alias wget='wget --content-disposition -nc' +wget https://github.com/haiwen/libsearpc/archive/v3.0-latest.tar.gz +wget https://github.com/haiwen/ccnet/archive/v${version}.tar.gz +wget https://github.com/haiwen/seafile/archive/v${version}.tar.gz +wget https://github.com/haiwen/seafile-client/archive/v${version}.tar.gz + +``` + +Now uncompress them: + +```sh +tar xf libsearpc-v3.0-latest.tar.gz +tar xf ccnet-${version}.tar.gz +tar xf seafile-${version}.tar.gz +tar xf seafile-client-${version}.tar.gz + +``` + +To build Seafile client, you need first build **libsearpc** and **ccnet**, **seafile**. + +##### set paths + +```bash +ln -sfh ../libdata/pkgconfig /usr/local/lib/pkgconfig + +``` + +##### libsearpc + +```bash +cd libsearpc-${version} +./autogen.sh +./configure --prefix=$PREFIX +make +sudo make install + +``` + +##### ccnet + +```bash +export CFLAGS="-I/usr/local/include/ossp/uuid -I/usr/local/include/event2" +export LDFLAGS="-L/usr/local/lib -L/usr/local/lib/event2" +cd ccnet-${version} +./autogen.sh +./configure --prefix=$PREFIX +make +sudo make install + +``` + +##### seafile + +```bash +cd seafile-${version}/ +./autogen.sh +./configure --prefix=$PREFIX +make +sudo make install + +``` + +#### seafile-client + +```bash +cd seafile-client-${version} +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PREFIX . +make +sudo make install + +``` + +#### custom prefix + +when installing to a custom `$PREFIX`, i.e. `/opt`, you may need a script to set the path variables correctly + +```bash +cat >$PREFIX/bin/seafile-applet.sh <$PREFIX/bin/seaf-cli.sh < (use v3.1-latest) +* (NOTE: from 6.2 version on, ccnet is no longer needed) +* +* + +For example, if the latest released seafile client is 5.0.7, then just use the **v5.0.7** tags of the four projects. You should get four tarballs: + +* libsearpc-v3.0-latest.tar.gz +* ccnet-5.0.7.tar.gz (NOTE: from 6.2 version on, ccnet is no longer needed) +* seafile-5.0.7.tar.gz +* seafile-client-5.0.7.tar.gz + +```sh +# without alias wget= might not work +shopt -s expand_aliases + +export version=5.0.7 +alias wget='wget --content-disposition -nc' +wget https://github.com/haiwen/libsearpc/archive/v3.0-latest.tar.gz +# NOTE: from 6.2 version on, ccnet is no longer needed +wget https://github.com/haiwen/ccnet/archive/v${version}.tar.gz +wget https://github.com/haiwen/seafile/archive/v${version}.tar.gz +wget https://github.com/haiwen/seafile-client/archive/v${version}.tar.gz + +``` + +Now uncompress them: + +```sh +tar xf libsearpc-3.0-latest.tar.gz +# NOTE: from 6.2 version on, ccnet is no longer needed +tar xf ccnet-${version}.tar.gz +tar xf seafile-${version}.tar.gz +tar xf seafile-client-${version}.tar.gz + +``` + +To build Seafile client, you need first build **libsearpc** and **ccnet**, **seafile**. + +##### set paths + +```bash +export PREFIX=/usr +export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH" +export PATH="$PREFIX/bin:$PATH" + +``` + +##### libsearpc + +```bash +cd libsearpc-3.0-latest +./autogen.sh +./configure --prefix=$PREFIX +make +sudo make install +cd .. + +``` + +##### ccnet + +NOTE: from 6.2 version on, ccnet is no longer needed + +```bash +cd ccnet-${version} +./autogen.sh +./configure --prefix=$PREFIX +make +sudo make install +cd .. + +``` + +##### seafile + +```bash +cd seafile-${version}/ +./autogen.sh +./configure --prefix=$PREFIX --disable-fuse +make +sudo make install +cd .. + +``` + +#### seafile-client + +```bash +cd seafile-client-${version} +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PREFIX . +make +sudo make install +cd .. + +``` + +#### custom prefix + +when installing to a custom `$PREFIX`, i.e. `/opt`, you may need a script to set the path variables correctly + +```bash +cat >$PREFIX/bin/seafile-applet.sh <$PREFIX/bin/seaf-cli.sh < +* Double click the downloaded dmg file to start the installer, and install it to its default location. + +## Install Macports + +\###Setup macports environment + +1. Install xcode + +* Download Xcode from [website](https://developer.apple.com/xcode/downloads/) or + [App Store](http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12) + +1. Install macports + +* Quick start + +> visit for more + +1. Install following libraries and tools using `port` + + ``` + sudo port install autoconf automake pkgconfig libtool glib2 \ + libevent vala openssl git jansson cmake + + ``` + +2. Install python + + ``` + sudo port install python27 + sudo port select --set python python27 + + sudo port install py27-pip + sudo port select --set pip pip27 + + ``` + +3. Set pkg config environment + + ``` + export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:/usr/local/lib/pkgconfig + export LIBTOOL=glibtool + export LIBTOOLIZE=glibtoolize + export CPPFLAGS="-I/opt/local/include" + export LDFLAGS="-L/opt/local/lib -L/usr/local/lib -Wl,-headerpad_max_install_names" + + QT_BASE=$HOME/Qt5.6.2/5.6/clang_64 + export PATH=$QT_BASE/bin:$PATH + export PKG_CONFIG_PATH=$QT_BASE/lib/pkgconfig:$PKG_CONFIG_PATH + + ``` + +## Compiling libsearpc + +Download [libsearpc](https://github.com/haiwen/libsearpc), then: + +``` + ./autogen.sh + ./configure + make + sudo make install + +``` + +## Compiling ccnet + +Download [ccnet](https://github.com/haiwen/ccnet), then: + +``` + ./autogen.sh + ./configure + make + sudo make install + +``` + +## Compiling seafile + +1. Download [seafile](https://github.com/haiwen/seafile) +2. Compile + + ``` + ./autogen.sh + ./configure + make + sudo make install + + ``` + +## Compiling seafile-client + +1. Download [seafile-client](https://github.com/haiwen/seafile-client) +2. Compile + + ``` + cmake . + make + + ``` + +3. Run the seafile client executable + + ``` + ./seafile-applet + + ``` diff --git a/manual/build_seafile/rpi.md b/manual/build_seafile/rpi.md new file mode 100644 index 00000000..5eeb19a6 --- /dev/null +++ b/manual/build_seafile/rpi.md @@ -0,0 +1,259 @@ +# How to Build Seafile Server Release Package for Raspberry Pi + +_Table of contents_: + +* [Setup the build environment](#wiki-setup-build-env) + * [Install packages](#wiki-install-packages) + * [Compile development libraries](#wiki-compile-dev-libs) + * [Install Python libraries](#wiki-install-python-libs) +* [Prepare source code](#wiki-prepare-seafile-source-code) + * [Fetch git tags and prepare source tarballs](#wiki-fetch-tags-and-prepare-tarballs) + * [Run the packaging script](#wiki-run-pkg-script) +* [Test the built package](#wiki-test-built-pkg) + * [Test a fresh install](#wiki-test-fresh-install) + * [Test upgrading](#wiki-test-upgrading) + +## Setup the build environment + +Requirements: + +* A raspberry pi with raspian distribution installed. + +### Install packages + +``` +sudo apt-get install build-essential +sudo apt-get install libevent-dev libcurl4-openssl-dev libglib2.0-dev uuid-dev intltool libsqlite3-dev libmysqlclient-dev libarchive-dev libtool libjansson-dev valac libfuse-dev re2c flex python-setuptools cmake + +``` + +### Compile development libraries + +#### libevhtp + +libevhtp is a http server libary on top of libevent. It's used in seafile file server. + +``` +git clone https://www.github.com/haiwen/libevhtp.git +cd libevhtp +cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF . +make +sudo make install + +``` + +After compiling all the libraries, run `ldconfig` to update the system libraries cache: + +``` +sudo ldconfig + +``` + +### Install python libraries + +Create a new directory `/home/pi/dev/seahub_thirdpart`: + +``` +mkdir -p ~/dev/seahub_thirdpart + +``` + +Download these tarballs to `/tmp/`: + +* [pytz](https://pypi.python.org/packages/source/p/pytz/pytz-2016.1.tar.gz) +* [Django](https://www.djangoproject.com/m/releases/1.8/Django-1.8.18.tar.gz) +* [django-statici18n](https://pypi.python.org/packages/source/d/django-statici18n/django-statici18n-1.1.3.tar.gz) +* [djangorestframework](https://pypi.python.org/packages/source/d/djangorestframework/djangorestframework-3.3.2.tar.gz) +* [django_compressor](https://pypi.python.org/packages/source/d/django_compressor/django_compressor-1.4.tar.gz) +* [jsonfield](https://pypi.python.org/packages/source/j/jsonfield/jsonfield-1.0.3.tar.gz) +* [django-post_office](https://pypi.python.org/packages/source/d/django-post_office/django-post_office-2.0.6.tar.gz) +* [gunicorn](http://pypi.python.org/packages/source/g/gunicorn/gunicorn-19.4.5.tar.gz) +* [flup](http://pypi.python.org/packages/source/f/flup/flup-1.0.2.tar.gz) +* [chardet](https://pypi.python.org/packages/source/c/chardet/chardet-2.3.0.tar.gz) +* [python-dateutil](https://labix.org/download/python-dateutil/python-dateutil-1.5.tar.gz) +* [six](https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz) +* [django-picklefield](https://pypi.python.org/packages/source/d/django-picklefield/django-picklefield-0.3.2.tar.gz) +* [django-constance](https://github.com/haiwen/django-constance/archive/bde7f7c.zip) +* [jdcal](https://pypi.python.org/packages/source/j/jdcal/jdcal-1.2.tar.gz) +* [et_xmlfile](https://pypi.python.org/packages/source/e/et_xmlfile/et_xmlfile-1.0.1.tar.gz) +* [openpyxl](https://pypi.python.org/packages/source/o/openpyxl/openpyxl-2.3.0.tar.gz) +* [futures](https://pypi.python.org/packages/cc/26/b61e3a4eb50653e8a7339d84eeaa46d1e93b92951978873c220ae64d0733/futures-3.1.1.tar.gz) +* [django-formtools](https://pypi.python.org/packages/a8/07/947dfe63dff1f2be5f84eb7f0ff5f712bb1dc730a6499b0aa0be5c8f194e/django-formtools-2.0.tar.gz) +* [qrcode](https://pypi.python.org/packages/87/16/99038537dc58c87b136779c0e06d46887ff5104eb8c64989aac1ec8cba81/qrcode-5.3.tar.gz) + +Install all these libaries to `/home/pi/dev/seahub_thirdpart`: + +``` +cd ~/dev/seahub_thirdpart +export PYTHONPATH=. +easy_install -d . /tmp/pytz-2016.1.tar.gz +easy_install -d . /tmp/Django-1.8.10.tar.gz +easy_install -d . /tmp/django-statici18n-1.1.3.tar.gz +easy_install -d . /tmp/djangorestframework-3.3.2.tar.gz +easy_install -d . /tmp/django_compressor-1.4.tar.gz +easy_install -d . /tmp/jsonfield-1.0.3.tar.gz +easy_install -d . /tmp/django-post_office-2.0.6.tar.gz +easy_install -d . /tmp/gunicorn-19.4.5.tar.gz +easy_install -d . /tmp/flup-1.0.2.tar.gz +easy_install -d . /tmp/chardet-2.3.0.tar.gz +easy_install -d . /tmp/python-dateutil-1.5.tar.gz +easy_install -d . /tmp/six-1.9.0.tar.gz +easy_install -d . /tmp/django-picklefield-0.3.2.tar.gz +wget -O /tmp/django_constance.zip https://github.com/haiwen/django-constance/archive/bde7f7c.zip +easy_install -d . /tmp/django_constance.zip +easy_install -d . /tmp/jdcal-1.2.tar.gz +easy_install -d . /tmp/et_xmlfile-1.0.1.tar.gz +easy_install -d . /tmp/openpyxl-2.3.0.tar.gz + +``` + +## Prepare seafile source code + +To build seafile server, there are four sub projects involved: + +* [libsearpc](https://github.com/haiwen/libsearpc) +* [ccnet-server](https://github.com/haiwen/ccnet-server) +* [seafile-server](https://github.com/haiwen/seafile-server) +* [seahub](https://github.com/haiwen/seahub) + +The build process has two steps: + +* First, fetch the tags of each projects, and make a soruce tarball for each of them. +* Then run a `build-server.py` script to build the server package from the source tarballs. + +### Fetch git tags and prepare source tarballs + +Seafile manages the releases in tags on github. + +Assume we are packaging for seafile server 6.0.1, then the tags are: + +* ccnet-server, seafile-server, and seahub would all have a `v6.0.1-sever` tag. +* libsearpc would have the `v3.0-latest` tag (libsearpc has been quite stable and basically has no further development, so the tag is always `v3.0-latest`) + +First setup the `PKG_CONFIG_PATH` enviroment variable (So we don't need to make and make install libsearpc/ccnet/seafile into the system): + +``` +export PKG_CONFIG_PATH=/home/pi/dev/seafile/lib:$PKG_CONFIG_PATH +export PKG_CONFIG_PATH=/home/pi/dev/libsearpc:$PKG_CONFIG_PATH +export PKG_CONFIG_PATH=/home/pi/dev/ccnet:$PKG_CONFIG_PATH + +``` + +### libsearpc + +``` +cd ~/dev +git clone https://github.com/haiwen/libsearpc.git +cd libsearpc +git reset --hard v3.0-latest +./autogen.sh +./configure +make dist + +``` + +### ccnet + +``` +cd ~/dev +git clone https://github.com/haiwen/ccnet-server.git +cd ccnet +git reset --hard v6.0.1-server +./autogen.sh +./configure +make dist + +``` + +### seafile + +``` +cd ~/dev +git clone https://github.com/haiwen/seafile-server.git +cd seafile +git reset --hard v6.0.1-server +./autogen.sh +./configure +make dist + +``` + +### seahub + +``` +cd ~/dev +git clone https://github.com/haiwen/seahub.git +cd seahub +git reset --hard v6.0.1-server +./tools/gen-tarball.py --version=6.0.1 --branch=HEAD + +``` + +### seafobj + +``` +cd ~/dev +git clone https://github.com/haiwen/seafobj.git +cd seafobj +git reset --hard v6.0.1-server +make dist + +``` + +### seafdav + +``` +cd ~/dev +git clone https://github.com/haiwen/seafdav.git +cd seafdav +git reset --hard v6.0.1-server +make + +``` + +### Copy the source tar balls to the same folder + +``` +mkdir ~/seafile-sources +cp ~/dev/libsearpc/libsearpc--tar.gz ~/seafile-sources +cp ~/dev/ccnet/ccnet--tar.gz ~/seafile-sources +cp ~/dev/seafile/seafile--tar.gz ~/seafile-sources +cp ~/dev/seahub/seahub--tar.gz ~/seafile-sources + +cp ~/dev/seafobj/seafobj.tar.gz ~/seafile-sources +cp ~/dev/seafdav/seafdav.tar.gz ~/seafile-sources + +``` + +### Run the packaging script + +Now we have all the tarballs prepared, we can run the `build-server.py` script to build the server package. + +``` +mkdir ~/seafile-server-pkgs +~/dev/seafile/scripts/build-server.py --libsearpc_version= --ccnet_version= --seafile_version= --seahub_version= --srcdir= --thirdpartdir=/home/pi/dev/seahub_thirdpart --srcdir=/home/pi/seafile-sources --outputdir=/home/pi/seafile-server-pkgs + +``` + +After the script finisheds, we would get a `seafile-server_6.0.1_pi.tar.gz` in `~/seafile-server-pkgs` folder. + +## Test the built package + +### Test a fresh install + +Use the built seafile server package to go over the steps of [Deploying Seafile with SQLite](http://manual.seafile.com/deploy/using_sqlite.html). + +The test should cover these steps at least: + +* The setup process is ok +* After `seafile.sh start` and `seahub.sh start`, you can login from a browser. +* Uploading/Downloading files through a web browser works correctly. +* Seafile [WebDAV](http://manual.seafile.com/extension/webdav.html) server works correctly + +### Test upgrading from a previous version + +* Download the package of the previous version seafile server, and setup it. +* Upgrading according to [the manual](http://manual.seafile.com/deploy/upgrade.html) +* After the upgrade, check the functionality is ok: + * Uploading/Downloading files through a web browser works correctly. + * Seafile [WebDAV](http://manual.seafile.com/extension/webdav.html) server works correctly diff --git a/manual/build_seafile/server.md b/manual/build_seafile/server.md new file mode 100644 index 00000000..fa6ff610 --- /dev/null +++ b/manual/build_seafile/server.md @@ -0,0 +1,393 @@ +# Server + +## Preparation + +The following list is all the libraries you need to install on your machine. **You should install all of them before you build seafile**. + +Package names are according to Ubuntu 12.04. For other Linux distros, please find their corresponding names yourself. + +* libevent-dev (2.0 or later ) +* libcurl4-openssl-dev (1.0.0 or later) +* libglib2.0-dev (2.28 or later) +* uuid-dev +* intltool (0.40 or later) +* libsqlite3-dev (3.8 or later) +* libmysqlclient-dev (5.5 or later) +* libarchive-dev +* libtool +* libjansson-dev +* valac +* libfuse-dev + +Also, python 2.7 is required since seafile server 5.1.0. + +The following libraries need to be compiled from source. + +### Notes about MySQL client library + +You can also use MariaDB's LGPL Connector/C library. Download the latest stable version of the library on then compile and install the library. + +``` +cmake . +make +sudo make install + +``` + +By default the library will be installed under `/usr/local/lib/mariadb`. Add this path to your `LD_LIBRARY_PATH` environment variable so the loader can find this library. + +``` +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/mariadb + +``` + +### libevhtp + +* Download [libevhtp](https://github.com/ellzey/libevhtp/archive/1.1.6.tar.gz). +* Build libevhtp by: + + +``` +cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF . +make +sudo make install + +``` + +### Seahub dependencies + +**Seahub** is the web front end of Seafile. It's written in the [django](http://djangoproject.com) framework. Seahub requires Python 2.6(or 2.7) installed on your server, and it needs the following python libraries: + +* Django 1.8 +* pytz +* django-statici18n +* djangorestframework +* django_compressor +* django-post_office +* [django-constance](https://github.com/haiwen/django-constance/) (install it by `pip install https://github.com/haiwen/django-constance/archive/bde7f7c.zip`) +* gunicorn +* flup +* chardet +* python-dateutil +* six +* openpyxl + +Before continue, make sure you have all the above libraries available in your system. + +### Prepare the directory layout + +In the following sections, you'll be guided to build and setup the seafile server step by step. Seafile server is consisted of several components. In order for them to function correctly, you must: + +* Follow our instructions step by step +* Make sure your directory layout is exactly the same with the guide in each step. + +First create the top level directory. In the following sections, we'll use "/data/haiwen" as the top level directory. + +``` +mkdir /data/haiwen/ +cd /data/haiwen/ +mkdir seafile-server +cd seafile-server + +``` + +The currently layout is: + +``` +haiwen/ +└── seafile-server + +``` + +### Get the source + +First you should get the latest source of libsearpc/ccnet-server/seafile-server/seahub + +Download the source tarball of the latest tag from + +* +* +* +* + +For example, if the latest released seafile server is 6.0.1, then just use the **v6.0.1-server** tags of the projects (except for libsearpc, which uses the **v3.0-latest** tag). You should get four tarballs: + +* libsearpc-3.0-latest.tar.gz +* ccnet-server-6.0.1-server.tar.gz +* seafile-server-6.0.1-server.tar.gz +* seahub-6.0.1-server.tar.gz + +Create a folder `haiwen/src`, and uncompress libsearpc/ccnet/seafile source to it. + +``` +cd haiwen/seafile-server +mkdir src +cd src +tar xf /path/to/libsearpc-3.0-latest.tar.gz +tar xf /path/to/ccnet-server-6.0.1-server.tar.gz +tar xf /path/to/seafile-server-6.0.1-server.tar.gz + +``` + +And uncompress seahub tarball to `haiwen/seafile-server`: + +``` +cd haiwen/seafile-server +tar xf /path/to/seahub-6.0.1-server.tar.gz +mv seahub-6.0.1-server seahub + +``` + +So far, The current directory layout is: + +``` +haiwen/ +└── seafile-server + └── seahub + └── src + ├── libsearpc-6.0.1-server + ├── ccnet-server-6.0.1-server + ├── seafile-server-6.0.1-server + ├── ... (other files) + +``` + +### Building + +To build seafile server, you need first build **libsearpc** and **ccnet-server**. + +##### libsearpc + +``` +cd libsearpc-${version} +./autogen.sh +./configure +make +make install + +``` + +##### ccnet-server + +``` +cd ccnet-server-${version} +./autogen.sh +./configure # `export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig` if libsearpc is not found +make +make install + +``` + +By default, `configure` tries to find MySQL and Postgresql client libraries in the system. If you do not want to support MySQL or Postgresql, use the following configure options: + +``` +./configure --without-mysql --without-postgresql + +``` + +If you want to use MariaDB Connector/C library, use the following configure option: + +``` +./configure --with-mysql=/usr/local/bin/mariadb_config + +``` + +##### seafile-server + +``` +cd seafile-${version} +./autogen.sh +./configure +make +make install + +``` + +You can use the same options as ccnet-server to configure MySQL and Postgresql client libraries. + +_Note_: You need to run `sudo ldconfig` to refresh the system libraries cache after you compiles all the components. + +## Deploy Seafile Server + +### Components of the Seafile Server + +The seafile server consists of the following components: + +![server architecture](../images/server-arch.png "server architecture") + +* **ccnet** stores its configuration and metadata is a directory named `ccnet`. +* **seaf-server** store its configuration and data in a directory, normally named `seafile-data`. +* **seahub** is written in Django. If you have any experience with Django, you should know the `syncdb` command must be run to create all the database tables. +* An **admin account** has to be created, so that you, the admin, can login with this account to manage the server. + +These are the essential steps to create the configuration: + +* ensure seafile is already installed and all the python libraries seahub needs are installed. +* create the ccnet configuration with the **ccnet-init** program +* create the seafile configuration with **seaf-server-init** program +* run Django **syncdb** command for seahub +* create an admin account for the seafile server + +To create the configurations, you can either: + +* use the seafile-admin script(see below) +* \[\[create server configuration by hand]] + +### Create Configurations with the seafile-admin script + +`seafile-admin` should have been installed to system path after you have built and installed Seafile from source. + +``` +usage: seafile-admin [-h] {setup,start,stop,reset-admin} ... + +optional arguments: + -h, --help show this help message and exit + +subcommands: + + {setup,start,stop,reset-admin} + setup setup the seafile server + start start the seafile server + stop stop the seafile server + reset-admin reset seafile admin account + +``` + +Go to the top level directory(in this guide it's **/data/haiwen/**), and run **seafile-admin setup** to create all the configuration: + +``` +cd /data/haiwen +export PYTHONPATH=/data/haiwen/seafile-server/seahub/thirdpart +seafile-admin setup + +``` + +The script would ask you a series of questions, and create all the configuration for you. + +This is a screenshot of the **seafile-admin setup** command: +![admin setup running](../images/seafile-admin-1.png) + +And a screenshot after setup is finished successfully: +![admin setup finished](../images/seafile-admin-2.png) + +At this time, the directory layout would be like this: + +``` +haiwen/ +└── ccnet # ccnet config directory + └── ccnet.conf # ccnet config file +└── seafile-data # seafile configuration and data + └── seafile.conf # seafile config file +└── seahub-data/ # seahub data +└── seahub.db # seahub sqlite3 database +└── seahub_settings.py # custom settings for seahub +└── seafile-server + └── seahub/ + └── seafile-{VERSION} # seafile source code + +``` + +### Start the Seafile Server + +After configuration successfully created, run **seafile-admin start** in the top directory to start the all components of Seafile. ( **You should always run the seafile-admin script in the top directory** ). + +``` +cd /data/haiwen # go to the top level directory +seafile-admin start + +``` + +At this moment, all the components should be running and seahub can be visited at + +**Note** You may want to deploy seahub with nginx or apache. In this case, follow the instructions on Deploy Seafile Web With [Nginx](../deploy/deploy_with_nginx.md)/[Apache](../deploy/deploy_with_apache.md). + +### Stop the Seafile Server + +To stop seafile server, run **seafile-admin stop**. + +``` +cd /data/haiwen # go to the top level directory +seafile-admin stop + +``` + +## Upgrade the Seafile Server + +When you want to upgrade to a new vesrion of seafile server, you need to: + +* Stop the seafile server if it's running + + +``` +cd /data/haiwen +seafile-admin stop + +``` + +* Get and latest source code and build libsearpc/ccnet/seafile, just as what you do in a fresh setup. +* Run the upgrade script. The upgrade script mainly updates database used by seafile for you. For example, create a new database table that is used in the latest seafile server but not in the previous version. + +### Get and compile the latest libsearpc/ccnet/seafile + +See the **Building** section above. + +### Get the new seahub tarball and uncompress it + +``` +cd haiwen/seafile-server +mv seahub/ seahub-old # move away the old seahub folder +tar xf /path/to/new/seahub-x.x.x-server.tar.gz +mv seahub-x.x.x-server seahub + +``` + +### Do the upgrade + +* copy the scripts/upgrade/ subdir outside + +The upgrade scripts is distributed in the `scripts/upgrade` subdir of seafile source code, we need to copy it to **seafile-server** directory before run the scripts. + +``` +cd /data/haiwen/seafile-server +cp -rf seafile-{version}/scripts/upgrade . + +``` + +#### Continuous Upgrade (like from 1.1 to 1.2) + +Continuous upgrade means to upgrade from one version of seafile server to the next version. For example, upgrading from 1.1.0 to 1.2.0 is a continuous upgrade. + +**Note:** Minor upgrade, like upgrade from 1.3.0 to 1.3.1, is documented in a separate section below. + +Say you are upgrading from 1.1.0 to 1.2.0, you should run the script **upgrade_1.1_1.2.sh** in `seafile-server` directory. + +``` +cd /data/haiwen/seafile-server +./upgrade/upgrade_1.1_1.2.sh + +``` + +#### Non-continous version upgrade(like from 1.1 to 1.3) + +If you upgrade a few versions at once, e.g. from 1.1.0 to 1.3.0. The procedure is: + +* upgrade from 1.1.0 to 1.2.0 +* upgrade from 1.2.0 to 1.3.0 + +Just run the upgrade scripts in sequence. + +#### Minor Upgrade (like from 1.3.0 to 1.3.1) + +Minor upgrade Minor upgrade is like an upgrade from 1.3.0 to 1.3.1. For this type of upgrade, you only need to update the avatar link: + +``` +cd /data/haiwen/seafile-server/seahub/media +cp -rf avatars/* ../../../seahub-data/avatars/ +rm -rf avatars +ln -s ../../../seahub-data/avatars + +``` + +## Problems Report + +If you encounter any problem when building/deploying Seafile, please leave us a message or [open an issue](https://github.com/haiwen/seafile/issues). diff --git a/manual/changelog.md b/manual/changelog.md new file mode 100644 index 00000000..b9424d52 --- /dev/null +++ b/manual/changelog.md @@ -0,0 +1,10 @@ +# Changelog + +### Changelogs + +- [Seafile Community Edition](changelog/server-changelog.md) +- [Seafile Professional Edition](changelog/changelog-for-seafile-professional-server.md) +- [Seafile Client](changelog/client-changelog.md) +- [Drive Client ChangeLog](changelog/drive-client-changelog.md) +- [Seafile Android Client (Seadroid)](https://github.com/haiwen/seadroid/releases) +- [Seafile iOS Client](https://github.com/haiwen/seafile-iOS/releases) diff --git a/manual/changelog/changelog-for-seafile-professional-server-old.md b/manual/changelog/changelog-for-seafile-professional-server-old.md new file mode 100644 index 00000000..8599fb6a --- /dev/null +++ b/manual/changelog/changelog-for-seafile-professional-server-old.md @@ -0,0 +1,772 @@ +# Seafile Professional Server Changelog (old) + +## 4.4 + +Note: Two new options are added in version 4.4, both are in seahub_settings.py + +* SHOW_TRAFFIC: default is True, set to False if you what to hide public link traffic in profile +* SHARE_LINK_PASSWORD_MIN_LENGTH: default is 8 + +This version contains no database table change. + +### 4.4.9 (2016.02.29) + +* \[fix] Show “out of quota” instead of “DERP” in the case of out of quota when uploading files via web interface + +### 4.4.8 (2015.12.17) + +* \[security] Fix password check for visiting a file in folder sharing link + +### 4.4.7 (2015.11.20) + +* \[fix] Fix viewing PDF files via Office Web App +* \[fix, virus scan] Do not scanning deleted libraries in virus scan +* \[fix, virus scan] Fix showing the virus scan page when libraries containing scanned items are deleted +* \[virus scan] Add more debug information for virus scan +* \[fix] Clean cache when set users' name from web API +* \[fix] Fix a performance problem for generating picture thumbnails from folder sharing link + +### 4.4.6 (2015.11.09) + +* \[security] Fix a XSS problem in raw sharing link +* \[fix] Delete sharing links when deleting a library +* \[fix] Clean Seafile tables when deleting a library +* \[fix] Add tag to the link in upload folder email notification +* \[fix] Fix a bug in creating a library (after submit a wrong password, the submit button is no longer clickable) +* \[fix, pro] Fix a bug in listing FileUpdate audit log +* \[security, pro] Don't online preview for office files in encrypted libraries + +### 4.4.5 (2015.10.30) + +* \[fix] Fix a bug in deleting sharing link in sharing dialog. + +### 4.4.4 (2015.10.29) + +* \[fix] Fix support for syncing old formatted libraries +* Remove commit and fs objects in GC for deleted libraries +* Add "transfer" operation to library list in "admin panel->a single user" +* \[fix] Fix the showing of the folder name for upload link generated from the root of a library +* \[fix] Add access log for online file preview +* \[fix] Fix permission settings for a sub-folder of a shared sub-folder + +LDAP improvements and fixes + +* Only import LDAP users to Seafile internal database upon login +* Only list imported LDAP users in "organization->members" +* Add option to not import users via LDAP Sync (Only update information for already imported users). The option name is IMPORT_NEW_USER. See document + +### 4.4.3 (2015.10.20) + +* \[fix] Remove regenerate secret key in update script + +### 4.4.2 (2015.10.19) + +* \[security] Check validity of file object id to avoid a potential attack +* \[fix] Check the validity of system default library template, if it is broken, recreate a new one. +* \[fix] After transfer a library, remove original sharing information +* \[security] Fix possibility to bypass Captcha check +* \[security] More security fixes. +* \[pro] Enable syncing a sub-sub-folder of a shared sub-folder (For example, if you share library-A/sub-folder-B to a group, other group members can selectively sync sub-folder-B/sub-sub-folder-C) +* \[fix, office preview] Handle the case that "/tmp/seafile-office-output"is removed by operating system + +### 4.4.1 beta (2015.09.24) + +* \[fix] Fix a bug in setting an user's language +* \[fix] Show detailed failed information when sharing libraries failed +* \[api] Add API to list folders in a folder recursively +* \[api] Add API to list only folders in a folder + +### 4.4.0 beta (2015.09.21) + +New features: + +* Allow group names with spaces +* Enable generating random password when adding an user +* Add option SHARE_LINK_PASSWORD_MIN_LENGTH +* Add sorting in share link management page +* Other UI improvements + +Pro only: + +* Integrate Office Web Apps server +* Integrate virus scan +* Support resumable upload (turn off by default) +* Add option to hide public link traffic in profile (SHOW_TRAFFIC) + +Fixes: + +* \[fix] Fix a bug that causing duplications in table LDAPImport +* set locale when Seahub start to avoid can't start Seahub problem in a few environments. + +## 4.3 + +Note: this version contains no database table change from v4.2. But the old search index will be deleted and regenerated. + +Note when upgrading from v4.2 and using cluster, a new option `COMPRESS_CACHE_BACKEND = 'locmem://'` should be added to seahub_settings.py + +### 4.3.4 (2015.09.14) + +* \[fix] Fix a bug in file locking +* \[fix] Fix sub-folder permission check for file rename/move +* \[fix] Fix a bug in active number of users checking +* Show total/active number of users in admin panel +* Counts all downloads into traffic statistics +* \[security] Use POST request to handle password reset request to avoid CSRF attack +* Don't show password reset link for LDAP users +* \[ui] Small improvements + +### 4.3.3 (2015.08.21) + +* \[fix, important] Bug-fix and improvements for seaf-fsck +* \[fix, important] Improve I/O error handling for file operations on web interface +* Update shared information when a sub-folder is renamed +* \[fix] Fix bug of list file revisions +* \[fix] Fix syncing sub-folder of encrypted library +* Update translations +* \[ui] Small improvements +* \[fix] Fix modification operations for system default library by admin + +### 4.3.2 (2015.08.12) + +* Update translations +* \[fix] Fix bug in showing German translation +* \[fix] Fix bug when remove shared link at library settings page +* \[fix] Fix api error in opCopy/opMove +* Old library page (used by admin in admin panel): removed 'thumbnail' & 'preview' for image files + +### 4.3.1 (2015.07.31) + +* \[fix] Fix generating image thumbnail +* \[ui] Improve UI for sharing link page, login page, file upload link page +* \[security] Clean web sessions when reset an user's password +* Delete the user's libraries when deleting an user +* Show link expiring date in sharing link management page +* \[admin] In a user's admin page, showing libraries' size and last modify time +* \[fix, api] Fix star file API +* \[pro, beta] Add "Open via Client" to enable calling local program to open a file at the web + +About "Open via Client": The web interface will call Seafile desktop client via "seafile://" protocol to use local program to open a file. If the file is already synced, the local file will be opened. Otherwise it is downloaded and uploaded after modification. Need client version 4.3.0+ + +### 4.3.0 (2015.07.25) + +Usability improvements + +* \[ui] Improve ui for file view page +* \[ui] Improve ui for sorting files and libraries +* Redesign sharing dialog +* Enable generating random password for sharing link +* Remove direct file sharing between users (You can use sharing link instead) + +Pro only features: + +* Add file locking +* \[fix] Fix file name search for Chinese and other Asia language +* \[fix] Support special password for MySQL database in seafevents + +Others + +* \[security] Improve permission check in image thumbnail +* \[security] Regenerate Seahub secret key, the old secret key lack enough randomness +* Remove the support of ".seaf" format +* \[api] Add API for generating sharing link with password and expiration +* \[api] Add API for generating uploading link +* \[api] Add API for link files in sharing link +* Don't listen on 10001 and 12001 by default. +* Change the setting of THUMBNAIL_DEFAULT_SIZE from string to number, i.e., use `THUMBNAIL_DEFAULT_SIZE = 24`, instead of `THUMBNAIL_DEFAULT_SIZE = '24'` + +## 4.2 + +Note: because Seafile has changed the way how office preview work in version 4.2.2, +you need to clean the old generated files using the command: + +``` +rm -rf /tmp/seafile-office-output/html/ + +``` + +### 4.2.4 (2015.07.08) + +* More fix on showing share link management page +* Fix a bug on doc/ppt preview +* Fix a bug in reading last login time + +### 4.2.3 (2015.07.07) + +* Fix translation problem for German and other language +* Remove "open locally" feature. It needs more testing +* Fix a problem in showing share link management page + +### 4.2.2 (2015.07.03) + +* \[fix] Fix file uploading link +* Add LDAP user sync +* Improve preview for office files (doc/docx/ppt/pptx) + +In the old way, the whole file is converted to HTML5 before returning to the client. By converting an office file to HTML5 page by page, the first page will be displayed faster. By displaying each page in a separate frame, the quality for some files is improved too. + +### 4.2.1 (2015.06.30) + +Improved account management + +* Add global address book and remove the contacts module (You can disable it if you use CLOUD_MODE by adding ENABLE_GLOBAL_ADDRESSBOOK = False in seahub_settings.py) +* List users imported from LDAP +* \[guest] Enable guest user by default +* \[guest] Guest user can't generate share link +* Don't count inactive users as licensed users + +Important + +* \[fix] Fix viewing sub-folders for password protected sharing +* \[fix] Fix viewing starred files +* \[fix] Fix support of uploading multiple files in clients' cloud file browser +* Improve security of password resetting link +* Remove user private message feature + +New features + +* Enable syncing any folder for an encrypted library +* Add open file locally (open file via desktop client) + +Others + +* \[fix] Fix permission checking for sub-folder permissions +* Change "quit" to "Leave group" +* Clean inline CSS +* Use image gallery module in sharing link for folders containing images +* \[api] Update file details api, fix error +* Enable share link file download token available for multiple downloads +* \[fix] Fix visiting share link whose original path is deleted +* Hide enable sub-library option since it is not meaningless for Pro edition + +### 4.2.0 (2015.05.29) + +Pro only updates + +* \[new] Support set permission on every sub-folder +* \[search] Support partial match like "com" matching "communication" in file name +* \[search] The search result page is much clean + +Usability + +* Add direct file download link +* Remove showing of library description +* Don't require library description +* Keep left navigation bar when navigate into a library +* Generate share link for the root of a library +* Add loading tip in picture preview page + +Security Improvement + +* Remove access tokens (all clients will log out) when a users password changed +* Temporary file access tokens can only be used once +* sudo mode: confirm password before doing sysadmin work + +Platform + +* Use HTTP/HTTPS sync only, no longer use TCP sync protocol +* Support byte-range requests +* Automatically clean of trashed libraries +* \[ldap] Save user information into local DB after login via LDAP + +## 4.1 + +### 4.1.2 (2015.05.07) + +* \[fix] Fix bug in syncing LDAP groups +* \[fix] Fix bug in viewing PDF/Doc +* \[fix] Fix crash bug when memcache is full + +### 4.1.1 (2015.04.16) + +* \[fix] Fix Webdav's port can't be changed to non default port (8082) +* \[fix, searching] Fix handling invalid path name when indexing +* \[fix] Fix seaf-fsck for swift/s3/ceph backend +* Do not show "this type of file can't be viewed online" +* \[fix] Fix showing of activity feed in mobile device +* \[fix] Fix viewing sharing link for deleted directories +* Log email sending in background task to seahub_email_sender.log +* Improve shibboleth login by supporting "next" parameter in URL + +### 4.1.0 (2015.04.01) + +Pro only updates + +* Support syncing any sub-folder in the desktop client +* Add audit log, see . This feature is turned off by default. To turn it on, see +* Syncing LDAP groups +* Add permission setting for a sub-folder (beta) + +Updates in community edition too + +* \[fix] Fix image thumbnail in sharing link +* Show detailed time when mouse over a relative time +* Add trashed libraries (deleted libraries will first be put into trashed libraries where system admin can restore) +* Improve seaf-gc.sh +* Redesign fsck. +* Add API to support logout/login an account in the desktop client +* Add API to generate thumbnails for images files +* Clean syncing tokens after deleting an account +* Change permission of seahub_settings.py, ccnet.conf, seafile.conf to 0600 +* Update Django to v1.5.12 + +## 4.0 + +### 4.0.6 (2015.03.06) + +* \[fix] Fix the seafevents not shutdown by seafile.sh problem +* Improved shibboleth support +* \[fix] Fix uploading a directory if the top directory only contains sub-folders (no files) +* Improve thumbnail API + +### 4.0.5 (2015.02.13) + +* \[fix] Fix a crash problem when a client tries to upload corrupted data +* Add image thumbnails + +### 4.0.4 (2015.02.05) + +Important + +* \[fix] Fix transfer library error in sysadmin page +* \[fix] Fix showing of space used in sysadmin page for LDAP users +* \[fix] Fix preview office files in file share links and private share +* Improved trash listing performance + +Small + +* \[webdav] list organisation public libraries +* Disable non-shibboleth login for shibboleth users +* \[fix] Fix wrong timestamp in file view page for files in sub-library +* Add Web API for thumbnail +* Add languages for Thai and Turkish, update a few translations +* \[ldap] Following referrals + +### 4.0.3 (2015.01.15) + +* \[fix] Fix memory leak in HTTP syncing +* Repo owner can restore folders/files from library snapshot +* Update translations +* \[ldap] Make the "page result" support turn off by default to be compatible with community edition. +* Only repo owner can restore a library to a snapshot +* \[fix] Remote redundant logs in seaf-server +* \[fix] Raise 404 when visiting an non-existing folder +* \[fix] Enable add admin when LDAP is enabled +* Add API to get server features information (what features are supported by this server) +* \[fix] Fix throttle for /api2/ping + +### 4.0.2 (2015.01.06) + +* \[fix] Fix syncing sub-library with HTTP protocol + +### 4.0.1 (2014.12.29) + +* Add Shibboleth support (beta) +* Improve libraries page loading speed by adding cache for library +* \[fix] Fix performance problem of FUSE when using ceph/swift backend +* \[fix] Fix folder upload by drap&drop +* \[fix] Fix version check for pro edition +* \[fix] Fix performance problem in listing files API +* \[fix] Fix listing files of a large folder +* \[fix] Fix folder sharing link with password protection +* \[fix] Fix deleting broken libraries in the system admin panel + +### 4.0.0 (2014.12.13) + +* Add HTTP syncing support +* Merge FileServer into seaf-server +* \[web] New upload file dialog +* \[search] Improve the speed of search by removing in-efficient code in calculating file modification time in the search result page. + +## 3.1 + +### 3.1.13 (2014.11.25) + +* Add WMV video file preview on web +* Support office documents online preview in cluster deployment +* \[fix] Fix file private sharing bug when file name contains & + +### 3.1.12 (2014.11.17) + +* Update ElasticSearch to v1.4 +* Limit content search of txt file to 100KB. +* Fix "out of memory" problem. + +### 3.1.11 (2014.11.03) + +* \[fix] Fixed ./seaf-gc.sh to run online GC +* \[fix] Fixed showing libraries with same name in WebDAV extension in some specific Python version +* \[fix] Fixed event timestamp for library creation and library deleting events +* \[fix] Don't allow setting an encrypted library as default library +* \[fix] Don't list unregistered contacts in sharing dialog +* Don't list inactive users in "organization->members" +* \[multi-tenancy] Add webdav support +* Autoupload files when added in web interface + +### 3.1.10 (2014.10.27) + +* Online GC: you don't need to shutdown Seafile server to perform GC +* \[fix] Fixed performance problem in WebDAV extension +* \[fix] Fixed quota check in WebDAV extension +* \[fix] Fixed showing libraries with same name in WebDAV extension +* Add "clear" button in a library's trash +* \[fix] Fix small errors when upload files via Web interface +* \[fix] Fix moving/coping files when the select all file checkbox is checked +* \[multi-tenancy] Listing libraries of an organization +* \[multi-tenancy] Enable rename an organization +* \[multi-tenancy] Prevent the deleting of creator account of an organisation + +### 3.1.9 (2014.10.13) + +* \[ldap] split LDAP and Database in organization -> pubuser +* \[ldap] Support pagination for loading users from LDAP +* \[multi-tenancy] fix quota related bugs +* \[office preview] Fix seafevents not start bug when using Python v2.6 + +### 3.1.7, 3.1.8 + +* Add support for multi-tenancy + +### 3.1.6 (2014.09.16) + +* Add access.log for file download +* \[fix, api] Fix bug in group creation + +### 3.1.5 (2014.09.13) + +* Add multi-tenancy support + +### 3.1.4 (2014.09.11) + +* \[fix] Fix bug in uploading >1GB files via Web +* \[fix] Remove assert in Ccnet to avoid denial-of-service attack +* \[fix] Add the missing ./seaf-gc.sh +* Support two modes of license, life-time and subscription + +### 3.1.3 (2014.08.29) + +* \[fix] Fix multi-file upload in upload link and library page +* \[fix] Fix libreoffice file online view +* Add 'back to top' for pdf file view. +* \[fix] Fix "create sub-library" button under some language +* \[fix popup] Fix bug in set single notice as read. +* Add message content to notification email + +### 3.1.2 (2014.08.27) + +* \[fix] Fix support for guest account +* \[fix, security] Fix permission check for PDF full screen view +* \[fix] Fix copy/move multiple files in web +* Improve UI for group reply notification +* Improve seaf-fsck, seaf-fsck now can fix commit missing problem +* \[security improve] Access token generated by FileServer can only be used once. + +### 3.1.1 (2014.08.18) + +* \[fix] Fix memory leak +* \[fix] Fix a memory not initialized problem which may cause sync problem under heavy load. +* \[fix, search] Closing database connection first before indexing + +### 3.1.0 (2014.08.15) + +Pro edition only: + +* \[search] Enable searching directories +* \[search] Enable search groups in organization tab +* \[search] Enable encrypted libraries (filename only) +* \[search, fix] Fix a bug when indexing a large library +* \[preview,fix] Fix document preview for Excel files in sharing links +* \[user] Enable add users as guests. Guests are only able to use libraries shared to him/her. +* \[user] Enable set users password strength requirement +* \[sharing link] Enable set expiring time for sharing links +* \[sharing link] Library owner can manage all share links from this library + +Syncing + +* Improve performance: easily syncing 10k+ files in a library. +* Don't need to download files if they are moved to another directory. + +Platform + +* Rename HttpServer to FileServer to remove confusing. +* Support log rotate +* Use unix domain socket in ccnet to listen for local connections. This isolates the access to ccnet daemon for different users. +* Delete old PID files when stop Seafile +* Remove simplejson dependency +* \[fix] fix listing libraries when some libraries are broken +* Add a bash wrapper for seafile-gc + +Web + +* Enable deleting of personal messages +* Improved notification +* Upgrade pdf.js +* Password protection for sharing links +* \[admin] Create multi-users by uploading a CSV file +* Sort libraries by name/date +* Enable users to put an additional message when sending a sharing link +* Expiring time for sharing links +* \[fix] Send notification to all users participating a group discussion +* Redesigned file viewing page +* Remove simplejson dependency +* Disable the ability to make a group public by default (admin can turn it on in settings) +* Add "Back to Top" button in file view page +* Improve page refreshing after uploading files + +## 3.0 + +### 3.0.7 + +* Add support for logrotate +* \[fix] Fix script for migrating from community edition + +### 3.0.6 + +* Fix seahub failing to start problem when Ceph backend is used + +### 3.0.5 + +* Add option to enable highlight search keyword in the file view +* \[fix] Fix "Save to My Library" in file sharing +* \[fix] Fix API for renaming files containing non-ASCII characters from mobile clients + +### 3.0.4 + +* Add support for MariaDB Cluster + +### 3.0.3 + +Web + +* Show a notice when one tries to reset/change the password of a LDAP user +* Improve the initial size of pdf/office documents online preview +* Handle languages more gracefully in search +* Highlight the keywords in the search results +* \[fix] Fixed a web page display problem for French language + +Platform + +* Improve the speed when saving objects to disks +* Show error messages when seahub.sh script failed to start + +### 3.0.2 + +* Added Ceph storage backend support +* Use random ID as avatar file name instead of the file name uploaded by the user + +### 3.0.1 + +* \[fix] Fix an UI bug in selecting multiple contacts in sending message +* Library browser page: Loading contacts asynchronously to improve initial loading speed + +### 3.0.0 + +Web + +* Redesigned UI +* \[admin] Add login log +* \[admin] Add share link traffic statistics +* \[fix] Handle loading avatar exceptions to avoid 500 error +* Fixed a few api errors +* Improve page loading speed +* \[fix] Fix UI problem when selecting contacts in personal message send form +* \[fix] Add nickname check and escape nickname to prevent XSS attack +* \[fix] Check validity of library name (only allow a valid directory name). + +Platform + +* Separate the storage of libraries +* Record files' last modification time directly +* Keep file timestamp during syncing +* Allow changing password of an encrypted library +* Allow config httpserver bind address +* Improved device (desktop and mobile clients) management + +Misc + +* \[fix] Fix API for uploading files from iOS in an encrypted library. +* \[fix] Fix API for getting groups messages containing multiple file attachments +* \[fix] Fix bug in HttpServer when file block is missing +* \[fix] Fix login error for some kind of Android + +## 2.2 + +### 2.2.1 + +* Add more checking for the validity of users' Email +* Use random salt and PBKDF2 algorithm to store users' password. + +## 2.1 + +### 2.1.5 + +* Add correct mime types for mp4 files when downloading +* \[important] set correct file mode bit after uploading a file from web. +* Show meaningful message instead of "auto merged by system" for file merges +* Improve file history calculation for files which were renamed + +WebDAV + +* Return last modified time of files + +### 2.1.4-1 + +* \[fix] fixed the `pro.py search --clear` command +* \[fix] fixed full text search for office/pdf files + +### 2.1.4 + +* Improved Microsoft Excel files online preview +* \[fix] Fixed file share link download issue on some browsers. +* \[wiki] Enable create index for wiki. +* Hide email address in avatar. +* Show "create library" button on Organization page. +* \[fix] Further improve markdown filter to avoid XSS attack. + +### 2.1.3 + +* Fixed a problem of Seafile WebDAV server + +### 2.1.2 + +* Fixed a problem of requiring python boto library even if it's not needed. + +### 2.1.1 + +Platform + +* Added FUSE support, currently read-only +* Added WebDAV support +* A default library would be created for new users on first login to seahub +* Upgrade scripts support MySQL databases now + +Web + +* Redesigned Web UI +* Redesigned notification module +* Uploadable share links +* \[login] Added captcha to prevent brute force attack +* \[login] Allow the user to choose the expiration of the session when login +* \[login] Change default session expiration age to 1 day +* \[fix] Fixed a bug of "trembling" when scrolling file lists +* \[sub-library] User can choose whether to enable sub-library +* Improved error messages when upload fails +* Set default browser file upload size limit to unlimited + +Web for Admin + +* Improved admin UI +* More flexible customization options +* Support specify the width of height of custom LOGO +* Online help is now bundled within Seahub + +## 2.0 + +### 2.0.5 + +* Support S3-compatible storage backends like Swift +* Support use existing elasticsearch server + +### 2.0.4 + +* \[fix] set the utf8 charset when connecting to database +* Use users from both database and LDAP +* \[admin] List database and LDAP users in sysadmin + +### 2.0.3 + +* \[fix] Speed up file syncing when there are lots of small files + +### 2.0.1 + +* \[fix] Elasticsearch now would not be started if search is not enabled +* \[fix] Fix CIFS support. +* \[fix] Support special characters like '@' in MySQL password +* \[fix] Fix create library from desktop client when deploy Seafile with Apache. +* \[fix] Fix sql syntax error in ccnet.log, issue #400 (). +* \[fix] Return organization libraries to the client. +* Update French, German and Portuguese (Brazil) languages. + +### 2.0.0 + +Platform + +* New crypto scheme for encrypted libraries +* A fsck utility for checking data integrity + +Web + +* Change owner of a library/group +* Move/delete/copy multiple files +* Automatically save draft during online editing +* Add "clear format" to .seaf file online editing +* Support user delete its own account +* Hide Wiki module by default +* Remove the concept of sub-library + +Web for Admin + +* Change owner of a library +* Search user/library + +API + +* Add list/add/delete user API + +## 1.8 + +### 1.8.3 + +* Improve seahub.sh +* Improve license checking + +### 1.8.2 + +* fixed 'cannot enter space' bug for .seaf file online edit +* add paginating for repo files list +* fixed a bug for empty repo + +### 1.8.1 + +* Remove redundant log messages + +### 1.8.0 + +Web + +* Improve online file browsing and uploading + * Redesigned interface + * Use ajax for file operations + * Support selecting of multiple files in uploading + * Support drag/drop in uploading +* Improve file syncing and sharing + * Syncing and sharing a sub-directory of an existing library. + * Directly sharing files between two users (instead of generating public links) + * User can save shared files to one's own library +* \[wiki] Add frame and max-width to images +* Use 127.0.0.1 to read files (markdown, txt, pdf) in file preview +* \[bugfix] Fix pagination in library snapshot page +* Set the max length of message reply from 128 characters to 2000 characters. + +API + +* Add creating/deleting library API + +Platform + +* Improve HTTPS support, now HTTPS reverse proxy is the recommend way. +* Add LDAP filter and multiple DN +* Case insensitive login +* Move log files to a single directory +* \[security] Add salt when saving user's password +* \[bugfix] Fix a bug in handling client connection +* Add a script to automate setup seafile with MySQL + +## 1.7 + +### 1.7.0.4 + +* Fixed a bug in file activities module + +### 1.7.0 + +* First release of Seafile Professional Server diff --git a/manual/changelog/changelog-for-seafile-professional-server.md b/manual/changelog/changelog-for-seafile-professional-server.md new file mode 100644 index 00000000..30514bc7 --- /dev/null +++ b/manual/changelog/changelog-for-seafile-professional-server.md @@ -0,0 +1,1278 @@ +# Seafile Professional Server Changelog + +> You can check Seafile release table to find the lifetime of each release and current supported OS: + +## 7.1 + +**Upgrade** + +Please check our document for how to upgrade to 7.1: + +### 7.1.8 (2020/10/12) + +* \[fix] Fix user name encoding for Shibboleth SSO +* \[fix] Add back the remote wipe feature when deleting a linked devices in admin panel +* \[fix] Fix sorting problem in some tables in admin panel +* \[fix] Fix auto-reactive user when a user deleted from LDAP and then added back +* \[fix] Fix a few bugs in organization admin panel in multi-tenancy mode +* \[fix] Fix libraries unsynced in a client if database crash at the server side + +### 7.1.7 (2020/08/28) + +* \[fix] Fix a bug in returned group library permission for SeaDrive client +* Support pagination when listing libraries in a group +* Update wsgidav used in WebDAV +* Remove redundent logs in seafile.log +* \[fix] Fix "save to..." in share link +* Add an option to show a user's email in sharing dialog (ENABLE_SHOW_CONTACT_EMAIL_WHEN_SEARCH_USER) +* \[fix] Fix virus scan results page can't be opened in system admin panel + +### 7.1.6 (2020/07/28) + +* Add database connection pool to reduce database connection usage +* \[fix] Fix WebDAV error if a file is moved immediately after uploading +* Enable generating internal links for files in an encrypted library + +### 7.1.5 (2020/06/30) + +* Indexing LibreOffice files in file search +* Support setting the expire date time of a share link to a specific date time +* GC add --id-prefix option to scan a specific range of libraries +* fsck add an option to not check block integrity to speed up scanning +* \[fix] ccnet no longer listen on port 10001 +* \[fix] Fix virus scan via upload link not work +* \[fix] Fix WebDAV failed login via WebDAV secret +* \[fix] Fix some bugs in LDAP sync +* \[fix] Fix term and condition feature +* \[fix] Fix support for institution feature +* Other UI fixes + +### 7.1.4 (2020/05/14) + +* \[fix] Fix listing LDAP imported users when number of users is greater than 500 +* \[fix] Fix visiting folder share links with password and default path +* Use preview-and-download as default permission when generating share links +* Support selecting and downloading multiple files in a sharing link +* Show share link expiration time in system admin +* \[multi-tenancy] Support sorting for users and libraries in organization admin panel +* FUSE extension now support multiple storage backends +* \[fix] Fix file download links in public libraries +* \[fix] fix seaf-backup-cmd.sh +* Other UI improvements and fixes + +### 7.1.3 (2020/04/08) + +* A library admin can see all the shared links for a library +* Sort libraries and users in admin panel +* Delete all the users and libraries in an organization when deleting that organization +* \[fix] Fix some bugs in multiple storage backend feature +* Other UI fixes + +### 7.1.1 Beta (2020/02/27) + +* Fix full text search +* Fix office file preview in cluster mode + +### 7.1.0 Beta (2020/02/19) + +* Rewrite the system admin pages with React +* Upgrade to Python3 +* Add library API Token, you can now generate API tokens for a library and use them in third party programs. +* Add a feature abuse report for reporting abuse for download links. +* Improved guest invitation: you can now invite a guest and share a library to the guest in one step. + +## 7.0 + +Since seafile-pro 7.0.0, we have upgraded Elasticsearch to 5.6. As Elasticsearch 5.6 relies on the Java 8 environment and can't run with root, you need to run Seafile with a non-root user and upgrade the Java version. + +Please check our document for how to upgrade to 7.0: + +### 7.0.19 (2020/09/07) + +* Fix translation + +### 7.0.18 (2020/05/21) + +* Fix a bug in adding tag for files using context menu +* Add missing translations for French language + +### 7.0.17 (2020/04/28) + +* Fix bug for EXTRA_ABOUT_DIALOG_LINKS +* Modify the default permission to "Download and preview" for share links + +### 7.0.16 (2020/04/01) + +* Add progress dialog when moving files across libraries +* Add more customization options (EXTRA_SHARE_DIALOG_NOTE, EXTRA_APP_BOTTOM_LINKS, EXTRA_ABOUT_DIALOG_LINKS) +* \[fix] Fix a bug with domain-name that contains "file" when previewing markdown file via share link +* \[fix] Do not show download link for a preview-only share link +* \[fix] Fix searching files in a public library for login users +* Some UI improvements + +### 7.0.15 (Deprecated) + +### 7.0.14 (2020/03/06) + +* \[fix] Fix seaf-server crash problem when calculating library size for a corrupted library +* \[fix] Fix a bug when sending file update notice +* Write virus scan log to file virus_scan.log + +### 7.0.13 (2020/01/16) + +* Fix Shibboleth login bug (added in 7.0.12) + +### 7.0.12 (2020/01/10) + +* Fix department support in multi-tenancy mode +* Fix a performance problem when deleting cache files for resume file upload + +### 7.0.11 (2019/11/15) + +* set jvm.options in ElasticSearch to `-Xms1g -Xmx1g` +* \[fix] Fix revert library button missing in multi-tenancy mode +* \[fix] Remove redundant log OnlineOffice file lock is expired +* \[fix] Fix S3 support in multiple storage backend feature +* \[LDAP Sync] Support setting default permission for automatically created library for department +* \[LDAP Sync] Support get department name from a configured attribute +* \[fix] Fix support for Shibboleth single log out +* \[fix] Fix support for sharing a sub-folder in a department library + +### 7.0.10 (2019/10/22) + +* \[fix] Fix showing NaN when uploading a file with 0 size. +* \[fix] Fix email notifications for file changes not sent +* \[fix] Remove two redundant logs in seafile.log +* \[fix] Fix opening a shared library with special characters +* \[fix] Fix duplicated two-scrollbars when browsing a published library in Windows using Firefox +* \[fix] Users can now create sharing links for files with permission "online-preview only" and "online-read-write". +* \[fix] Fix links in email notification for a shared folder +* \[fix] Fix the path shown for public share links of folders +* \[fix] Fix a bug in loading a file's history +* \[fix] Fix a case when using SAML login with LDAP configured +* \[fix] Fix a bug that a broken library can't be deleted via web UI + +### 7.0.9 (2019/09/20) + +* \[fix] Add institution admin back +* \[fix] Fix '\\n' in system wide notification will lead to blank page +* \[fix] Remove all metadata in docx template +* \[fix] Fix redirection after login +* \[fix] Fix group order is not alphabetic +* \[fix] Fix download button in sharing link +* Mobile UI Improvement (Now all major pages can be used in Mobile smoothly) + +### 7.0.8 (2019/08/26) + +* Inviter can cancel invitation after the user has accepted the invitation. The user will be set as inactive. +* Improve organization admin panel in multi-tenancy mode +* Add notification when a user try to leave a page during file transfer +* Add UI waiting notification when resetting a user's password in admin panel +* Add generating internal link (smart-link) for folders +* Add command line tool for admin to export reports +* \[fix] Fix file drag and drop in IE and Firefox +* \[fix] Add back the feature of letting user to select storage backend +* Improve UI for file uploading, support re-upload after error +* \[fix] Fix devices login via Shibboleth not show in devices list +* \[fix] Fix support of OnlyOffice force-save option +* \[fix] Fix zip download when user selecting a long list of files +* Other UI fixes + +### 7.0.7 (2019/07/29) + +* \[fix] Fix a bug in multiple storage backend support +* Fix avatar problem when deployed under non-root domain +* Add get internal link in share dialog +* Fix newly created DOCX files are not empty and have a Chinese font set as default font +* Fix system does not send email to new user when adding new user in system admin +* Fix thumbnail for TIFF files +* Fix direct download link for sharing links +* Fix report in statictics module has no file extension when downloading in Firefox +* Fix "Preview-only" share link +* Fix file comment +* Other UI fixes + +### 7.0.6 (2019/07/22) + +* \[fix] Fix a memcache bug when using S3 backend + +### 7.0.5 (2019/07/16) + +* \[fix] Fix Zip download multiple files +* \[fix] Fix a bug in "System Admin -> Logs -> File Update -> details" +* \[fix] Fix there is an extra history item for newly created docs/pptx +* \[fix] Fix a bug in traffic statistics +* \[fix] Fix file modification report email are not sent out +* Support show department libraries in fuse +* Add expiring date for upload link +* Add search feature in pubished libraries for anonymous users + +### 7.0.4 (2019/07/05) + +* UI Improvement and fixes +* Fix file upload button with Safari, IE edge +* Support setting history and cleaning trash for department libraries +* Fix compatibility with "Open library in web" from the old version desktop client +* Support "." in group name +* Add back "can edit" permission for sharing links for office file +* Add back "send link" for upload links +* Add back grid view for folder sharing links +* Support creating encrypted libraries for department libraries +* Fix preview for PSD, TIFF files +* Fix deleting of favorate items when they are shared items but the sharing are revoked +* Fix avatar broken problem when using a non-stardard port +* Fix resumable file uploading + +### 7.0.3 (2019/06/13) + +* UI fixes +* Support index.md in published library +* Add sub-folder permission for deparment libraries +* Enable new file history by default +* Make published library feature turned on by default +* Fix IE Edge support +* Fix LDAP group sync + +### 7.0.2 beta (2019/05/17) + +* UI fixes +* Support using different salt for each encrypted libraries +* Add back sub-folder permission feature +* Improved user's settings page and file search page +* Support transfer personal library to department +* Add pubishing library to role permission +* \[wopi] Pass last modified time to WOPI +* Improve image resizing in Markdown + +### 7.0.1 beta (2019/04/18) + +* Improved Markdown editor +* Add columns view mode (Wiki view mode) +* Add context menu +* Realtime search +* Support search libraries +* Record file history to database for Markdown, Text and Docx, xlsx, pptx files +* Redesigned activities page +* Add preview-edit-on-cloud, preview-on-cloud permissions +* Redesigned file tags +* Support editing share link permission after creating a link + +## 6.3 + +In version 6.3, Django is upgraded to version 1.11. Django 1.8, which is used in version 6.2, is deprecated in 2018 April. + +With this upgrade, the fast-cgi mode is no longer supported. You need to config Seafile behind Nginx/Apache in WSGI mode. + +The way to run Seahub in another port is also changed. You need to modify the configuration file `conf/gunicorn.conf` instead of running `./seahub.sh start `. + +Version 6.3 also changed the database table for file comments, if you have used this feature, you need migrate old file comments using the following commends after upgrading to 6.3: + +``` +./seahub.sh python-env seahub/manage.py migrate_file_comment + +``` + +> Note, this command should be run while Seafile server is running. + +Version 6.3 changed '/shib-login' to '/sso'. If you use Shibboleth, you need to to update your Apache/Nginx config. Please check the updated document: + +Version 6.3 add a new option for file search (`seafevents.conf`): + +``` +[INDEX FILES] +... +highlight = fvh +... + +``` + +This option will make search speed improved significantly (10x) when the search result contains large pdf/doc files. But you need to rebuild search index if you want to add this option. + +### 6.3.14 (2019/05/21) + +* \[fix] Fix a bug in LDAP group sync + +### 6.3.13 (2019/03/20) + +* \[fix] Fix some bugs in accessing S3 for some special configurations +* \[fix] Fix OnlyOffice integration when OnlyOffice using invalid CA +* \[fix] Fix sometimes users can't login into WebDAV +* \[fix] Fix a crash bug in realtime backup server +* \[fix] Fix the last modified time is not updated for shared sub-folders +* \[fix] Keep last modified time when moving or copying files from on library to another +* \[fix] Fix can't sync a sub-folder of a shared sub-folder +* \[fix] Fix URL in email notification for sub-folder shared event + +### 6.3.12 (2019/02/21) + +* \[fix] Fix using WebDAV with Single Sign On +* \[fix] Fix a bug in importing users via excel file +* Redirect users to home page after setting up 2FA +* \[fix] Fix can't send email when non-ascii symbols in filename in virus scan +* \[fix] Fix a bug in syncing LDAP when a user belong to multiple groups +* Add slow log for accessing object storage for debugging purpose +* \[fix] Fix a SQL bug in multi-tenancy mode +* Set the chunk size to 8MB during uploading files via chunk to speed up file transfer + +### 6.3.11 (2019/01/15) + +* \[fix] Fix support for two-factor authentication using SMS +* \[fix] Fix support for traffic statistics +* \[fix] Improve performance for getting group library list +* \[fix] Fix file access audit log +* Remove file count and size count for directories as it will lead to performance problem + +### 6.3.10 (2019/01/02) + +* \[fix] Fix folder upload problem +* \[fix] Fix file audit page can't be load +* \[fix] Fix MIME type for .xls +* Add RPC slow log +* Add admin API for manage organizations in multi-tenancy mode +* Add warning when close page during file uploading + +### 6.3.9 (2018/12/13) + +* Fix a seaf-server crash problem + +### 6.3.8 (2018/12/10) + +* Improve online PDF view for large PDF files (In the old version, a large PDF file consumes a lot of memory) +* Admin can force a user to use two-factor authentication +* Improve performance of upgdating a library's size and file numbers +* Don't print a lot of "Repo size compute queue is 0" +* Enable using WebDAV with Single Sign On (A new option ENABLE_WEBDAV_SECRET) +* Enable login to WebDAV via contact email +* \[fix] A shared empty folder name will be updated if the folder's name is changed +* Support preview for PSD and AI files +* \[fix] Fix license information display problem +* \[fix] Fix video preview for shared link on mobile browsers +* Redirect old wiki URL to new wiki URL +* Hide save as button for files viewed by Office Online Server +* When a library be transfer to another user, don't clear the syncing tokens +* Support syncing both department and groups at the same time in LDAP sync (deprecating old config options for department sync) +* Set default quota for department synced from LDAP +* Allow more independent LDAP configurations for multi-LDAP server sync +* \[fix] Fix problems when downloading large list of files via Zip download +* \[fix] Fix a performance problem when get the list of all groups +* \[fix] Can change history settings for library in admin area even if the change of history settings is disable for normal users +* Make multi-threads mode as default for Seahub + +### 6.3.7 (2018/10/16) + +* \[fix] Fix a bug of lock by online office +* Anyone that can write a file can unlock the file if it is locked by online office +* \[fix] Fix a bug in sending mails in background node +* \[fix] Remove forcesave option in OnlyOffice since it have a bug +* \[fix] Fix a bug that wiki page can't be loaded +* Add traffic statistics +* \[fix] Remove unnecessary logs in virus scan + +### 6.3.6 (2018/09/21) + +* \[fix] Fix a bug in user defined role +* \[fix] Editable share link can be edited by anonymous user + +### 6.3.5 (2018/09/18) + +* \[fix, security] Fix a security issue in Shibboleth authentication +* \[fix] Fix sometimes Web UI will not autoload a >100 item directory view +* \[fix] Fix sending notification emails in backend node +* Showing user's name instead of email in web interface +* \[fix] Fix desktop client can't login if using ADFS + +New features + +* Add a new sharing link permission "can edit" for docx/excel. Any login users can edit the file via share link. +* \[multi-tenancy] Support department and department owned library +* Add system traffic statistics (showing the daily web download/web upload/sync traffic) + +### 6.3.4 (2018/08/16) + +* \[fix] Fix a bug in creating group-owned library + +### 6.3.3 (2018/08/15) + +* \[fix] Fix some bugs in sharing group-owned libraries +* \[fix] Fix a bug in setting folder permission +* Update Django to 1.11.11 +* Support login via contact email +* Support sharing a sub-folder in a group-owned library + +### 6.3.2 (2018/07/30) + +* \[fix] Fix sometimes get group listing will cause ccnet-server crash +* \[fix] Fix built in office file preview can't works +* Redirect '/shib-login' to '/sso' +* Other small fixes + +### 6.3.1 (2018/07/25) + +* Add generating of internal links +* Lock office files when editing via online office suite +* Support setting organization quota, delete an organization via Web API +* Support Swift storage backend Identity v3.0 API +* Improve markdown editor +* Several fixes + +### 6.3.0 Beta (2018/06/28) + +* Support nested group and group-owned libraries +* Keep sharing link when file or folder moved or renamed +* Update Django to 1.11, remove fast-cgi support +* Update jQuery to version 3.3.1 +* Update pdf.js, use pdf.js for preview pdf files +* Docx files are converted to PDFs and preview via pdf.js in builtin preview +* Support multiple storage backend to be used in a single server +* \[fix] Fix some bugs with OnlyOffice and CollaboraOffice +* \[fix] Use mobile version of OnlyOffice if viewed via mobile devices +* Shared sub-folders can be searched +* Show terms and condition link if terms and condition is enabled +* Remove login log after delete a user +* \[admin] Support customize site title, site name, CSS via Web UI +* \[fix] Fix a bug that causing seaf-fsck crash +* \[fix] Cancel Zip download task at the server side when user close zip download dialog +* \[fix] Fix crash when seaf-fsck, seaf-gc receive wrong arguments +* \[fix] Fix a few bugs in realtime backup server +* \[beta] Wiki, users can create public wikis +* Some other UI improvements + +## 6.2 + +From 6.2, It is recommended to use proxy mode for communication between Seahub and Nginx/Apache. Two steps are needed if you'd like to switch to WSGI mode: + +1. Change the config file of Nginx/Apache. +2. Restart Seahub with `./seahub.sh start` instead of `./seahub.sh start-fastcgi` + +The configuration of Nginx is as following: + +``` +location / { + proxy_pass http://127.0.0.1:8000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + proxy_read_timeout 1200s; + + # used for view/edit office file via Office Online Server + client_max_body_size 0; + + access_log /var/log/nginx/seahub.access.log; + error_log /var/log/nginx/seahub.error.log; + } + +``` + +The configuration of Apache is as following: + +``` + # seahub + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPass / http://127.0.0.1:8000/ + ProxyPassReverse / http://127.0.0.1:8000/ + +``` + +### 6.2.13 (2018.5.18) + +* \[new] Support only return files or folders when search file via api. +* \[fix] Fix notification display behavior bug on some page. +* \[fix] Recreate folder when failed because of `file already exists` error for the first time. +* \[fix] Fix bug of saving file via onlyoffice. +* \[fix] Fix bug when set user’s reference id to ‘’ via admin api. +* \[fix] Fix bug of group info page display in organization admin panel. +* \[improve] Disable full email search if current user is a guest user. +* \[improve] Return library type when search file via api. +* \[improve] Add user auth info to cookie when login via OAuth. +* \[improve] Return timestamp instead of time string when get user clean up library trash event via api. +* \[improve] Check quota when copy/move file/folder. +* \[improve] Distinguish file or folder when send library/folder share notice/email. +* \[improve] Sort by parent folder’s name when get file/folder recursively. +* \[improve] Remove unused Python imports in ADFS module. +* \[improve] Optimizate library udpate event. +* \[improve] Remove seahub gunicorn access log. + +### 6.2.12 (2018.4.20) + +* \[fix] Fix a bug in seafevents + +### 6.2.11 (2018.4.19) + +* Update multi storage backend feature, add STORAGE_CLASS_MAPPING_POLICY setting. +* \[fix] Fix bug when search file by path. +* \[fix] A user that can't create a library can sync a sub-folder of a library now. +* Add title when view file via OOS. +* Check if enable LIBRARY_TEMPLATES feature when creating library. +* \[api] Enable return all files recursively under a folder. +* Preserve share links when admin transfer a library from a user to another user. +* Add setting to disable user change password. +* Add setting to disable group dissussion. +* Add setting to disable file comment. +* Restart both ccnet-server and seaf-server if seaf-server is down. +* Fix a bug that some cases elasticsearch be started repeatly. +* Don’t start seafile if failed to mount http-temp dir. +* Don’t deactive user if failed to get users from ldap server. +* \[fix] Fix online preview can't work in background node caused by wrong Python path. + +### 6.2.10 (2018.3.20) + +* Improve performance of file search +* \[fix] Fix a bug in daily active user statistics +* \[fix] Fix copy files larger than 2GB via seaf-fuse +* Show 403 error when visit share link if share link creator no longer has access permission to library. +* \[api] Add api for uploading file via upload share link. +* \[api] Support search file/folder in a specific library and folder via api. +* \[fix] Fix bug in folder renaming operation list on activities page. +* \[fix] Fix bug when creating personal/group wiki. +* \[fix] Fix bug when searching specific extension file. +* \[fix] Fix a bug in Two-Factor Authentication. +* \[fix] Fix bug when getting encrypted library history. +* \[fix] Fix UI bug of "New Library" and "More" buttons. +* \[fix] Fix bug of using truncated image file as avatar. +* Change value of `per_page` parameter to 10 when search file via api. +* Support indexing files in background after file uploading via API +* Add user clean library trash event to activities +* Use inner fileserver url to save file when edit office via OOS. + +### 6.2.9 (2018.02.10) + +* \[fix] Support setting region for Swift backend +* \[fix] Notify the admin when an invited people registered +* \[new, api] Add API for cleaning trash +* \[fix, api] Fix permission check in search API +* \[fix] Remove redundant warning message in seahub.log +* \[fix] Add API for upload files via upload link +* \[fix] Fix inconsistency in showing user's space usage in multi-tenancy mode +* \[new] Add online preview for SVG files + +### 6.2.8 (2018.02.02) + +* \[fix] Fix command pro/pro.py --test +* All logs that went to seahub_django_request.log go to seahub.log +* Print gunicorn error to runtime/error.log +* \[fix] Don't allow to generate share links via API for encrypted libraries +* \[new] Support online preview for tiff and eps files +* \[new, api] Add api to allow admin to copy files between libraries +* \[new] Allow system admin to share a library as "admin" to another user in admin panel +* Other UI fixes and improvements + +### 6.2.7 (2018.01.22) + +* \[fix, important] Fix a performance bug in search index +* \[fix, important] Fix a memory leak in listing folder with locked files +* \[fix] Fix creating of demo account +* \[new] Notify the inviter when a guest register +* \[new] Add the feature "remember this device" after two-factor authentication +* \[new] Don't allow to move, delete or rename a file when a file is locked +* \[new] Add option to notify the admin after new user registration (NOTIFY_ADMIN_AFTER_REGISTRATION) +* \[new, ui] Support inviting multiple guests at once +* \[new] Support customize the list of groups that a user can see when sharing a library +* \[new, api] Support search files in my libraries, shared libraries, shared to all libraries +* \[fix] Fix OAuth bug +* \[fix] Fix a bug that file preview can't work in Debian 9 +* \[fix, multi-tenancy] Fix permission of a shared sub-folder can't be changed +* \[fix] Fix a bug in modify permission for a shared sub-folder +* \[fix] Improve performance in checking folder permission and file lock +* \[fix] Improve the performance of returning a user's all group libraries +* \[fix] Fix support for uploading 500+ files via web interface (caused by API rate throttle) +* \[fix] Fix API get_shared_repo_by_path() +* \[fix] Add more log when failed to zip a file +* Don't use memcache when read object in the Python part +* Update license file check +* \[multi-tenancy, api] Return origin_repo_name when listing libraries +* Add cancel zip download API +* \[fix] Fix some configuration bugs in seafevents module + +### 6.2.5, 6.2.6 (deprecated) + +### 6.2.4 (2017.12.20) + +* \[fix] Fix a bug in file search index clearing command + +### 6.2.3 (2017.12.19) + +* \[fix] Fix a bug in file search indexing. +* \[fix, admin] Fix a bug of statistic module in a cluster. +* \[new, admin] Support search share link. +* \[improve, ui] Add transition to show/hide of feedback messages. +* Other small UI improvements. + +### 6.2.2 (2017.12.12) + +* \[improve] Improve performance of file history page. +* \[improve] show be shared folders when copy/move file/folder to “Other Libraries”. +* \[improve] Remove the white edge of webpage when previewing file via OnlyOffice. +* \[improve] Show two file history records at least. +* \[multi-tenancy] fix bug when listing libraries/folders shared to group. +* \[multi-tenancy] fix bug when deleting an organization. +* \[fix] fix bug when previewing excel file with “&” character in its name. +* \[fix] Don’t check if user exists when deleting a group memeber in admin panel. +* \[oauth] Don’t overwrite public registration settings when login an unexisted user. +* \[audit] Recording file access/update log when preview/edit a file via OnlyOffice. + +### 6.2.1 beta (2017.11.22) + +* \[new] Support OAuth. +* \[new] Support Swift v1 protocol. +* \[new, admin] Add option to turn on statistic module +* \[new] Enable publish library update events to message queue (like Redis) +* \[improve, ui] Add "click to select" feature for download/upload links. +* \[improve, ui] improved accessibility for some form elements, such as login inputs, and etc. +* \[improve, api] Add `repo_owner` field to library search web api. +* \[improve, admin] Show/edit contact email in admin panel. +* \[improve, admin] Show upload links in admin panel. +* \[improve, admin] Improve license display. +* \[improve, admin] Share with admin permission recorded in audit log. +* \[improve, admin] Add permission audit log when remove library from group. +* \[improve, search] Set timeout for extracting contents from doc/pdf. +* \[improve, search] Search indexing no longer depend on Seafile service. It reads information from database directly. +* \[fix] Fix Shibboleth login redirection issue, see +* \[fix] In some case failed to unshare a folder. +* \[fix] LDAP search issue. +* \[fix] Fix Safari downloaded file names are encoded like 'test-%2F%4B.doc' if it contains special characters. +* \[fix] Disable client encrypt library creation when creating encrypt library is disabled on server. +* \[fix] Failed to get snapshot labels when libraries are deleted. + +### 6.2.0 beta (2017.10.16) + +* Add report charts for daily active users, daily file operations, and usage space +* Add "admin" permision when sharing a library to another user/group +* Redesign login page, adding a background image. +* Clean the list of languages +* Add the ability of tagging a snapshot of a library (Use `ENABLE_REPO_SNAPSHOT_LABEL = True` to turn the feature on) +* \[admin] Add an option to enable users to share a library to any groups in the system. +* Use WSGI as the default mode for deploying Seahub. +* Add a field Reference ID to support changing users primary ID in Shibboleth or LDAP +* Improved performance of loading library list +* Use multi-threads in search indexing +* \[fix] Fix a bug when indexing a PDF larger than 10MB +* Support adding a custom user search function + () +* Other small UI improvements +* \[fix] Fix ADFS support + +## 6.1 + +You can follow the document on minor upgrade (). + +### 6.1.9 (2017.09.28) + +* \[fix] Fix some bugs in realtime backup server +* Add option to set up Seafile HTTP server thread number +* \[fix] Fix create new file API when create a file with a same name with exist file +* \[fix] Fix a bug in permission check in file syncing +* Add more detailed log information when permission check error +* \[fix] Add log to the size of queue of library size calculation +* \[fix] Use customized logo when sending email notifications + +### 6.1.8 (2017.08.18) + +* \[fix] Fix license checking + +### 6.1.7 (2017.08.17) + +* \[fix] Fix a bug when concurrent uploading/creating files (in the old version, when a user uploading/deleting multiple files in cloud file browser, it had a high chance to get “internal server error” message) +* \[fix] Fix thumbnails for some images that 90 degrees rotated +* \[fix] Fix support for resumable file upload +* \[fix] Fix MySQL connection pool in Ccnet +* \[fix] Use original GIF file when view GIF files +* \[fix, api] Check if name is valid when creating folder/file +* Remove deleted libraries in search index +* Use 30MB as the default value of THUMBNAIL_IMAGE_SIZE_LIMIT +* \[api] Improve performance when move or copy multiple files/folders +* \[admin] Support syncing user role from AD/LDAP attribute () +* \[admin] Support deleting all outdated invitations at once +* \[admin] Improve access log +* \[admin] Support upload seafile-license.txt via web interface (only for single machine deployment) +* \[admin] Admin can cancel two-factor authentication of a user +* \[admin, role] Show user’s role in LDAP(Imported) table +* \[admin, role] Add wildcard support in role mapping for Shibboleth login +* \[admin] Improve performance in getting total file number, used space and total number of devices +* \[admin] Admin can add users to an institution via Web UI +* \[admin] Admin can choose a user’s role when creating a user + +### 6.1.4 (2017.07.11) + +* \[api] Improve performance of getting unread notifications. +* Delete deleted libraries in search index +* Use user's languange as lang setting for OnlyOffice + +### 6.1.3 (2017.07.06) + +* Add context menu "details" to libraries and folders, so you can get how many files in a library or a folder. +* Improve search result accuracy +* \[fix] Fix a bug in zip downloading an empty folder +* Improve performance of multiple file copy and move +* Admin can delete out-dated guest invitations +* \[fix] Fix a bug in seafile-gc "dry run" option +* Users can restore deleted libraries by their own +* Change default block size for files uploaded via web browser to 8MB. + +### 6.1.2 (deprecated) + +### 6.1.1 (2017.06.19) + +* Add "online preview only" option to share links +* Enable setting favicon and logo via admin panel + +### 6.1.0 beta (2017.06.06) + +Web UI Improvement: + +1. Add thumbnail for video files (turn off by default) +2. Improved image file view, using thumbnail to view pictures +3. Move items by drap & drop +4. Add create docx/xlsx/pptx in web interface +5. Add OnlyOffice integration +6. Show which client modify a file in history, this will help to find which client accidentally modified a file or deleted a file. + +Improvement for admins: + +1. Admin can set default quota for each role +2. Admin can set user’s quote, delete users in bulk in admin panel +3. Support using admin panel in mobile platform +4. Add translation for settings page +5. Add admin operation logs +6. Admin can change users' login_id in web interface +7. Admin can create libraries in admin panel +8. Admin can set logo and favicon in admin panel + +System changes: + +1. Remove wiki by default (to turn it on, set `ENABLE_WIKI = True` in seahub_settings.py) +2. Upgrade Django to 1.8.18 +3. Clean Ajax API +4. Increase share link token length to 20 characters +5. Upgrade jstree to latest version +6. Update ElasticSearch to 2.4.5 + +## 6.0 + +You can follow the document on minor upgrade (). + +Special note for upgrading a cluster: + +In version 6.0, the folder download mechanism has been updated. This requires that, in a cluster deployment, seafile-data/httptemp folder must be in an NFS share. You can make this folder a symlink to the NFS share. + +``` +cd /data/haiwen/ +ln -s /nfs-share/seafile-httptemp seafile-data/httptemp + +``` + +The httptemp folder only contains temp files for downloading/uploading file on web UI. So there is no reliability requirement for the NFS share. You can export it from any node in the cluster. + +### 6.0.13 (2017.05.08) + +* \[fix] Fix in file moving/copying dialog, self-owned libraries are not listed +* \[fix] Fix files in self-owned libraries are not listed when searching files in all libraries +* Update timestamp in about dialog + +### 6.0.12 (2017.04.17) + +* Improve performance when checking group shared library permission +* \[fix] Fix image popup in favourite page +* \[fix] Fix generating sharing link with expiring time in file detailed view page +* \[fix] Don't allow to create library with '/' in name +* \[fix] Fix two-factor authentication +* Add script to migrate between different storage backend + +### 6.0.11 (Deprecated) + +### 6.0.10 (2017.04.07) + +* \[fix] Fix a bug in listing libraries in admin panel + +### 6.0.9 (2017.04.01) + +* Show user' name instead of user's email in notifications sent out by email +* Add config items for setting favicon, disable wiki feature +* Add css id to easily hide user password reset and delete account button +* \[fix] Fix UI bug in restoring a file from snapshot +* \[fix] Fix after renaming a file, the old versions before file rename can't be downloaded +* \[security] Fix XSS problem of the "go back" button in history page and snapshot view page +* \[fix] Fix crash problem of seaf-import +* Add API to create/delete/modify an account in Org +* \[ad/ldap sync] Support import posix group +* \[fix] Fix Office Web App co-authoring problems when opening file in a shared sub-folder +* \[fix] Fix "IE 9 not supported" popup message not showing + +### 6.0.8 (2017.02.23) + +Improvement for admin + +* Admin can add/delete group members +* Admin can create group in admin panel +* Force users to change password if imported via csv +* Support set user's quota, name when import user via csv +* Set user's quota in user list page +* Add search group by group name +* Use ajax when deleting a user's library in admin panel +* Support logrotate for controller.log +* Add a log when a user can't be find in LDAP during login, so that the system admin can know whether it is caused by password error or the user can't be find +* Delete shared libraries information when deleting a user +* Add admin API to create default library for a user +* \[ldap-sync] Support syncing users from AD/LDAP as inactive user + +Other + +* \[fix] Fix user search when global address book is disabled in CLOUD_MODE +* \[fix] Avoid timeout in some cases when showing a library trash +* Show "the account is inactive" when an inactive account try to login +* \[security] Remove viewer.js to show open document files (ods, odt) because viewer.js is not actively maintained and may have potential security bugs +* \[fix] Exclude virtual libraries from storage size statistics +* \[fix] Fix mysql gone away problem in seafevents +* Add region config option for Swift storage backend +* \[anti-virus] Send notification to the library owner if a virus is found + +### 6.0.7 (2017.01.18) + +* Set users role from Shibboleth affiliation attribute (, search "Affiliation and user role") +* \[fix] Uploading files with special names lets seaf-server crash +* \[fix] Fix reading database connection pool setting from ccnet.conf and seafile.conf +* \[fix] Fix total storage integer overflow, which is shown at the info page of admin panel) +* \[fix] Fix the password reset email gets send to the primary account email instead of the contact email of the profile. +* \[fix] Do not check path existence when delete user/group folder permission +* Support ADFS +* \[fix] Invitation email subject does not get translated + +### 6.0.6 (2017.01.11) + +* Guest invitation: Prevent the same address can be invited multiple times by the same inviter and by multiple inviters +* Guest invitation: Add an regex to prevent certain email addresses be invited (see ) +* Office online: support co-authoring +* Admin can set users' department and name when creating users +* Show total number of files and storage in admin info page +* Show total number of devices and recently connected devices in admin info page +* Delete shared libraries information when deleting a user +* Upgrade Django to 1.8.17 +* Admin can create group in admin panel +* \[fix] Fix quota check: users can't upload a file if the quota will be exceeded after uploading the file +* \[fix] Fix quota check when copy file from one library to another +* Add `# -*- coding: utf-8 -*-` to seahub_settings.py, so that admin can use non-ascii characters in the file. +* \[fix] Prevent admin from access group's wiki +* \[fix] Prevent transfering libraries to guest account +* \[fix] Prevent guest accout to create share link via API v2 +* Add a log when a user can't be find in LDAP during login, so that the system admin can know whether it is caused by password error or the user can't be find +* Ingore white space character in the end of lines in ccnet.conf + +### 6.0.5 (2016.12.19) + +* \[fix] Fix generating of password protected link in file view page +* \[fix] Fix .jpg/.JPG image display in IE10 +* Export quota usage in export Excel in user list admin page +* \[fix] Fix admin can't delete broken libraries +* Add "back to previous page" link in trash page, history page +* \[fix] Fix file encoding for text file editing online +* \[fix] Don't show operation buttons for broken libraries in normal users page +* \[fix] Support both `[Audit]` and `[AUDIT]` in seafevent.conf +* \[fix] Support utf-8 characters in filename when preview in MSOffice WebApp +* Support Collabora Online 2.0 + +### 6.0.4 (2016.11.29) + +* \[fix] Fix list_inner_pub_repos error in cloud mode +* \[fix] Improve logo show in About dialog +* \[fix] Fix file/folder upload in Firefox 50 +* \[fix] Fix groups not shown in admin panel when there are more than 100 groups + +### 6.0.3 (2016.11.17) + +* \[fix] Fix the shared folder link in the notification message when a user share a folder to another user +* \[fix] Update Django version from 1.8.10 to 1.8.16 +* \[fix] Fix the shared folder name is not changed after removing the old share, renaming the folder and re-sharing the folder +* \[fix] Fix sub-folder accidentially show the files in parent folder when the parent folder contains more than 100 files +* \[fix] Fix image preview navigation when there are more than 100 entries in a folder +* \[fix] Fix jpeg image display in IE10 +* \[fix] Fix bug when admin searching unexisting user +* Add support for online view of mov video files +* Make web access token expiring time configurable +* Add an option on server to control block size for web upload files +* \[fix] Failed to cache (set/get) WOPI_ACCESS_TOKEN_EXPIRATION due to memcached key length limit +* \[fix] Not allow user to set the permissions onto unshared folder. Because it is useless. +* \[fix] Fix condition check when display share icon for guest user +* Support full-text search and audit log by default +* \[fix] Fix permission dialog bug when the corresponding user/group deleted + +### 6.0.2 (2016.10.20) + +* \[fix] Virus scan fails when the keystone token has expired +* \[fix] If you share a sub-folder to a group, the sub-folder will appear as a library in that group page. Don't show "permission" menu item for such a shared sub-folder on the group page, because setting permissions on this shared sub-folder not work. The user should set permissions on the original library directly. +* \[fix] Fix API for uploading file by blocks (Used by iOS client when uploading a large file) +* \[fix] Fix a database connection problem in ccnet-server +* \[fix] Fix moved files are still present in local folder until refresh +* \[fix] Fix admin panel can't show deleted libraries + +### 6.0.1 beta + +* Enable create a library from a template +* Enable office preview by default in installation script +* \[fix] Fix not able to move files via WebDAV interface +* Check whether the quota will exceed before saving the uploaded file to Seafile via Web UI or API +* \[fix] Fix owner can't restore a deleted file or folder in snapshot +* \[fix] Fix UI of personal profile page +* \[fix] Fix in some cases mobile devices can't be unlinked +* \[fix] Fix connection problem for the latest MariaDB in initialisation script +* Make maxNumberOfFiles configurable +* \[fix] Remember the sorting of libraries +* Add Finnish translation +* Video + audio no longer be limited by max preview size + +### 6.0.0 beta + +* Add full screen Web UI +* Add file comment +* Improve zip downloading by adding zip progress +* Change of navigation labels +* Support Seafile Drive client +* \[admin] Add group transfer function in admin panel +* \[admin] Admin can set library permissions in admin panel +* Improve checking the user running Seafile must be the owner of seafile-data. If seafile-data is symbolic link, check the destination folder instead of the symbolic link. +* \[ui] Improve rename operation +* Show name/contact email in admin panel and enable search user by name/contact email +* Add printing style for markdown and doc/pdf +* The “Seafile” in "Welcome to Seafile" message can be customised by SITE_NAME +* Improve sorting of files with numbers +* \[api] Add admin API to only return LDAP imported user list +* Code clean and update Web APIs +* Remove number of synced libraries in devices page for simplify the interface and concept +* Update help pages +* \[online preview] The online preview size limit setting FILE_PREVIEW_MAX_SIZE will not affect videos and audio files. So videos and audio with any size can be previewed online. +* \[online preview] Add printing style for markdown + +Pro only features + +* Support LibreOffice online/Collabora Office online +* Add two-factor authentication +* Remote wipe (need desktop client 6.0.0) +* \[anti-virus] Support parallel scan +* \[anti-virus] Add option to only scan a file with size less than xx MB +* \[anti-virus] Add option to specific which file types to scan +* \[anti-virus] Add scanning virus instantly when user upload files via upload link +* \[online preivew] Add printing style for doc/pdf +* \[online preivew] Warn user if online preview only show 50 pages for doc/pdf with more than 50 pages +* \[fix] Fix search only work on the first page of search result pages +* Users can invite guests +* Add role based permission control +* Add term and conditions: admin can write a document of term and conditions. The user must accept it before using Seafile. + +## 5.1 + +You can follow the document on minor upgrade (). + +Warning: when upgrade from 5.1.7 or lower version to 5.1.8+, you need to install python-urllib3 (or python2-urllib3 for Arch Linux) manually: + +``` +# for Ubuntu +sudo apt-get install python-urllib3 +# for CentOS +sudo yum install python-urllib3 + +``` + +### 5.1.11 (2016.08.29) + +* \[fix, security] Fix a bug in permission checking when searching a single library +* Add search user by name and contact email +* Show licensed to information in web UI + +### 5.1.10 (2016.07.12) + +* \[fix] Fix a bug in showing license file information +* \[multi-institution] Enable institution admin to activate/inactive an user +* \[fix] Showing contact email in user auto-completion +* \[fix, multi-tenancy] Fix syncing sub-folder of a shared library +* \[fix, multi-tenancy] Fix file audit page broken when a group corresponding to an item is deleted +* \[fix] Fix seaf-fsck.sh --export fails without database +* \[fix] Fix users with Umlauts in their display name breaks group management and api2/account/info on some special Linux distribution +* Remove user from groups when a user is deleted. +* File lock only valid for 12 hours +* \[fix] Fix can't generate shared link for read-only shared library +* \[fix] Fix can still view file history after library history is set to "no history". +* \[fix] Fix after moving or deleting multiple selected items in the webinterface, the buttons are lost until reloading +* Check user before start seafile. The user must be the owner of seafile-data directory +* Don't allow emails with very special characters that may containing XSS string to register +* \[fix] Fix migrate from community edition to pro edition + +### 5.1.9 (deprecated) + +### 5.1.8 (2016.06.14) + +* \[fix] Fix "page unavailable" when anonymous user visiting a share link when there are organization libraries +* \[fix] Remove bundled python-urllib3 that may cause problems in some systems. In CentOS 7 and ubuntu 16.04 you will need to install python-urllib3 manully. +* \[fix] During downloading multiple files/folders, show "Total size exceeds limits" instead of "internal server error" when selected items exceeds limits. +* \[fix] When delete a share, only check whether the be-shared user exist or not. This is to avoid the situation that share to a user can't be deleted after the user be deleted. +* Add a notificition to a user if he/she is added to a group +* \[multi-institution] Add a page to show the admins of an institution +* \[multi-institution] Add the function to search a user in an institution + +### 5.1.7 (2016.06.08) + +* \[fix] Fix file locking for files with space in name when editing office files via Office Web App +* Improve UI for password change page when forcing password change after admin reset a user's password +* \[ldap sync] Don't deactivate users by default if a user is removed from LDAP server. (DEACTIVE_USER_IF_NOTFOUND = True to turn it on) +* The profile popup dialog show the contact email if it is set +* \[fix] Fix duplicated files show in Firefox if the folder name contains single quote ' +* Add OFFICE_WEB_APP_SERVER_CA setting item to enable visiting OWA server with a self-signed certificate + +### 5.1.6 (2016.05.30) + +* \[security] Fix permission checking for generating share links +* Add an option (ENABLE_SETTINGS_VIA_WEB) to ignore settings via Web UI (system admin->settings) +* \[fix] Fix rendering of some pdf files in Chrome via adding `font-variant-ligatures: no-common-ligatures` +* \[fix] Making user search (used in auto-completion) case insensitive + +### 5.1.5 (2016.05.24) + +* \[fix] Fix page error in display file audit log when the corresponding library is deleted for a log entry and the path is the root of the library +* \[fix] Fix clicking avatar not show profile popup in admin page +* Remove the traffic statistic link (to seafile.com) in profile popup +* \[fix] Fix delayed activation of Shibboleth users +* \[fix] Fix logging the user's email in audit log for share link when the link is a root of a library +* \[owa] Support visiting OWA server with a client side SSL certificate file + +### 5.1.4 (2016.05.17) + +* Download multiple files from Seahub as a ZIP-file +* \[fix] Bug that caused groups cannot be transfered is fixed +* \[fix, admin] Fix page error in display file audit log when the corresponding library is deleted for a log entry +* \[fix] fixed raw downloads not being count towards traffic quota. +* Show a notification in the client and Seahub when a new library is shared to a group. +* Use seafile-data/http-temp to store zip files when downloading a directory or folder +* \[accessibility] Improve accessiblity of library history page by making links for operations selectable by tab. +* \[accessibility] Improve accessiblity of dialogs, add missing "labelledby" properties for the whole dialog. +* Support at most 10 LDAP/AD servers +* Add deactivation of an account on the seafile database user if a number of failed login is attemped. +* \[admin] The share link list in system admin now can be sorted by time +* For un-login users, ask to providing an email before visiting download/upload links, and log the user's email in audit log. This is feature can be turn on by adding `ENABLE_SHARE_LINK_AUDIT` in seahub_settings.py + +### 5.1.3 (2016.04.27) + +* \[fix] Fix group rename +* \[ui] Remember the expanded status of groups +* \[accessibility] Improve accessiblity of library trash page +* \[accessibility] Improve file/folder upload menu +* list all devices in admin panel +* list device syncing errors in admin panel +* Support server side file content encryption +* Support xlsx/pptx editing via OWA +* Add syslog support for seafile.log + +### 5.1.2 (2016.04.21) + +* \[fix] Fix saving avatar to database +* \[fix] A few UI fixes + +Accessiblity improvement + +* Use standard checkbox instead of styled checkbox based on image +* Make library/folder/file operation icons visible on focus +* Make operation icons focusable +* Add aria-label to operation icons +* Make library/folder sort operations focusable +* Add role (navigation, banner, main) to regions +* Make dropdown menu items focusable + +### 5.1.1 beta (2016.04.13) + +* \[fix] Fix file link in search result +* \[fix] Fix setting of "require strong password" via web interface +* API: Add API to get audit log +* Sending email when import users from a CSV file + +### 5.1.0 beta (2016.04.08) + +Dependency update: + +* Upgrade to django 1.8 +* Update jquery to v1.11 +* \[ceph] Update librados to 0.9.4 + +Web + +* Redesign navigation +* Rewrite group management +* Improve sorting for large folder +* Remember the sorting option for folder +* Improve devices page +* Update icons for libraries and files +* Remove library settings page, re-implement them with dialogs +* Remove group avatar +* Don't show share menu in top bar when multiple item selected +* Auto-focus on username field when loading the login page +* Remove self-introduction in user profile +* Force the user to change password if adding by admin or password reset by admin +* disable add non-existing user to a group +* Add an option for disable forcing users to change password (FORCE_PASSWORD_CHANGE, default is True) +* Support new Shibboleth users be created as inactive and activated via Admin later (SHIB_ACTIVATE_AFTER_CREATION , default is True) + +Pro only + +* Support automatic file locking for office files +* Realtime backup (see ) +* Sending emails in backend when importing users via CSV files +* Support Swift API +* seaf-gc support running in multi-thread mode +* \[fix] Fix crash problem when visit S3/Swift via HTTPS +* \[fix] Fix handling special characters in LDAP group sync + +## 5.0 + +You can follow the document on major upgrade () + +In Seafile 5.0, we have moved all config files to folder `conf`, including: + +* seahub_settings.py -> conf/seahub_settings.py +* ccnet/ccnet.conf -> conf/ccnet.conf +* seafile-data/seafile.conf -> conf/seafile.conf +* \[pro only] pro-data/seafevents.conf -> conf/seafevents.conf + +If you want to downgrade from v5.0 to v4.4, you should manually copy these files back to the original place, then run minor_upgrade.sh to upgrade symbolic links back to version 4.4. + +The 5.0 server is compatible with v4.4 and v4.3 desktop clients. + +### 5.0.7 (2016.03.10) + +* \[security] Backport Django's fix for CVE-2016-2512 +* \[security] Improve randomness in password reset: using get_random_string from django.utils.crypto to replace Python's random library +* \[ui] Restore file from Trash using Ajax +* \[api] Add API to send share link via emails +* \[api] Add API to get Office Web App link + +### 5.0.6 (2016.03.02) + +* Add ENABLE_USER_CREATE_ORG_REPO to enable/disable organization repo creation. +* Change the Chinese translation of "organization" +* Use GB/MB/KB instead of GiB/MiB/KiB in quota calculation and quota setting (1GB = 1000MB = 1,000,000KB) +* Show detailed message if sharing a library failed. +* \[shibboleth] Support set user's name in Seafile from givenname and surname in Shibboleth. +* \[fix] Fix JPG Preview in IE11 +* \[fix] Fix empty nickname during shibboleth login. +* \[fix] Fix default repo re-creation bug when web login after desktop. +* \[fix] Don't show sub-libraries at choose default library page, seafadmin page and save shared file to library page +* \[fix] Seafile server daemon: write PID file before connecting to database to avoid a problem when the database connection is slow +* \[fix] Don't redirect to old library page when restoring a folder in snapshot page +* \[fix] Fix a bug in showing virus scan page +* \[fix] Fix background notification email sending. +* \[fix, cluster] Fix handling memcached server failover + +### 5.0.5 (2016.01.29) + +* Change the Chinese translation of "organization" +* \[fix] Show "out of quota" instead of "DERP" in the case of out of quota when uploading files via web interface +* Get name, institution, contact_email field from Shibboleth +* \[webdav] Don't show sub-libraries + +### 5.0.4 (2016.01.20) + +* Read/write fs objects with multiple threads when Ceph/S3 back end is used +* Support HTTPS connections to S3 back end. +* \[fix] Fix unable to set a library to keep full history when the globally default keep_days is set. +* \[fix] Improve the performance of showing library trash +* \[fix] Fix downloading a file from a shared link when its path contain special characters +* \[fix] Improve share icon +* Stop logging into logs/stats-logs +* Don's show "Access Log" for a file in the dropdown menu if audit log is not turned on. + +### 5.0.3 (2015.12.28) + +* Search user by name in case insensitive way +* Show broken libraries in user's library page (so they can contact admin for help) +* \[fix] Fix LDAP sync problem +* \[fix] Fix support for SQLite backend +* \[fix] Fix PDFs under special folder name can't be viewed online +* \[fix] Fix cache for thumbnail in sharing link +* \[fix] Fix script for online GC +* \[fix] Enable copy files from read-only shared libraries to other libraries +* \[fix] Open image gallery popup in grid view when clicking the thumbnail image +* \[fix] Fix issues in multi-tenancy mode +* \[api] Add listing share upload links +* \[api] Delete be-shared libraries + +### 5.0.2 (2015.12.18) + +* \[ui] Improve UI of all groups page +* Don't allow sharing library to a non-existing user +* \[fix, admin] Fix deleting a library when the owner does not exist anymore +* \[fix] Keep file last modified time when copy files between libraries +* Enable login via username in API +* \[ui] Improve markdown editor + +Cluster + +* \[fix] Fix a read/write consistency bug in reading library latest commit from database + +Improve seaf-fsck + +* Do not set "repaired" mark +* Clean syncing tokens for repaired libraries so the user are forced to resync the library +* Record broken file paths in the modification message + +Sharing link + +* Remember the "password has been checked" information in session instead of memcached +* \[security] Fix password check for visiting a file in password protected sharing link. +* Show file last modified time +* \[fix] Fix image thumbnail in grid view +* \[ui] Improve UI of grid view mode + +### 5.0.1 (2015.12.07) + +New features + +* \[admin] Show the list of groups an user joined in user detail page +* \[admin] Add exporting user/group statistics into Excel file +* \[admin] Admin can see the file number of a library +* \[admin] Admin can disable the creation of encrypted library +* \[admin] Admin can visit all non-encrypted libraries via Web UI (need to turn on `ENABLE_SYS_ADMIN_VIEW_REPO = True` in seahub_settings.py) +* \[admin] Add license expiration notification +* \[admin] A tool to debug LDAP/AD settings +* \[admin] Use a new algorithm to run GC online, reducing database locking time. +* \[admin] Enabling exporting audit logs to Excel file +* Enable searching inside a library +* User can see the access log of a file +* Showing libraries list in "All Groups" page +* Add importing group members from CSV file +* Add grid view for folder sharing link +* A trash for every folder, showing deleted items in the folder and sub-folders. + +Account management improvement: + +* Admin can set username (internally it is called login_id) for an user and enable login by username. (see the [LDAP user sync document](http://manual.seafile.com/deploy/ldap_user_sync.html) for how to sync user ID into login_id) +* Admin can set contact_email for users + + +``` +Seafile uses email to uniquely identify an user. With these two features, you can sync LDAP username into login_id, sync LDAP email to contact_email, store username@domain-name to Seafile's email field. With this config: + * Users will be able to login via username + * Email will be send to the contact email address + * Seafile uses username@domain-name to uniquely identify an user. + +``` + +UI changes: + +* Change most png icons to icon font +* UI change of file history page +* UI change of library history page +* UI change of trash page +* UI change of sharing link page +* UI change of rename operation +* Don't open a new page when click the settings, trash and history icons in the library page +* Update Markdown editor and viewer +* other small UI improvements + +Config changes: + +* Move all config files to folder `conf` +* Add web UI to config the server. The config items are saved in database table (seahub-dab/constance_config). They have a higher priority over the items in config files. + +Fixes + +* \[fix, admin] Fix searching libraries by name when some libraries are broken +* \[security] Change most GET requests to POST to increase security +* \[fix] Fix problem in deleting tmp files in virus scan +* \[fix] Fix seaf-gc when seafile-data is stored in non-default location + +### 5.0.0 (deprecated) diff --git a/manual/changelog/client-changelog.md b/manual/changelog/client-changelog.md new file mode 100644 index 00000000..9e158a80 --- /dev/null +++ b/manual/changelog/client-changelog.md @@ -0,0 +1,993 @@ +# Seafile Client Changelog + +## 8.0 + +### 8.0.0 beta (2020/11/28) + +* \[Win] Build with Visual Studio 2019 instead of MinGW +* \[Win/Mac] Upgrade Qt version to 5.15.1 (which supports TLS 1.3) +* Add V4 encryption library support, which will be available in server 8.0 + +## 7.0 + +### 7.0.10 (2020/10/16) + +* Fix sync error when downloading duplicated files from a library +* Fix crash bug when downloading files with very long names + +### 7.0.9 (2020/07/30) + +* Avoid downloading existing blocks during sync download +* Fix crash when cancel syncing before a library is synced +* Fix incorrect error message in some error situations + +### 7.0.8 (2020/06/03) + +* Fix GUI crash on start +* Avoid redundant notification when downloading updates from a read-only library + +### 7.0.7 (2020/04/03) + +* Use new API to copy/move files from one library to another in cloud file browser +* \[fix] Fix SSO problem after logout and login again +* \[mac] Ignore files start with `._` +* \[fix] Fix deleting of multiple sync error logs + +### 7.0.6 (2020/02/14) + +* Enable to config block size at the client side +* Do not refresh explorer when restart +* Can clean sync error records in sync errors dialog +* \[fix] Do not popup the sync errors dialog when click a sync notification popup + +### 7.0.5 (2020/01/14) + +* Fix some right click menu do not work +* Fix "View on cloud" function +* Fix sign in file name break "view file history" +* Support get upload link for folders +* \[mac] Fix SSO in MacOS 10.15 + +### 7.0.4 (2019/11/20) + +* Fix showing syncing error "!" in the system tray icon after restarting the client +* Don't clean modified files in cloud file browser +* Improve seaf-cli +* \[mac] Add support for MacOS 10.15 +* \[mac] Drop support for MacOS 10.12, 10.11 and 10.10 + +### 7.0.3 (2019/10/31) + +* Official repo for CentOS or RHEL is ready. Currently only CentOS/RHEL 7 is supported. +* Seaf-cli now support both Python2 and Python3. +* Re-enable the old style seafile internal links (seafile://openfile?repo_id=…) +* Improve error message display +* Fix a bug that local added files are deleted if the folder is removed or renamed by another user simultaneously. +* Improve progress percentage display during syncing downloading. +* Users can check who locked a file now + +### 7.0.2 (2019/08/12) + +* Improve notifications when user editing files in read-only libraries +* \[fix] Fix seaf-cli syncing problem + +### 7.0.1 (2019/07/11) + +* Fix a bug that causing GUI to crash when seaf-daemon dead +* Fix a bug that cloud file browser does not show file status correctly +* Do not show lots of "Failed to index file" messages + +### 7.0.0 (2019/06/04) + +* Improve error notifications +* Support new version of encrypted libraries if server version is 7.0.0+ +* Starred items support libraries and folders +* Support new version of file activities +* Fix the error of "Failed to remove local repos sync token" during client shutdown +* Add menu to repair Windows Explorer extension + +## 6.2 + +### 6.2.10 (2019/01/15) + +* \[fix] Fix support for Windows user name containting non-ascii characters +* Remove seacloud.cc from the default server list +* Remove description from library detail dialog + +### 6.2.9 (2018/12/10) + +* \[fix] Fix background index when upload files via cloud file browser +* Don't call ping and account-info every 5 minutes + +### 6.2.8 (2018/12/05) + +* \[fix] Don't refresh activity list automatically +* \[fix] Fix view on Web link for starred items + +### 6.2.7 (2018/11/22) + +* Handle library permission change for synced libraries +* Don't retry forever when error occur during first time downloading +* \[mac] Fix dark mode support on Mac Mojave +* Show user's name instead of email in account switching popup + +### 6.2.5 (2018/09/14) + +* More robust deleting folder locally if it is deleted on the server +* Show file modifier in cloud file browser +* \[fix, win] Fix avatar with jpg format can't be displayed problem +* Support getting internal link +* \[fix, win] Fix support for some SSL CA + +### 6.2.4 (2018/08/03) + +* \[fix] Fix a bug that causing Windows Explorer crash + +### 6.2.3 (2018/07/30) + +* Prevent multiple seaf-daemon running +* \[fix] Support preconfigured Shibboleth Url +* Restart seaf-daemon automatically if it is dead + +### 6.2.2 6.2.1 Beta (2018/07/13) + +* \[fix] Fix initialization problem in first time launching +* Improve file syncing notification message + +### 6.2.0 Beta (2018/07/03) + +* \[mac] Add automatical locking support for Office files +* \[mac] Don't update local office file if it is editing locally while simultaneously edited remotely +* \[win] Enable using both syncing client and drive client while keep the Explorer file status icon work for both +* \[win] Remove ccnet component to make running multiple-instances on a single machine possible +* Don't send unneccesary "api2/events" requests +* \[cloud file browser] Fix uploading retrying +* \[fix] Fix .eml files can't be deleted + +## 6.1 + +### 6.1.8 (2018/05/08) + +* \[fix] Fix display of library search box + +### 6.1.7 (2018/03/29) + +* \[fix] Fix file searching +* \[cloud file browser] Support showing indexing progress after uploading a large file + +### 6.1.6 (2018/03/13) + +* \[fix] Fix crash during login +* \[cloud file browser] Only show search button when the server is pro edition +* Show detailed path when a library can't be synced because a file is locked +* \[fix] Fix a crash during file syncing caused by files with illegal file name +* \[fix] Fix a bug that causing crash during loading libraries + +### 6.1.5 (2018/02/06) + +* Add "trust this device" function to two-step authentication +* Add search files inside a library +* Some UI improvements + +### 6.1.4 (2017/12/20) + +cloud file browser + +* Don't use resumable upload feature when updating a file +* Show an icon to indicate that a file is cached +* Show a warning icon when a file failed to upload to the server after changing +* User can re-upload a local modified file that failed to upload +* Add a command to open local cache folder +* Improve error messages when uploading a file or a folder +* \[mac] Fix a bug that a doc/xls file uploaded automatically after downloading +* Some ui fixes and improvements + +others + +* Don't show the connection status of 127.0.0.1 +* Disable editing of local syncing path, users can only choose a path +* Some ui fixes and improvements + +### 6.1.3 (2017/11/03) + +* \[fix] Fix system tray icon +* Change "Shibbeloth Login" to "Single Sign On" +* \[fix] Fix MacOS client using discrete GPU +* \[cloud file browser] Improve file uploading after modification +* \[cloud file browser, fix] Don't show quota exceeded when server return 502 error +* \[cloud file browser] Show number of files in current folder + +### 6.1.2 (2017/10/28) + +* \[win] Update system tray icon +* Return error if repo name contains invalid characters when syncing a library +* Update local folder name when repo name is changed. +* Leave a shared library +* \[fix] Fix open cloud file browser from activity view +* \[fix] Fix loading more events in activity tab +* \[fix, cloud file browser] Always watching local cached files after uploading failed when file changed +* \[fix, cloud file browser] Use local cached version if it is changed locally + +### 6.1.1 (2017/09/20) + +* Improve support for syncing EML files (Don't sync EML files if only timestamp changed) +* Improve support for Copy/Paste files in cloud file browser +* \[mac] Fix opening file history from Mac +* \[fix] Fix memory leak in Windows extension handler +* \[fix] Fix re-login with Shibboleth +* UI/UX improvements for cloud file browser +* \[fix, windows] Fix a bug in detecting whether there is an old instance of Seafile running + +### 6.1.0 (2017/08/02) + +* \[fix] Fix a bug that library name will be changed back when it is changed in the server +* \[fix] Fix a bug that uploading progress exceeding 100%. +* \[fix] Fix selectively synced subfolder disappear after logout and login again +* Use new library icons +* \[fix] Fix showing of avatars +* \[fix] Improve UI in Windows with high DPI screens +* Only allow https for Shibboleth login +* Clean unused logs in applet.log +* Remove the function of map a library to a network drive +* \[fix] Fix an issue when uploading a deep empty folder like "A/B/C" +* Change default block size to 8MB +* \[fix, mac] Popup a notification after user clicking the "Check new version" button in about dialog if the current version is the latest version + +## 6.0 + +### 6.0.7 (2017/06/23) + +* \[fix] Fix auto-completion in sharing dialog +* Show contact avatars in auto-completion of sharing dialog +* \[fix] Fix mis-leading error message when uploading a file to a read-only library via cloud file browser +* Add highlight background color when drag and drop a file/folder to a library +* \[fix] Fix connection error in libcurl +* \[fix] Fix sorting by time in cloud file browser +* \[fix] Fix sorting by name case sensitive in cloud file browser +* \[fix] Fix drag more than one folder to cloud file browser +* Add loading more in activity tab and search tab +* "View sync error" can only be clicked when there are sync errors +* Move seafile.log, applet.log to seafile.log.old, applet.log.old if they become too large +* Remove the "?" icon in creating new folder dialog title bar + +### 6.0.6 (2017/05/08) + +* Sort files by numbers if numbers contained in the file name, so "1, 10, 2, 11, 3" will be sorted as "1, 2, 3, 10, 11". +* Use native system window for Seafile main windown and cloud file browser window. +* Fix progress overflow when uploading large file using cloud file browser +* Improve the tip when removing an account in the client +* Don't show download button when select folders in cloud file browser +* Clean cache data of cloud file browser when logout an account or restart the client +* \[fix] Fix display problem for high screen Windows in win10 +* \[fix] Fix libssl compatibility problem in Debain Stretch +* Add auto-update check + +### 6.0.4 (2017/02/21) + +* \[fix] Fix Shibboleth login support +* Improve network connection check +* Don't log "read pipe error" into log file +* \[fix] Fix the link for help page +* Improve library sharing dialog (pro edition only feature) + +### 6.0.3 (2017/02/11) + +* Add a dialog to list all sync errors +* Don't popup file is locked by other users error message +* Make sync error message more accurate +* \[win] Support intermediate CA +* \[cloud file browser] Show correct error message when quota is exceeded during file upload +* Show the server address during Shibboleth login +* Support pre-config Shibboleth server address in seafile.ini +* \[fix] Show the recent shared user in sharing dialog +* "open folder" changed to "open local folder" + +### 6.0.2 (deprecated) + +This version has a few bugs. We will fix it soon. + +### 6.0.1 (2016/12/07) + +* Don't generate case conflict file/folder +* \[fix] Fix popup style for Mac Sierra +* Show image thumbnail in cloud file browser +* Change label "organization" to "shared with all", "private shares" to "shared with me" + +### 6.0.0 (2016/10/14) + +* \[fix] Fix a conflict problem with ESET anti-virus program +* Fix client name and add client version in modification history +* Add remote wipe support +* \[fix] Fix sub-folder permission support + +## 5.1 + +### 5.1.4 (2016/07/29) + +* \[fix] Fix seaf-daemon crash if root dir is corrupted +* \[fix, pro] Fix auto-completion in sharing a folder to a user if the user name contains a space + +### 5.1.3 (2016/06/27) + +* Support syncing any sub-folder with a community server +* \[fix, win] Fix automatically unlocking office files +* \[fix, pro] Fix auto-completion in sharing a folder to a user +* auto-login for open file history in web +* Prevent generating too many "case conflict" files + +### 5.1.2 (2016/06/07) + +* Add context menu to view file history in web +* \[fix, pro] Fix user auto-completion in folder sharing dialog +* \[linux] Fix tray icon not shown in KDE 5 +* \[win 10, fix] Fix explorer context menu has no right arrow +* \[win, fix] Can't create new files/folders in "My Library" Shortcut +* \[win, fix] Fix on Windows 10 sometimes the seafile client main window exceeds the height of the screen. + +### 5.1.1 (2016/05/04) + +* Add “Groups” category in the client’s library view +* Click notification pop up now open the exact folder containing the modified file. +* Change "Get Seafile Share Link" to "Get Seafile Download Link" +* \[fix] Use case-insensitive sorting in cloud file browser +* \[fix] Don't sync a folder in Windows if it contains invalid characters instead of creating an empty folder with invalid name +* \[fix] Fix a rare bug where sometimes files are synced as zero length files. This happens when another software doesn't change the file timestamp after changing the content of the file. + +### 5.1.0 (2016/04/11) + +Note: Seafile client now support HiDPI under Windows, you should remove QT_DEVICE_PIXEL_RATIO settings if you had set one previous. + +* Update to QT5.6 +* Add HiDPI support +* Remove corrupted local metadata when unsync or resync a library + +## 5.0 + +### 5.0.7 (2016/03/29) + +* \[fix, mac] Enable multi-users running Seafile on Mac +* \[win, pro] auto-lock office files (doc/ppt/excel) when open, require Seafile pro edition v5.1.0+ +* Enable using system proxy setting +* Auto login when viewing unread notifications +* Record device name to modification history + +### 5.0.6 (2016/03/08) + +* \[fix, mac] Fix deleted folder get re-uploaded if with .DS_Store inside +* \[fix] Fix loading proxy configuration during start-up +* \[fix] Fix a crash bug when using libcurl with multiplt https connection +* \[fix] Fix sync problem when the network connection is slow +* Use GB/MB/KB instead of GiB/MiB/KiB (1GB = 1000MB = 1,000,000KB) +* \[fix] Fix disappear of synced sub-folder from the main window +* Small UI improvements + +### 5.0.5 (2016/02/20) + +* \[fix] Fix a crash bug in multi-threaded file download/upload + +### 5.0.4 (2016/01/26) + +* Add crash report support +* \[win] Add mapping a synced library as a network drive + +### 5.0.3 (2016/01/13) + +* \[fix] Fix German translation + +### 5.0.2 (2016/01/11) + +* \[fix] Fix compatibility issue with F-Secure +* Add setting sync interval for a library +* Showing progress when downloading file list during the first-time syncing + +### 5.0.1 (2015/12/21) + +* \[fix] Fix a memory leak +* Show user name instead of email in the profile area +* \[pro] For pro users, you can manage the library sharing from the client now. + +### 5.0.0 (2015/11/25) + +* Show storage usage +* Support login via username +* Set current tab icon color to orange +* Send notifications when sync error happens for some files +* Improve file locking for Microsoft Office files +* \[fix] Fix preventing syncing with any folder if it is prevented by the server +* \[windows] Set TCP send buffer size and TCP_NODELAY options +* \[fix] Keep ignore files when deleting a folder () + +## 4.4 + +### 4.4.2 (2015/10/20) + +* \[fix] Fix showing data transfer percentage in syncing. +* Add open containing folder in search result + +### 4.4.1 (2015/10/14) + +* \[fix, win] Fix a rare bug in file sync on Windows related to multi-thread downloading + +### 4.4.0 (2015/09/18) + +* Fix bugs in file ignore feature +* Fix popup two password input dialogs when visit an encrypted library +* Popup a tip when file conflicts happen +* Don't send the password to server when creating an encrypted library +* \[mac] Fix support for TLS 1.2 +* \[win, extension] Add context menu "get internal link" +* Enable uploading of an empty folder in cloud file browser +* \[pro] Enable customization of app name and logo for the main window (See ) +* A few small UI improvements + +## 4.3 + +### 4.3.4 (2015/09/14) + +* Fix a bug in refresh file locking status icon +* Use 3 threads instead of 10 threads when syncing files to reduce load on server + +### 4.3.3 (2015/08/25) + +* Fix one more syncing issues introduced in v4.3.0 +* Improve the file lock icon +* Improve cloud file browser +* Fix icon overlay problem in win10 +* Add back sync with existing folder + +### 4.3.2 (2015/08/19) + +* Fix more syncing issues introduced in v4.3.0 +* Update translation +* Fix ignore feature +* Add HiDPI icons for cloud file browser + +### 4.3.1 (2015/08/11) + +* Fix syncing issues. + +### 4.3.0 beta (2015/08/03) + +* \[fix, windows] Fix a bug that causes freeze of Seafile UI +* \[sync] Improve index performance after a file is modified +* \[sync] Use multi-threads to upload/download file blocks +* \[admin] Enable config Seafile via seafile.rc in Mac/Linux or seafile.ini in Windows () +* \[admin] Enable uninstall Seafile without popup "deleting config files" dialog +* Add file lock +* \[mac, extension] Add getting Seafile internal link +* \[mac, extension] Improve performance of showing sync status + +## 4.2 + +### 4.2.8 (2015/07/11) + +* \[win] Another fix on the explorer extension +* Improve the ui for downloading the encrypted library +* filebrowser: fix a crash when closed while context menu pop up +* explorer extension: show read-only badge when a file is read-only + +### 4.2.7 (2015/07/08) + +* \[win] Fixed another bug that will cause crash of explorer extension +* \[win] Add executable file version information for the client +* \[mac] Use OS X native notification when possible (OS X >= 10.8) +* \[mac] Implement sync status improvement for every files +* filebrowser: fix uploading failures in the folders with permission set +* filebrowser: support "save as" multiple files simultaneously +* filebrowser: fix the sorting of folders +* filebrowser: implement get seafile internal link +* shibboleth: popup ShiLoginDialog when doing relogin +* \[ui] disable the inputablity of computer name when doing login + +### 4.2.6 (2015/06/25) + +* \[win] Fixed more memory problem that will cause crash of explorer extension + +### 4.2.5 (2015/06/24) + +* \[win] Fixed a possible memory corruption in explorer extension +* \[win] Add icon for readonly state in explorer extension +* \[win] unconfigured clients now can hide the configuration wizard +* \[win] ui: improve set password dialog +* \[win] fix broken local DNS resolve +* \[mac] add "seafile://" protocol support +* \[ui] tweak search tab item padding +* Add a menu item to open seafile folder +* \[ui] don't change current account after logout +* \[ui] fix some bugs on account-view +* \[ui] improve account management +* filebrowser: support readonly directories +* \[fix] Fix creating subfolder for password-protected repo +* \[fix] Fix file size integer overflow in search results + +### 4.2.4 (2015/06/11) + +* \[win] add workarounds with auto update bugs in cloud browser +* \[win] add the missing support for ipv6 (curl) +* \[pro] add new tab to searching files +* \[osx] fix the regularly disappearance tray icon (Qt5.4.2) +* \[osx] fix broken network connection sometimes after resume (Qt5.4.2) +* add an option to syncing with an existing folder with a different name +* avoid race condition when quiting +* fix a bug with opening password-protected repo in cloud browser +* ui: tweak paddings in the event activities +* filebrowser: show file type correctly along with icons +* ui: improve repo item category +* ui: show download link in share link dialog +* ui: enhance event details + +### 4.2.3 (2015/05/29) + +* Improve self-signed CA support +* Auto login when click "view on cloud" +* \[fix] Fix bugs with open directory from modification details dialog (pro) +* \[fix] Fix incorrect transfer rates for each sync task +* \[fix] Fix auto uploaded modified files in cloud file browser for some office files + +### 4.2.2 (2015/05/26) + +* \[win] Use Openssl to handle HTTPS connection +* \[mac] Load trusted CA certificates from Keychain +* \[fix] Fix logout/login issue (libraries stay at waiting for sync) +* \[fix] Fix a file deletion problem in Mac client +* Ignore the others of ssl errors if we have dealt with one +* Expand env variable in preconfigure seafile directory +* Hide explorer extension option on other platforms than windows +* Cloud file browser: fix broken title bar when minimized on windows +* Remove unused option in setting dialog + +### 4.2.1 (2015/05/14) + +* \[fix] Fix "Waiting for synchronization" problem +* \[win] Fixed encoding problem in the explorer extension +* \[win] Prefer home for seafile data dir when it is on the largest drive +* \[win] Adopt preconfigure directory for initialization if any +* \[win] Adopt preconfigure server addr for adding accounts if any +* \[win] Open current repo worktree when clicking ballon message +* \[mac] Fix some memory leaks +* Description is no longer required when creating repositories +* \[fix] Fix webview url for server version >= 4.2.0 +* redesign the event list in activity tab (pro) +* \[fix] Fix window focus when creating repository from drag and drop +* \[fix] filebrowser: fix sorting column kind for non-English users +* network: disable weak ciphers explicitly +* \[fix] Fix a issue synced subfolders are not shown when client starts +* \[fix] Remember the used server addresses for convenience +* \[fix] Fix the ssl handshake errors with custom CA seafile servers + +### 4.2.0 (2015/05/07) + +* \[win] Support overlay icons for files based on the sync status +* Use http syncing only +* Auto detect existing folders and prompt "syncing with existing folder" in first time syncing +* \[win] Open desktop icon popup the main window if Seafile is already running +* Respect umask on Linux +* \[fix] Fix main window stay outside screens problem +* \[fix] Fix a few small syncing issues. +* \[osx] Allow sharing root directory from finder extension +* Auto login from the client when click the server URL (need v4.2 server) +* Auto logout when the authorization is expired (require server supports) +* Auto detect existing folders in first time syncing +* Save server info persistently +* More miscellaneous fixes + +## 4.1 + +### 4.1.6 (2015/04/21) + +* \[win] add overlay icon to show sync status at the library level +* \[win] add an option to enable/disable explorer extension support +* \[mac] add finder sync extension (need OSX 10.10.x) +* \[mac] fix the broken hide-the-dock option in some cases +* \[linux] fix the bug that we have two title bar for some desktop environment +* Update shibboleth support +* \[cloud file browser] Pop notifications when new versions of cached files uploaded +* \[cloud file browser] Add a save_as action +* \[cloud file browser] Improve file browser's UI +* \[fix] Fix a rare case of login failure by using complex password, a regression from 4.1.0 +* \[fix] Fix a rare case of program crash when changing accounts +* Update avatars automatically +* More miscellaneous fixes + +### 4.1.5 (2015/04/09) + +* Add Shibboleth login support +* Reset local modified files to the state in Server when resyncing a read-only library. +* \[fix] Fix unable to unsync a library when it is in the state of uploading files +* \[fix, win] handle file/directory locking more gracefully +* Add http user agent for better logging in Apache/Nginx +* \[fix] Fix timeout problem in first time syncing for large libraries + +### 4.1.4 (2015/03/27) + +* \[fix, win] Fix Windows explore crash by seafile extension when right clicking on "Libraries->Documents" at the right side + +### 4.1.3 (2015/03/23) + +* \[fix] Fix unable to sync bug (permission denial) if the Windows system user name contains space like "test 123" introduced in v4.1.2 +* \[win] Update version of OpenSSL to 1.0.2a + +### 4.1.2 (2015/03/19) (deprecated) + +* Add logout/login support (need server 4.1.0+) +* fix proxy password disappearance after restarting issue +* mask proxy password in the setting dialog +* \[fix] fix unexpected disconnection with proxy servers +* \[fix] fix a conflicting case when we have read-only sharing repository to a group +* update translations +* support darkmode (OS X) +* and other minor fixes + +### 4.1.1 (2015/03/03) + +* Add network proxy support for HTTP sync +* \[mac] Add more complete support for retina screen +* Improve UI +* Add option for killing old Seafile instance when starting a new one +* Add experimental support for HiDPI screen on Windows and Linux +* Showing shared from for private shared libraries +* Use API token v2 for shibbloeth login +* \[fix] Fix some bugs in uploading file from cloud file browser +* fix a bug of uploading directory from cloud file browser (pro version) + +### 4.1.0 beta (2015/01/29) + +* Add support for HDPI screen by using QT5 +* \[win] Add context menu for generating share link +* Enable changing of interface language +* Make http syncing the default option (will fall back to non-http sync automatically if the server does not support it) +* \[fix] Fix a problem in handling long path in Windows + +## 4.0 + +### 4.0.7 (2015/01/22) + +* \[win] support for file path greater than 260 characters. + +In the old version, you will sometimes see strange directory such as "Documents~1" synced to the server, this because the old version did not handle long path correctly. + +### 4.0.6 (2015/01/09) + +* \[fix] Fix a timeout problem during file syncing (Which also cause program crash sometimes). + +### 4.0.5 (2014/12/24) + +* \[mac] More on fixing mac syncing problem +* \[linux, mac] Do not ignore files with invalid name in Windows +* \[fix] Fix "sync now" +* \[fix] Handle network problems during first time sync +* \[file browser] Support create folders +* \[file browser] Improve interface +* \[file browser] Support multiple file selection and operation + +### 4.0.4 (2014/12/15) + +* \[mac] Fix a syncing problem when library name contains "è" characters +* \[windows] Gracefully handle file lock issue. + +In the previous version, when you open an office file in Windows, it is locked by the operating system. If another person modify this file in another computer, the syncing will be stopped until you close the locked file. In this new version, the syncing process will continue. The locked file will not be synced to local computer, but other files will not be affected. + +### 4.0.3 (2014/12/03) + +* \[mac] Fix a syncing problem when library name contains "è" characters +* \[fix] Fix another bug in syncing with HTTP protocol + +### 4.0.2 (2014/11/29) + +* \[fix] Fix bugs in syncing with HTTP protocol + +### 4.0.1 (2014/11/18) + +* \[fix] Fix crash problem + +### 4.0.0 (2014/11/10) + +* Add http syncing support +* Add cloud file browser + +## 3.1 + +### 3.1.12 (2014/12/01) + +* \[fix] Fix a syncing problem for files larger than 100MB. + +### 3.1.11 (2014/11/15) + +* \[fix] Fix "sometimes deleted folder reappearing problem" on Windows. + +You have to update all the clients in all the PCs. If one PC does not use the v3.1.11, when the "deleting folder" information synced to this PC, it will fail to delete the folder completely. And the folder will be synced back to other PCs. So other PCs will see the folder reappear again. + +### 3.1.10 (2014/11/13) + +* \[fix] Fix conflict problem when rename the case of a folder +* \[fix] Improve the deleted folder reappearing problem if it contains ignored files +* \[fix] Add "resync" action + +### 3.1.8 (2014/10/28) + +* Better support read-only sync. Now local changes will be ignored. +* \[mac,fix] Fix detection of local changes. + +### 3.1.7 (2014/09/28) + +* \[fix] Fix another not sync problem when adding a big file (>100M) and several other files. + +### 3.1.6 (2014/09/19) + +* Add option to sync MSOffice/Libreoffice template files +* Add back choosing the "Seafile" directory when install Seafile client. +* Add option to change the address of a server +* Add menu item for open logs directory +* \[mac] Add option for hide dock icon +* Show read-only icon for read-only libraries +* Show detailed information if SSL certification is not valid +* Do not show "Seafile was closed unexpectedly" message when turning down of Windows +* Don't refresh libraries/starred files when the window is not visible +* Move local file to conflict file when syncing with existing folder +* Add more log information when file conflicts happen +* \[fix] Fix sync error when deleting all files in a library +* \[fix] Fix not sync problem when adding a big file (>100M) and several small files together. +* \[fix] Fix Windows client doesn't save advanced settings + +### 3.1.5 (2014/08/14) + +* Do not ignore libreoffice lock files +* \[fix] Fix possible crash when network condition is not good. +* \[fix] Fix problem in syncing a large library with an existing folder +* Add option "do not unsync a library even it is deleted in the server" +* \[mac] upgrade bundled openssl to 1.0.1i +* \[mac] remove unused ossp-uuid dependency +* \[mac] fix code sign issue under OSX 10.10 + +### 3.1.4 (2014/08/05) + +* \[fix, mac] Fix case conflict problem under Mac + +### 3.1.3 (2014/08/04) + +* \[fix] Fix showing bubble +* \[mac] More UI improvements +* Do not ignore 'TMP', 'tmp' files + +### 3.1.2 (2014/08/01) + +* Do not show rotate icon when checking update for a library +* Do not show activity tab if server not supported +* \[mac] show unread messages tray icon on Mac +* \[mac] Improve UI for Mac +* \[fix] Support rename files from upper case to lower case or vice versa. + +### 3.1.1 (2014/07/28) + +* \[win] Fix crash problems +* \[win] Fix interface freeze problem when restoring the window from the minimized state +* Remove the need of selecting Seafile directory + +### 3.1.0 (2014/07/24) + +* Add starred files and activity history +* Notification on unread messages +* Improve icons for Retina screen +* Load and show avatar from server +* Use new and better icons + +## 3.0 + +### 3.0.4 + +* \[fix] Fix a syncing bug + +### 3.0.3 + +* \[fix] Fix syncing problem when update from version 2.x +* \[fix] Fix UI when syncing an encrypted library + +### 3.0.2 + +* \[fix] Fix a syncing issue. + +### 3.0.1 + +* Improved ssl check +* Imporved ui of sync library dialog +* Send device name to the server +* \[fix] Fixed system shutdown problem +* \[fix] Fixed duplicate entries in recently updated libraries list +* Remove ongoing library download tasks when removing an account +* Updated translation +* \[fix] Fix file ID calculation + +### 3.0.0 + +* Adjust settings dialog hint text size +* Improved login dialog + +## 2.2 + +### 2.2.0 + +* Add check for the validity of servers' SSL Certification + +## 2.1 + +### 2.1.2 + +* Show proper error message when failed to login +* Show an error message in the main window when failed to get libraries list +* Open seahub in browser when clicking the account url +* Add an option "Do not automatically unsync a library" +* Improve sync status icons for libraries +* Show correct repo sync status icon even if global auto sync is turned off +* Show more useful notification than "Auto merge by system" when conflicts were merged + +### 2.1.1 + +* Make the main window resizable +* \[windows] Improved tray icons +* Show detailed network error when login failed +* Show sub-libraries +* \[windows] Use the name of the default library as the name of the virtual disk + +### 2.1.0 + +* Redesigned the UI of the main window +* \[windows] Download the default library, and creates a virtual disk for it in "My Computer" +* Support drag and drop a folder to sync +* Automatically check for new version on startup +* Support of file syncing from both inside and outside the LAN +* \[fix] Fix a bug of clicking the tray icon during initialization +* \[fix] fixed a few bugs in merge and handling of empty folders +* \[mac] Fixed the alignment in settings dialog + +## 2.0 + +### 2.0.8 + +* \[fix] Fix UI freeze problem during file syncing +* Improve syncing speed (More improvements will be carried out in our next version) + +### 2.0.7 (Don't use it) + +Note: This version contains a bug that you can't login into your private servers. + +* \[fix] Fix a bug which may lead to crash when exiting client +* show library download progress in the library list +* add official server addresses to the login dialog +* improve library sync status icons +* \[windows] use the same tray icon for all windows version later than Vista +* translate the bubble notification details to Chinese + +### 2.0.6 + +* \[windows] Fix handling daylight saving time +* Improve library details dialog +* \[fix] Fix a bug in api request +* Improve the handling of "Organization" libraries +* \[fix] Fix the settings of upload/download rate limit +* \[fix] Update French/German translations +* \[cli] Support the new encryption scheme + +### 2.0.5 + +* Improve UI +* Fix a bug in French translation + +### 2.0.4 + +* Improve memory usage during syncing +* \[windows] Change system tray icons +* \[windows] Hide seafile-data under Seafile folder +* \[fix] Fix remember main window's location +* Improve the dialog for adding account +* Add setting for showing main windows on seafile start up +* Open local folder when double click on a library +* Show warning dialog when login to a server with untrusted ssl certification + +### 2.0.3 + +* sync empty folder +* support seafile crypto v2 +* show warning in system tray when some servers not connected +* add German/French/Hungarian translations +* change system tray icons for Windows +* show "recent updated libraries" +* reduce cpu usage +* \[fix] fixed a bug when login with password containing characters like "+" "#" +* ask the user about untrusted ssl certs when login +* add Edit->Settings and "view online help" menu item + +### 2.0.2 + +* \[fix] Fix compatibility with server v1.8 +* \[fix] the bug of closing the settings dialog +* Add Chinese translation +* Show error detail when login failed +* Remember main window position and size +* Improve library detail dialog +* Add unsync a library + +### 2.0.0 + +* Re-implement GUI with Qt + +## 1.8 + +1.8.1 + +* \[bugfix] Fix a bug in indexing files + + 1.8.0 + +* \[bugfix] Skip chunking error +* Improve local web interface +* Remove link to official Seafile server +* Ignore all temporary files created by Microsoft Office +* Add French and Slovak translation + +## 1.7 + +1.7.3 + +* \[bugfix] Fix a small syncing bug. + + 1.7.2 + +* \[bugfix] Fix a bug in un-syncing library. + + 1.7.1 + +* \[win] Fix selecting of Seafile directory + + 1.7.0 + +* \[win] Enable selecting of Seafile directory +* Enable setting of upload/download speed +* Use encrypted transfer by default +* Support ignore certain files by seafile-ignore.txt + +## 1.6 + +1.6.2 + +* \[bugfix,mac] Fix a bug in supporting directory names with accents + + 1.6.1 + +* \[bugfix] Prevent running of multiple seaf-daemon instance +* Improve the efficiency of start-up GC for libraries in merge stage +* \[mac,win] Handle case-conflict files by renaming + + 1.6.0 + +* \[linux,mac] Support symbolic links +* \[seaf-cli] clean logs +* Do not re-download file blocks when restart Seafile during file syncing +* \[bugfix] Fix treating files as deleted when failed to create it due to reasons like disk full. +* \[bugfix] Fix several bugs when shutdown Seafile during some syncing operation. + +## 1.5 + +1.5.3 + +* Log the version of seafile client when start-up. +* \[bugfix] Fix a bug when simultaneously creating an empty folder with same name in server and client. +* \[bugfix] Always use IPv4 address to connect a server. + + 1.5.2 + +* \[bug] Fix a memory-access bug when showing "Auto merge by seafile system" in bubble + + 1.5.1 + +* \[seaf-cli] Fix a bug in initializing the config dir. +* \[bugfix] Improve the robustness of DNS looking-up. + Use standard DNS looking-up instead of libevent's non-blocking version. + + 1.5.0 + +* Add Seaf-cli +* Check the correctness of password in the beginning of downloading a encrypted library. +* Show detailed information in bubble +* Enable change the server's address in the client +* \[linux] Do not popup the browser when start up +* Remove seafile-web.log diff --git a/manual/changelog/drive-client-changelog.md b/manual/changelog/drive-client-changelog.md new file mode 100644 index 00000000..2bc68f17 --- /dev/null +++ b/manual/changelog/drive-client-changelog.md @@ -0,0 +1,317 @@ +# SeaDrive Client Changelog + +### 2.0.9 (2020/11/20) + +* \[Mac] Fix failure to load kernel extension on macOS 11 Big Sur + +### 2.0.8 (2020/11/14) + +* \[Mac] Support macOS 11 +* \[Win] Fix moving multiple files/folders across different folders + +### 2.0.7 (2020/10/31) + +* \[Win] Avoid unintended file deletions when removing seafile account +* \[Mac] Fix some application compatibility issues caused by extended file attributes handling + +### 2.0.6 (2020/09/24) + +* \[Win] Remove invalid characters from sync root folder name +* \[Win] Increase request timeout for rename library, delete library, create library, move folders +* \[Win] Avoid creating redundant sync root folders on restart +* \[Win] Support pre-configuration registry keys + +### 1.0.12 (2020/08/25) + +* Fix occasional "permission denied" error when syncing a library + +### 2.0.5 (2020/07/30) + +* Fix occasional "permission denied" error when syncing a library +* \[Win] Remove explorer shortcut when uninstall SeaDrive or change cache folder location + +### 2.0.4 (2020/07/13) + +* \[Win] Use username for cache folder name instead of a hash value +* \[Win] Retry download files when pinning a folder +* \[Win] Retry rename category folder when switching language +* \[Win] Only allow install on Windows 10 1709 or later +* \[Mac] Disable "search in Finder" option +* Fix tray icon sync error status + +### 2.0.3 (2020/06/17) + +* \[Win] Fix crash on Windows 10 1709 - 1803 +* \[Win] Show SeaDrive shortcut when opening files in 32-bit applications (e.g. Word) +* \[Win] Avoid creating unnecessary conflict files +* \[Win] Improve error message of opening placeholder files when SeaDrive is not running +* \[Win] Support removing account information when uninstall + +### 2.0.2 (2020/05/23) + +* \[Mac] Support syncing encrypted libraries +* \[Win] Support change cache location +* \[Win] Improve account switching behaviors +* \[Win] Other bug fixes + +### 2.0.1 for Windows (2020/04/13) + +* Fix issues when switching languages +* Fix issues for legacy Windows "8.3 format" paths +* Improve speed of creating placeholders +* Don't add SeaDrive cache folder to Windows search index +* Use short hash instead of "servername_account" for cache folder name +* Prevent the old Explorer extension from calling new SeaDrive (avoiding high CPU usage) +* Fix small issues in encrypted library support +* Change installation location from "Seafile Ltd" to "Seafile" +* Add SeaDrive entry to Windows start menu +* Change "seadrive" to "SeaDrive" in Explorer navigation pane +* Fix SSO re-login failure + +### 2.0.0 for Windows (2020/03/20) + +* Use Windows 10 native API to implement the virtual drive +* Support syncing encrypted libraries + +### 1.0.11 (2020/02/07) + +* Fix a bug that logout and login will lead to file deletion +* \[mac] Fix a bug in SSO + +### 1.0.10 (2019/12/23) + +* Fix a bug that sometimes SeaDrive is empty when network unavailable +* Fix generating too many tokens when library downloading failed +* Fix sometimes files should be ignored are uploaded +* Automatically re-sync a library if local metadata is broken +* \[mac] Add support for MacOS 10.15 +* \[mac] Drop support for MacOS 10.12 + +### 1.0.8 (2019/11/05) + +* Support French and Germany language for top level folder name +* Fix a compatible issue with Excel +* Fix a problem in cleaning local cache +* Support delete library in category My Libraries +* Ignore .fuse_hidden file in Mac +* Rotate seadrive.log + +### 1.0.7 (2019/08/21) + +* \[mac] Improve finder extension + +### 1.0.6 (2019/07/01) + +* \[fix, win] Fix a problem when uninstall or upgrade the drive client when the client is running. +* \[fix] Fix a crash problem when file path containing invalid character + +### 1.0.5 (2019/06/11) + +* \[fix] Fix lots of "Creating partial commit after adding" in the log +* \[fix] Fix permission at the client is wrong when a library shared to different groups with different permissions +* \[fix] Don't show libraries with online preview or online read-write permission +* \[mac] Add Mac Finder preview plugin to prevent automatically downloading of files + +### 1.0.4 (2019/04/23) + +* \[fix] Fix file locking +* \[fix] Fix support of detecting pro edition when first time login +* Support Kerberos authentication + +### 1.0.3 (2019/03/18) + +* \[fix] Fix copy folders with properties into SeaDrive +* \[fix] Fix a possible crash bug when listing libraries + +### 1.0.1 (2019/01/14) + +* Update included Dokany drive +* Improve notification when user try to delete a library in the client +* \[fix] Fix getting internal link for folders +* \[fix] Fix problem after changing the cache directory +* \[fix] Fix support for guest users that have no storage capacity +* \[fix] Fix timeout when loading a library with a lot of files + +### 1.0.0 (2018/11/19) + +* \[fix] Allow a guest user to copy files into shared library +* Support pause sync +* \[win] Add option to only allow current user to view the virtual disk +* \[win] Don't let the Windows to search into the internal cache folder +* \[win] Install the explorer extension to system path to allow multiple users to use the extension +* \[mac] Add option to allow search in Finder (disabled by default) +* \[mac] Update kernel drive to support Mac Mojave +* \[mac] Support office file automatically lock + +### 0.9.5 (2018/09/10) + +* \[fix, win] Fix support for some SSL CA +* Redirect to https if user accidentally input server's address with http but the server is actually use http +* \[fix, win] Show a tooltip that the Windows system maybe rebooted during upgrading drive client +* \[fix, mac] Fix permission problems during installation on Mac 10.13+ + +### 0.9.4 (2018/08/18) + +* \[win] No longer depends on .Net framework +* \[mac] Support file search in Finder +* \[win] Fix loading of HTTPS certifications + +### 0.9.3 (2018/06/19) + +* \[win] Show syncing status at the top level folders +* \[fix] Fix sometimes logout/login lead to empty drive folder +* Support change cache folder +* Add "open file/open folder" in search window +* Set automatically login to true in SSO mode +* \[mac] Fix compatibility with AirDrop + +### 0.9.2 (2018/05/05) + +* Fix a bug that causing SeaDrive crash + +### 0.9.1 (2018/04/24) + +* Fix a bug that causing crash when file search menu is clicked + +### 0.9.0 (2018/04/24) + +* Libraries are displayed under three folders "My Libraries", "Group Libraries", "Shared libraries" +* \[fix] Fix a bug in cleaning cache +* \[win] Update the kernel drive +* Improve syncing notification messages +* \[mac] Include the kernel drive with the SeaDrive package +* \[mac] Add Finder sidebar shortcut +* Add file search + +### 0.8.6 (2018/03/19) + +* \[fix] Fix compatibility with Visio and other applications by implementing a missing system API + +### 0.8.5 (2018/01/03) + +* \[fix] Fix SeaDrive over RDP in Windows 10/7 +* \[fix] Fix SeaDrive shell extension memory leak +* \[fix] Fix duplicated folder/files shown in Finder.app (macOS) +* \[fix] Fix file cache status icon for MacOS + +### 0.8.4 (2017/12/01) + +* \[fix] Fix Word/Excel files can't be saved in Windows 10 +* Add "download" context menu to explicitly download a file +* Change "Shibboleth" to "Single Sign On" + +### 0.8.3 (2017/11/24) + +* \[fix] Fix deleted folder recreated issue +* Improve UI of downloading/uploading list dialog + +### 0.8.1 (2017/11/03) + +* Use "REMOVABLE" when mount the drive disk +* Prevent creating "System Volume Information" +* Some UI fixes + +### 0.8.0 (2017/09/16) + +* \[fix] Reuse old drive letter after SeaDrive crash +* \[fix] Fix rename library back to old name when it is changed in the server +* \[fix] Fix sometimes network can not reconnected after network down +* Change default block size to 8MB +* Make auto-login as default +* Remount SeaDrive when it is unmounted after Windows hibernate + +### 0.7.1 (2017/06/23) + +* \[fix] Fix a bug that causing client crash + +### 0.7.0 (2017/06/07) + +* Add support for multi-users using SeaDrive on a single desktop. But different users must choose different drive letters. +* Improve write performance +* \[fix] When a non-cached file is locked in the server, the "lock" icon will be shown instead of the "cloud" icon. +* Add "automatically login" option in login dialog +* Add file transfer status dialog. + +### 0.6.2 (2017/04/22) + +* \[fix] Fix after moving a file to a newly created sub folder, the file reappear when logout and login +* Refresh current folder and the destination folder after moving files from one library to another library +* \[fix] Fix file locking not work +* \[fix] Fix sometimes files can't be saved + +### 0.6.1 (2017/03/27) + +* \[fix] Don't show a popup notification to state that a file can't be created in `S:` because a few programs will automatically try to create files in `S:` + +### 0.6.0 (2017/03/25) + +* Improve syncing status icons +* Show error in the interface when there are syncing errors +* Don't show rorate icon when downloading/uploading metadata +* \[fix] Don't download files when the network is not connected + +### 0.5.2 (2017/03/09) + +* \[fix] Rename a non-cached folder or file will lead to sync error. + +### 0.5.1 (2017/02/16) + +* \[fix] Fix copying exe files to SeaDrive on Win 7 will freeze the explorer +* The mounted drive is only visible to the current user +* Add popup notification when syncing is done +* \[fix] Fix any change in the settings leads to a drive letter change + +### 0.5.0 (2017/01/18) + +* Improve stability +* Support file locking +* Support sub-folder permission +* \[fix] Fix 1TB limitation +* User can choose disk letter in settings dialog +* Support remote wipe +* \[fix] Use proxy server when login +* Click system tray icon open SeaDrive folder +* Support application auto-upgrade + +### 0.4.2 (2016/12/16) + +* \[fix] Fix SeaDrive initialization error during Windows startup + +### 0.4.1 (2016/11/07) + +* \[fix] Fix a bug that lead to empty S: drive after installation. + +### 0.4.0 (2016/11/05) + +* \[fix] Fix a bug that leads to generation of conflict files when editing +* Add translations +* Update included Dokany library to 1.0 +* Don't show encrypted libraries even in command line +* Show permission error when copy a file to the root +* Show permission error when try to modify a read-only folder +* Show permission error when try to delete a folder in the root folder + +### 0.3.1 (2016/10/22) + +* Fix link for license terms +* Use new system tray icon +* Add notification for cross-libraries file move + +### 0.3.0 (2016/10/14) + +* Support selecting Drive letter +* Don't create folders like msiS50.tmp on Windows +* \[fix] Fix cache size limit settings +* Correctly show the storage space if the space is unlimited on the server side. + +### 0.2.0 (2016/09/15) + +* Add shibboleth support +* Show a dialog notify the client is downloading file list from the server during initialisation +* Show transfer rate +* \[fix] Fix a bug that lead to the file modification time to be empty +* \[fix] Fix a bug that lead to files not be uploaded + +### 0.1.0 (2016/09/02) + +* Initial release diff --git a/manual/changelog/server-changelog-old.md b/manual/changelog/server-changelog-old.md new file mode 100644 index 00000000..48e08b44 --- /dev/null +++ b/manual/changelog/server-changelog-old.md @@ -0,0 +1,839 @@ +# Seafile Server Changelog (old) + +## 5.0 + +**Note when upgrade to 5.0 from 4.4** + +You can follow the document on major upgrade () + +In Seafile 5.0, we have moved all config files to folder `conf`, including: + +* seahub_settings.py -> conf/seahub_settings.py +* ccnet/ccnet.conf -> conf/ccnet.conf +* seafile-data/seafile.conf -> conf/seafile.conf +* \[pro only] pro-data/seafevents.conf -> conf/seafevents.conf + +If you want to downgrade from v5.0 to v4.4, you should manually copy these files back to the original place, then run minor_upgrade.sh to upgrade symbolic links back to version 4.4. + +The 5.0 server is compatible with v4.4 and v4.3 desktop clients. + +Common issues (solved) when upgrading to v5.0: + +* DatabaseError after Upgrade to 5.0 + +### 5.0.5 (2016.03.02) + +* Get name, institution, contact_email field from Shibboleth +* \[webdav] Don't show sub-libraries +* Enable LOGIN_URL to be configured, user need to add LOGIN_URL to seahub_settings.py explicitly if deploy at non-root domain, e.g. LOGIN_URL = '//accounts/login/'. +* Add ENABLE_USER_CREATE_ORG_REPO to enable/disable organization repo creation. +* Change the Chinese translation of "organization" +* Use GB/MB/KB instead of GiB/MiB/KiB in quota calculation and quota setting (1GB = 1000MB = 1,000,000KB) +* Show detailed message if sharing a library failed. +* \[fix] Fix JPG Preview in IE11 +* \[fix] Show "out of quota" instead of "DERP" in the case of out of quota when uploading files via web interface +* \[fix] Fix empty nickname during shibboleth login. +* \[fix] Fix default repo re-creation bug when web login after desktop. +* \[fix] Don't show sub-libraries at choose default library page, seafadmin page and save shared file to library page +* \[fix] Seafile server daemon: write PID file before connecting to database to avoid a problem when the database connection is slow +* \[fix] Don't redirect to old library page when restoring a folder in snapshot page + +### 5.0.4 (2016.01.13) + +* \[fix] Fix unable to set a library to keep full history when the globally default keep_days is set. +* \[fix] Improve the performance of showing library trash +* \[fix] Improve share icon +* Search user by name in case insensitive way +* Show broken libraries in user's library page (so they can contact admin for help) +* \[fix] Fix cache for thumbnail in sharing link +* \[fix] Enable copy files from read-only shared libraries to other libraries +* \[fix] Open image gallery popup in grid view when clicking the thumbnail image + +### 5.0.3 (2015.12.17) + +* \[ui] Improve UI of all groups page +* Don't allow sharing library to a non-existing user +* \[fix, admin] Fix deleting a library when the owner does not exist anymore +* \[fix] Keep file last modified time when copy files between libraries +* Enable login via username in API +* \[ui] Improve markdown editor + +Improve seaf-fsck + +* Do not set "repaired" mark +* Clean syncing tokens for repaired libraries so the user are forced to resync the library +* Record broken file paths in the modification message + +Sharing link + +* Remember the "password has been checked" information in session instead of memcached +* \[security] Fix password check for visiting a file in password protected sharing link. +* Show file last modified time +* \[fix] Fix image thumbnail in grid view +* \[ui] Improve UI of grid view mode + +### 5.0.2 (2015.12.04) + +* \[admin] Show the list of groups an user joined in user detail page +* \[admin] Add exporting user/group statistics into Excel file +* Showing libraries list in "All Groups" page +* Add importing group members from CSV file +* \[fix] Fix the performance problem in showing thumbnails in folder sharing link page +* \[fix] Clear cache when set user name via API +* \[fix, admin] Fix searching libraries by name when some libraries are broken + +### 5.0.1 beta (2015.11.12) + +* \[fix] Fix start up parameters for seaf-fuse, seaf-server, seaf-fsck +* Update Markdown editor and viewer. The update of the markdown editor and parser removed support for the Seafile-specific wiki syntax: Linking to other wikipages isn't possible anymore using `[[ Pagename]]`. +* Add tooltip in admin panel->library->Trash: "libraries deleted 30 days before will be cleaned automatically" +* Include fixes in v4.4.6 + +### 5.0.0 beta (2015.11.03) + +UI changes: + +* change most png icons to icon font +* UI change of file history page +* UI change of library history page +* UI change of trash page +* UI change of sharing link page +* UI change of rename operation +* Add grid view for folder sharing link +* Don't open a new page when click the settings, trash and history icons in the library page +* other small UI improvements + +Config changes: + +* Move all config files to folder `conf` +* Add web UI to config the server. The config items are saved in database table (seahub-dab/constance_config). They have a higher priority over the items in config files. + +Trash: + +* A trash for every folder, showing deleted items in the folder and sub-folders. + Others changes + +Admin: + +* Admin can see the file numbers of a library +* Admin can disable the creation of encrypted library + +Security: + +* Change most GET requests to POST to increase security + +## 4.4 + +### 4.4.6 (2015.11.09) + +* \[security] Fix a XSS problem in raw sharing link +* \[fix] Delete sharing links when deleting a library +* \[fix] Clean Seafile tables when deleting a library +* \[fix] Add tag to the link in upload folder email notification +* \[fix] Fix a bug in creating a library (after submit a wrong password, the submit button is no longer clickable) + +### 4.4.5 (2015.10.31) + +* \[fix] Fix a bug in deleting sharing link in sharing dialog. + +### 4.4.4 (2015.10.27) + +* \[fix] Fix support for syncing old formatted libraries +* Only import LDAP users to Seafile internal database upon login +* Only list imported LDAP users in "organization->members" +* Remove commit and fs objects in GC for deleted libraries +* Improve error log for LDAP +* Add "transfer" operation to library list in "admin panel->a single user" +* \[fix] Fix the showing of the folder name for upload link generated from the root of a library + +### 4.4.3 (2015.10.15) + +* \[security] Check validity of file object id to avoid a potential attack +* \[fix] Check the validity of system default library template, if it is broken, recreate a new one. +* \[fix] After transfer a library, remove original sharing information +* \[security] Fix possibility to bypass Captcha check +* \[security] More security fixes. + +### 4.4.2 (2015.10.12) + +* \[fix] Fix sometimes a revision is missing from a file's version history +* \[security] Use HTTP POST instead of GET to remove libraries +* \[fix] Fix a problem that sharing dialog not popup in IE10 +* A few other small UI improvements + +### 4.4.1 (2015.09.24) + +* \[fix] Fix a bug in setting an user's language +* \[fix] Show detailed failed information when sharing libraries failed +* Update translations +* \[api] Add API to list folders in a folder recursively +* \[api] Add API to list only folders in a folder + +### 4.4.0 (2015.09.16) + +New features: + +* Allow group names with spaces +* Enable generating random password when adding an user +* Add option SHARE_LINK_PASSWORD_MIN_LENGTH +* Add sorting in share link management page +* Show total/active number of users in admin panel +* Other UI improvements + +Fixes: + +* \[fix] Fix a bug that causing duplications in table LDAPImport +* \[security] Use POST request to handle password reset request to avoid CSRF attack +* Don't show password reset link for LDAP users +* set locale when Seahub start to avoid can't start Seahub problem in a few environments. + +## 4.3 + +### 4.3.2 (2015.08.20) + +* \[fix, important] Bug-fix and improvements for seaf-fsck +* \[fix, important] Improve I/O error handling for file operations on web interface +* Update shared information when a sub-folder is renamed +* \[fix] Fix bug of list file revisions +* Update translations +* \[ui] Small improvements +* \[fix] Fix api error in opCopy/opMove +* Old library page (used by admin in admin panel): removed 'thumbnail' & 'preview' for image files +* \[fix] Fix modification operations for system default library by admin + +### 4.3.1 (2015.07.29) + +* \[fix] Fix generating image thumbnail +* \[ui] Improve UI for sharing link page, login page, file upload link page +* \[security] Clean web sessions when reset an user's password +* Delete the user's libraries when deleting an user +* Show link expiring date in sharing link management page +* \[admin] In a user's admin page, showing libraries' size and last modify time + +### 4.3.0 (2015.07.21) + +Usability Improvement + +* \[ui] Improve ui for file view page +* \[ui] Improve ui for sorting files and libraries +* Redesign sharing dialog +* Enable generating random password for sharing link +* Remove private message module +* Remove direct _single_ file sharing between users (You can still sharing folders) +* Change "Quit" to "Leave group" in group members page + +Others + +* Improve user management for LDAP +* \[fix] Fix a bug that client can't detect a library has been deleted in the server +* \[security] Improve permission check in image thumbnail +* \[security] Regenerate Seahub secret key, the old secret key lack enough randomness +* Remove the support of ".seaf" format +* \[api] Add API for generating sharing link with password and expiration +* \[api] Add API for generating uploading link +* \[api] Add API for link files in sharing link +* Don't listen in 10001 and 12001 by default. +* Add an option to disable sync with any folder feature in clients +* Change the setting of THUMBNAIL_DEFAULT_SIZE from string to number, i.e., use `THUMBNAIL_DEFAULT_SIZE = 24`, instead of `THUMBNAIL_DEFAULT_SIZE = '24'` + +## 4.2 + +Note when upgrade to 4.2 from 4.1: + +If you deploy Seafile in a non-root domain, you need to add the following extra settings in seahub_settings.py: + +``` +COMPRESS_URL = MEDIA_URL +STATIC_URL = MEDIA_URL + '/assets/' + +``` + +### 4.2.3 (2015.06.18) + +* Add global address book and remove the contacts module (You can disable it if you use CLOUD_MODE by adding ENABLE_GLOBAL_ADDRESSBOOK = False in seahub_settings.py) +* Use image gallery module in sharing link for folders containing images +* \[fix] Fix missing library names (show as none) in 32bit version +* \[fix] Fix viewing sub-folders for password protected sharing +* \[fix] Fix viewing starred files +* \[fix] Fix supporting of uploading multi-files in clients' cloud file browser +* Improve security of password resetting link + +### 4.2.2 (2015.05.29) + +* \[fix] Fix picture preview in sharing link of folders +* Improve add library button in organization tab + +### 4.2.1 (2015.05.27) + +* Add direct file download link +* \[fix] Fix group library creation bug +* \[fix] Fix library transfer bug +* \[fix] Fix markdown file/wiki bug +* Don't show generating sharing link for encrypted libraries +* Don't show the list of sub-libraries if user do not enable sub-library +* Enable adding existing libraries to organization +* Add loading tip in picture preview page + +### 4.2.0 beta (2015.05.13) + +Usability + +* Remove showing of library description +* Don't require library description +* Keep left navigation bar when navigate into a library +* Generate share link for the root of a library + +Security Improvement + +* Remove access tokens (all clients will log out) when a users password changed +* Temporary file access tokens can only be used once +* sudo mode: confirm password before doing sysadmin work + +Platform + +* Use HTTP/HTTPS sync only, no longer use TCP sync protocol +* read/write permission on sub-folders (Pro) +* Support byte-range requests +* Automatically clean of trashed libraries +* \[ldap] Save user information into local DB after login via LDAP + +## 4.1 + +### 4.1.2 (2015.03.31) + +* \[fix] Fix several packaging related bugs (missing some python libraries) +* \[fix] Fix webdav issue +* \[fix] Fix image thumbnail in sharing link +* \[fix] Fix permission mode of seaf-gc.sh +* Show detailed time when mouse over a relative time + +### 4.1.1 (2015.03.25) + +* Add trashed libraries (deleted libraries will first be put into trashed libraries where system admin can restore) +* \[fix] Fix upgrade script for SQLite +* Improve seaf-gc.sh +* Do not support running on CentOS 5. + +### 4.1.0 beta (2015.03.18) + +* Shibboleth authentication support. +* Redesign fsck. +* Add image thumbnail in folder sharing link +* Add API to support logout/login an account in the desktop client +* Add API to generate thumbnails for images files +* Clean syncing tokens after deleting an account +* Change permission of seahub_settings.py, ccnet.conf, seafile.conf to 0600 +* Update Django to v1.5.12 + +## 4.0 + +### 4.0.6 (2015.02.04) + +Important + +* \[fix] Fix transfer library error in sysadmin page +* \[fix] Fix showing of space used in sysadmin page for LDAP users +* Improved trash listing performance + +Small + +* \[webdav] list organisation public libraries +* Disable non-shibboleth login for shibboleth users +* \[fix] Fix wrong timestamp in file view page for files in sub-library +* Add Web API for thumbnail +* Add languages for Thai and Turkish, update a few translations + +### 4.0.5 (2015.01.14) + +Important + +* \[fix] Fix memory leak in HTTP syncing +* Repo owner can restore folders/files from library snapshot +* Update translations +* Only repo owner can restore a library to a snapshot + +Small improvements + +* \[fix] Remote redundant logs in seaf-server +* \[fix] Raise 404 when visiting an non-existing folder +* \[fix] Enable add admin when LDAP is enabled +* Add API to get server features information (what features are supported by this server) +* \[fix] Fix throttle for /api2/ping + +### 4.0.4 (2015.01.06) + +* \[fix] Fix syncing sub-library with HTTP protocol +* \[fix] Fix a bug in setup-seafile-mysql.sh + +### 4.0.3 (2014.12.30) + +* \[fix] Fix unable to share library to another user + +### 4.0.2 (2014.12.26) + +* Add image thumbnail +* Add Shibboleth support (beta) +* \[fix] Fix performance problem in listing files API +* \[fix] Fix listing files of a large folder +* \[fix] Fix folder sharing link with password protection +* \[fix] Fix deleting broken libraries in the system admin panel + +### 4.0.1 (2014.11.29) + +* \[fix] Fix bugs in syncing with HTTP protocol +* Add upgrading script (from v3.1 to v4.0) + +### 4.0.0 (2014.11.10) + +* Add HTTP syncing support +* Merge FileServer into seaf-server + +## 3.1 + +### 3.1.7 (2014.10.20) + +* \[fix] Fixed performance problem in WebDAV extension +* \[fix] Fixed quota check in WebDAV extension +* \[fix] Fixed showing libraries with same name in WebDAV extension +* Add "clear" button in a library's trash +* Support upload a folder in web interface when using Chrome +* \[fix] Improve small errors when upload files via Web interface +* \[fix] Fix moving/coping files when the select all file checkbox is checked + +### 3.1.6 (2014.09.11) + +* \[fix] Fix bug in uploading >1GB files via Web +* \[fix] Remove assert in Ccnet to avoid denial-of-service attack +* Revert the work "access token generated by FileServer can only be used once" because this leads to several problems + +### 3.1.5 (2014.08.29) + +* \[fix] Fix multi-file upload in upload link and library page +* \[fix] Fix libreoffice file online view +* Add 'back to top' for pdf file view. +* \[fix] Fix "create sub-library" button under some language +* \[fix popup] Fix bug in set single notice as read. + +### 3.1.4 (2014.08.26) + +* \[fix, security] Fix permission check for PDF full screen view +* \[fix] Fix copy/move multiple files in web +* Improve UI for group reply notification +* Improve seaf-fsck, seaf-fsck now can fix commit missing problem +* \[security improve] Access token generated by FileServer can only be used once. + +### 3.1.3 (2014.08.18) + +* \[fix] fix memory leak +* \[fix] fix a memory not initialized problem which may cause sync problem under heavy load. +* \[fix] fix creating personal wiki + +### 3.1.2 (2014.08.07) + +* Use unix domain socket in ccnet to listen for local connections. This isolates the access to ccnet daemon for different users. Thanks to Kimmo Huoman and Henri Salo for reporting this issue. + +### 3.1.1 (2014.08.01) + +* Add a bash wrapper for seafile-gc +* \[fix] fix listing libraries when some libraries are broken +* Remove simplejson dependency +* Update translations +* Add "Back to Top" button in file view page +* Improve page refreshing after uploading files + +### 3.1.0 (2014.07.24) + +Syncing + +* Improve performance: easily syncing 10k+ files in a library. +* Don't need to download files if they are moved to another directory. + +Platform + +* Rename HttpServer to FileServer to remove confusing. +* Support log rotate +* Delete old PID files when stop Seafile + +Web + +* Enable deleting of personal messages +* Improved notification +* Upgrade pdf.js +* Password protection for sharing links +* \[admin] Create multi-users by uploading a CSV file +* Sort libraries by name/date +* Enable users to put an additional message when sending a sharing link +* Expiring time for sharing links +* \[fix] Send notification to all users participating a group discussion +* Redesigned file viewing page +* Remove simplejson dependency +* Disable the ability to make a group public by default (admin can turn it on in settings) + +## 3.0 + +### 3.0.4 (2014.06.07) + +* \[api] Add replace if exist into upload-api +* Show detailed error message when Gunicorn failed to start +* Improve object and block writting performance +* Add retry when failed getting database connection +* \[fix] Use hash value for avatar file names to avoid invalid file name +* \[fix] Add cache for repo_crypto.js to improve page speed +* \[fix] Show error message when change/reset password of LDAP users +* \[fix] Fix "save to my library" when viewing a shared file +* \[fix, api] Fix rename file names with non-ascii characters + +### 3.0.3 + +* \[fix] Fix an UI bug in selecting multiple contacts in sending message +* Library browser page: Loading contacts asynchronously to improve initial loading speed + +### 3.0.2 + +* \[fix] Fix a bug in writing file metadata to disk, which causing "file information missing error" in clients. +* \[fix] Fix API for uploading files from iOS in an encrypted library. +* \[fix] Fix WebDAV +* \[fix] Fix API for getting groups messages containing multiple file attachments +* \[fix] Fix bug in HttpServer when file block is missing +* \[fix] Fix login error for some kind of Android + +### 3.0.1 + +* \[fix] Fix showing bold/italic text in .seaf format +* \[fix] Fix UI problem when selecting contacts in personal message send form +* \[fix] Add nickname check and escape nickname to prevent XSS attack +* \[fix] Check validity of library name (only allow a valid directory name). + +### 3.0.0 + +Web + +* Lots of small improvements in UI +* Translations +* \[fix] Handle loading avatar exceptions to avoid 500 error + +Platform + +* Use random salt and PBKDF2 algorithm to store users' password. (You need to manually upgrade the database if you using 3.0.0 beta2 with MySQL backend.) + +### 3.0.0 beta2 + +Web + +* Handle 413 error of file upload +* Support cross library files copy/move +* Fixed a few api errors + +Platform + +* Allow config httpserver bind address +* \[fix] Fix file ID calculation +* Improved device (desktop and mobile clients) management +* Add back webdav support +* Add upgrade script + +### 3.0.0 beta + +Platform + +* Separate the storage of libraries +* Record files' last modification time directly +* Keep file timestamp during syncing +* Allow changing password of an encrypted library + +Web + +* Redesigned UI +* Improve page loading speed + +## 2.2 + +### 2.2.1 + +* \[fix] Fixed creation of admin account + +### 2.2.0 + +* Add more checking for the validity of users' Email +* Use random salt and PBKDF2 algorithm to store users' password. + +## 2.1 + +### 2.1.5 + +* Add correct mime types for mp4 files when downloading +* \[important] set correct file mode bit after uploading a file from web. +* Show meaningful message instead of "auto merged by system" for file merges +* Improve file history calculation for files which were renamed + +WebDAV + +* Return last modified time of files + +### 2.1.4 + +* \[fix] Fix file share link download issue on some browsers. +* \[wiki] Enable create index for wiki. +* Hide email address in avatar. +* Show "create library" button on Organization page. +* \[fix] Further improve markdown filter to avoid XSS attack. + +### 2.1.3 + +* \[api] Add more web APIs +* Incorporate Viewer.js to display opendocument formats +* \[fix] Add user email validation to avoid SQL injection +* \[fix] Only allow `, , ` and a few other html elements in markdown to avoid XSS attack. +* Return sub-libraries to the client when the feature is enabled. + +### 2.1.2 + +* \[fix] Fixed a bug in update script + +### 2.1.1 + +* Allow the user to choose the expiration of the session when login +* Change default session expiration age to 1 day +* \[fix] Fixed a bug of copying/moving files on web browsers +* \[fix] Don't allow script in markdown files to avoid XSS attacks +* Disable online preview of SVG files to avoid potential XSS attacks +* \[custom] Support specify the width of height of custom LOGO +* Upgrade scripts support MySQL databases now + +### 2.1.0 + +Platform + +* Added FUSE support, currently read-only +* Added WebDAV support +* A default library would be created for new users on first login to seahub + +Web + +* Redesigned Web UI +* Redesigned notification module +* Uploadable share links +* \[login] Added captcha to prevent brute force attack +* \[fix] Fixed a bug of "trembling" when scrolling file lists +* \[sub-library] User can choose whether to enable sub-library +* Improved error messages when upload fails +* Set default browser file upload size limit to unlimited + +Web for Admin + +* Improved admin UI +* More flexible customization options +* Online help is now bundled within Seahub + +## 2.0 + +### 2.0.4 + +* \[fix] set the utf8 charset when connecting to database +* Getting users from both database and LDAP +* \[web] List all contacts when sharing libraries +* \[admin] List database and LDAP users in sysadmin + +### 2.0.3 + +* \[fix] Speed up file syncing when there are lots of small files + +### 2.0.2 + +* \[fix] Fix CIFS support. +* \[fix] Support special characters like '@' in MySQL password +* \[fix] Fix create library from desktop client when deploy Seafile with Apache. +* \[fix] Fix sql syntax error in ccnet.log, issue #400 (). +* \[fix] Return organization libraries to the client. +* Update French, German and Portuguese (Brazil) languages. + +### 2.0.1 + +* \[fix] Fix a bug in sqlite3 upgrade script +* Add Chinese translation + +### 2.0.0 + +Platform + +* New crypto scheme for encrypted libraries +* A fsck utility for checking data integrity + +Web + +* Change owner of a library/group +* Move/delete/copy multiple files +* Automatically save draft during online editing +* Add "clear format" to .seaf file online editing +* Support user delete its own account +* Hide Wiki module by default +* Remove the concept of sub-library + +Web for Admin + +* Change owner of a library +* Search user/library + +API + +* Add list/add/delete user API + +## 1.8 + +### 1.8.5 + +* \[bugfix] Fix "can't input space" bug in .seaf files +* Add pagination for online file browsing + +### 1.8.3 + +* \[bugfix] Fix bug in setup-seafile-mysql.sh +* Make reset-admin script work for MySQL +* Remove redundant log messages +* Fixed bugs in web API + +### 1.8.2 + +* Add script for setting up MySQL +* \[bugfix] Fixed a bug when sharing a library to another user without sending HTTP_REFERER + +### 1.8.1 + +* \[bugfix] Fixed a bug when generating shared link + +### 1.8.0 + +Web + +* Improve online file browsing and uploading + * Redesigned interface + * Use ajax for file operations + * Support selecting of multiple files in uploading + * Support drag/drop in uploading +* Improve file syncing and sharing + * Syncing and sharing a sub-directory of an existing library. + * Directly sharing files between two users (instead of generating public links) + * User can save shared files to one's own library +* \[wiki] Add frame and max-width to images +* Use 127.0.0.1 to read files (markdown, txt, pdf) in file preview +* \[bugfix] Fix pagination in library snapshot page +* Set the max length of message reply from 128 characters to 2000 characters. +* Improved performance for home page and group page +* \[admin] Add administration of public links + +API + +* Add creating/deleting library API + +Platform + +* Improve HTTPS support, now HTTPS reverse proxy is the recommend way. +* Add LDAP filter and multiple DN +* Case insensitive login +* Move log files to a single directory +* \[security] Add salt when saving user's password +* \[bugfix] Fix a bug in handling client connection + +## 1.7 + +### 1.7.0.2 for Linux 32 bit + +* \[bugfix] Fix "Page Unavailable" when view doc/docx/ppt. + +### 1.7.0.1 for Linux 32 bit + +* \[bugfix] Fix PostgreSQL support. + +### 1.7.0 + +Web + +* Upgrade to Django 1.5 +* Add personal messaging +* Support cloud_mode to hide the "organization" tab +* Support listing/revoking syncing clients +* \[bugfix] Fix a bug in Markdown undo/redo +* \[pro-edition] Searching in a library +* \[pro-edition] Redesign file activities +* \[pro-edition] Redesign doc/ppt/pdf preview with pdf2htmlEX + +Daemon + +* Support PostgreSQL +* \[bugfix] fix bugs in GC + +## 1.6 + +### 1.6.1 + +Web + +* \[bugfix] Fix showing personal Wiki under French translation +* \[bugfix] Fix showing markdown tables in Wiki +* \[bugfix] Fixed wiki link parsing bug when page alias contains dot. +* Disable sharing link for encrypted libraries +* \[admin] improved user-add, set/revoke admin, user-delete + +Daemon + +* \[controller] Add monitor for httpserver + +### 1.6.0 + +Web + +* Separate group functions into Library/Discuss/Wiki tabs +* Redesign Discussion module +* Add Wiki module +* Improve icons +* Can make a group public +* \[editing] Add toolbar and help page for Markdown files +* \[editing] A stable rich document editor for .seaf files +* \[bugfix] Keep encryption property when change library name/desc. + +For Admin + +* Add --dry-run option to seafserv-gc. +* Support customize seafile-data location in seafile-admin +* Do not echo the admin password when setting up Seafile server +* seahub/seafile no longer check each other in start/stop scripts + +API + +* Show file modification time +* Add update file API + +## 1.5 + +### 1.5.2 + +* \[daemon] Fix problem in DNS lookup for LDAP server + +### 1.5.1 + +* \[web] Fix password reset bug in Seafile Web +* \[daemon] Fix memory leaks in Seafile server + +### 1.5.0 + +Seafile Web + +* Video/Audio playback with MediaElement.js (Contributed by Phillip Thelen) +* Edit library title/description +* Public Info & Public Library page are combined into one +* Support selection of file encoding when viewing online +* Improved online picture view (Switch to prev/next picture with keyboard) +* Fixed a bug when doing diff for a newly created file. +* Sort starred files by last-modification time. + +Seafile Daemon + +* Fixed bugs for using httpserver under https +* Fixed performance bug when checking client's credential during sync. +* LDAP support +* Enable setting of the size of the thread pool. + +API + +* Add listing of shared libraries +* Add unsharing of a library. diff --git a/manual/changelog/server-changelog.md b/manual/changelog/server-changelog.md new file mode 100644 index 00000000..aeae7174 --- /dev/null +++ b/manual/changelog/server-changelog.md @@ -0,0 +1,619 @@ +# Seafile Server Changelog + +> You can check Seafile release table to find the lifetime of each release and current supported OS: + +## 8.0 + +Please check our document for how to upgrade to 8.0: + +### 8.0.0 beta (2020/11/27) + +* Support searching file in a library +* Rewrite upload link page to use React technology +* Improve GC performance +* Upgrade Django to 2.2 version +* Remove ccnet-server component +* Update help page +* Release v4 encrypted library format to enhance security for v3 encrypted format + +## 7.1 + +**Feature changes** + +Progresql support is dropped as we have rewritten the database access code to remove copyright issue. + +**Upgrade** + +Please check our document for how to upgrade to 7.1: + +### 7.1.5 (2020/09/22) + +* \[fix] Fix a bug in returned group library permission for SeaDrive client +* \[fix] Fix files preview using OnlyOffice in public shared links +* Support pagination when listing libraries in a group +* Update wsgidav used in WebDAV +* \[fix] Fix WebDAV failed login via WebDAV secret +* \[fix] Fix WebDAV error if a file is moved immediately after uploading +* Remove redundent logs in seafile.log +* \[fix] Fix "save to..." in share link +* Add an option to show a user's email in sharing dialog (ENABLE_SHOW_CONTACT_EMAIL_WHEN_SEARCH_USER) +* Add database connection pool to reduce database connection usage +* Enable generating internal links for files in an encrypted library +* Support setting the expire date time of a share link to a specific date time +* GC add --id-prefix option to scan a specific range of libraries +* fsck add an option to not check block integrity to speed up scanning +* \[fix] ccnet no longer listen on port 10001 + +### 7.1.4 (2020/05/19) + +* \[fix] Fix page error in "System Admin-> Users -> A User -> Groups" +* \[fix] Fix listing LDAP imported users when number of users is greater than 500 +* Support selecting and downloading multiple files in a sharing link +* Show share link expiration time in system admin +* \[fix] Fix file download links in public libraries +* Other UI fixes + +### 7.1.3 (2020/03/26) + +* Support sort libraries by size and number of files in admin panel +* Support sort users by used storage in admin panel +* \[fix] Fix Markdown print for markdown with more than 1 page +* Other UI fixes + +### 7.1.2 beta (2020/03/05) + +* \[fix] Fix HTTP/2 support +* Markdown page can now be printed using browser's "Print..." +* Add zoom buttons for PDF page +* Add sort function to directory share link page +* Add support for JSON web tokens in OnlyOffice integration +* UI improvements for pages in admin panel + +### 7.1.1 beta (2019/12/23) + +* \[fix] Fix Gunicorn warning +* \[fix] Fix SQLite upgrade script +* \[fix] Fix Seahub can't started problem on Debian 10 +* \[fix] For for Excel and PPT, the default fonts are Chinese font sets. +* Some other UI fixes and improvements + +### 7.1.0 beta (2019/12/05) + +* Rewrite the system admin pages with React +* Upgrade to Python3 +* Add library API Token, you can now generate API tokens for a library and use them in third party programs. +* Add a feature abuse report for reporting abuse for download links. + +## 7.0 + +**Feature changes** + +In version 6.3, users can create public or private Wikis. In version 7.0, private Wikis is replaced by column mode view. Every library has a column mode view. So users don't need to explicitly create private Wikis. + +Public Wikis are now renamed to published libraries. + +**Upgrade** + +Just follow our document on major version upgrade. No special steps are needed. + +### 7.0.5 (2019/09/23) + +* \[fix] Fix '\\n' in system wide notification will lead to blank page +* \[fix] Remove all metadata in docx template +* \[fix] Fix redirection after login +* \[fix] Fix group order is not alphabetic +* \[fix] Fix download button in sharing link +* Mobile UI Improvement (Now all major pages can be used in Mobile smoothly) +* Add notification when a user try to leave a page during file transfer +* Add UI waiting notification when resetting a user's password in admin panel +* Add generating internal link (smart-link) for folders +* \[fix] Fix file drag and drop in IE and Firefox +* Improve UI for file uploading, support re-upload after error +* \[fix] Fix devices login via Shibboleth not show in devices list +* Support of OnlyOffice auto-save option +* \[fix] Fix zip download when user selecting a long list of files +* Other UI fixes + +### 7.0.4 (2019/07/26) + +* Fix avatar problem when deployed under non-root domain +* Add get internal link in share dialog +* Fix newly created DOCX files are not empty and have a Chinese font set as default font +* Fix system does not send email to new user when adding new user in system admin +* Fix thumbnail for TIFF files +* Fix direct download link for sharing links + +### 7.0.3 (2019/07/05) + +* UI Improvements and fixes +* Fix file upload button with Safari, IE edge +* Fix compatibility with "Open library in web" from the old version desktop client +* Support "." in group name +* Add back "send link" for upload links +* Add back grid view for folder sharing links +* Fix preview for PSD, TIFF files +* Fix deleting of favorate items when they are shared items but the sharing are revoked +* Fix avatar broken problem when using a non-stardard port +* Fix resumable file uploading + +### 7.0.2 (2019/06/13) + +* UI fixes +* Support index.md in published library +* Fix IE Edge support + +### 7.0.1 beta (2019/05/31) + +* \[fix] Fix database upgrade problem +* \[fix] Fix WebDAV can't be started +* \[fix] Some UI fixes + +### 7.0.0 beta (2019/05/23) + +* Upgraded Web UI with React framework. The look and feel of the new UI is much better. +* Improved Markdown editor +* Add columns view mode (tree view like in the Windows Explorer) +* Add context menu to manipulate files +* Move files via drag and drop +* Redesigned file tags +* Support editing share link permission after creating a link + +## 6.3 + +In version 6.3, Django is upgraded to version 1.11. Django 1.8, which is used in version 6.2, is deprecated in 2018 April. + +With this upgrade, the fast-cgi mode is no longer supported. You need to config Seafile behind Nginx/Apache in WSGI mode. + +The way to run Seahub in another port is also changed. You need to modify the configuration file `conf/gunicorn.conf` instead of running `./seahub.sh start `. + +Version 6.3 also changed the database table for file comments, if you have used this feature, you need migrate old file comments using the following commends after upgrading to 6.3: + +``` +./seahub.sh python-env seahub/manage.py migrate_file_comment + +``` + +> Note, this command should be run while Seafile server is running. + +### 6.3.4 (2018/09/15) + +* \[fix] Fix a security issue in Shibboleth authentication +* \[fix] Fix sometimes Web UI will not autoload a >100 item directory view + +### 6.3.3 (2018/09/07) + +* Add generating of internal links +* Support copy a file to its own parent folder, creating a file with a suffix like test-1.docx +* Support setting the language list +* Redirect '/shib-login' to '/sso' +* Change "Unknown error" to "network error" when uploading failed caused by network error +* \[fix] Fix groups not shown in system admin panel +* Support files be manually saved in OnlyOffice +* Improve performance when getting users quota usage +* Improve Markdown editor +* The new Wiki feature is ready +* Update Django to 1.11.11 + +### 6.3.2 (2018/07/09) + +* \[fix] Fix error when public wiki be viewed by anonymous users +* Remove department field in users' profile page +* \[fix] Print warning instead of exit when there are errors in database table upgrade +* \[fix] Send notification to the upload link creator after there are files uploaded +* \[fix] Fix customize css via "custom/custom.css" +* \[api] return the last modifier in file detail API +* \[fix] Fix ZIP download can't work in some languages + +### 6.3.1 (2018/06/24) + +* Allow fullscreen presentation when view ppt(x) file via CollaboraOffice. +* Support mobile UI style when view file via OnlyOffice. +* Some UI improvement. +* Show terms and condition link if terms and condition is enabled +* \[fix] Update OnlyOffice callback func (save file when status is 6). +* \[fix] Show library’s first commit’s desc on library history page. +* \[fix] Check if is an deleted library when admin restore a deleted library. +* \[fix] Removed dead 'quota doc' link on user info popup. +* \[fix] Fix bug of OnlyOffice file co-authoring. +* \[api] Add starred field to file detail api. +* Use ID instead of email on sysadmin user page. +* \[fix] Fix database upgrade problems +* \[fix] Fix support for sqlite3 +* \[fix] Fix crash when seaf-fsck, seaf-gc receive wrong arguments + +### 6.3.0 beta (2018/05/26) + +* UI Improvements: moving buttons to top bar, improve scrolling in file/library list +* Update Django to 1.11, remove fast-cgi support +* Update jQuery to version 3.3.1 +* Update pdf.js +* Add invite people link to share dialog if the feature is enabled +* Remove login log after delete a user +* \[admin] Support customize site title, site name, CSS via Web UI +* \[beta] Wiki, users can create public wikis +* Add an option to define the listening address for WSGI mode +* \[fix] Fix a bug that causing seaf-fsck crash +* \[fix] Fix support for uploading folder via ‘Cloud file browser’ +* \[fix] Cancel Zip download task at the server side when user close zip download dialog +* Other fixes + +## 6.2 + +From 6.2, It is recommended to use WSGI mode for communication between Seahub and Nginx/Apache. Two steps are needed if you'd like to switch to WSGI mode: + +1. Change the config file of Nginx/Apache. +2. Restart Seahub with `./seahub.sh start` instead of `./seahub.sh start-fastcgi` + +The configuration of Nginx is as following: + +``` +location / { + proxy_pass http://127.0.0.1:8000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + proxy_read_timeout 1200s; + + # used for view/edit office file via Office Online Server + client_max_body_size 0; + + access_log /var/log/nginx/seahub.access.log; + error_log /var/log/nginx/seahub.error.log; + } + +``` + +The configuration of Apache is as following: + +``` + # seahub + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPass / http://127.0.0.1:8000/ + ProxyPassReverse / http://127.0.0.1:8000/ + +``` + +### 6.2.5 (2018/01/23) + +* \[fix] Fix OAuth bug +* \[fix] Improve the performance of returning a user's all group libraries +* \[new] Support customize the list of groups that a user can see when sharing a library + +### 6.2.4 (2018/01/16) + +* \[new] Add the feature "remember this device" after two-factor authentication +* \[new] Add option to notify the admin after new user registration (NOTIFY_ADMIN_AFTER_REGISTRATION) +* \[fix] Fix a bug in modify permission for a a shared sub-folder +* \[fix] Fix support for PostgreSQL +* \[fix] Fix a bug in SQLite database support +* \[fix] Fix support for uploading 500+ files via web interface (caused by API rate throttle) +* \[improve, ui] Add transition to show/hide of feedback messages. +* \[improve] Improve performance of file history page. +* \[improve] Show two file history records at least. +* \[fix] show shared sub-folders when copy/move file/folder to “Other Libraries”. +* \[fix] Remove the white edge of webpage when previewing file via OnlyOffice. +* \[fix] Don’t check if user exists when deleting a group member in admin panel. +* \[fix, oauth] Don’t overwrite public registration settings when login a nonexistent user. +* Other UI improvements. + +### 6.2.3 (2017/11/15) + +* Support OAuth. +* WSGI uses 5 processors by default instead of 3 processors each with 5 threads +* \[share] Add "click to select" feature for download/upload links. +* \[admin] Show/edit contact email in admin panel. +* \[admin] Show upload links in admin panel. +* \[fix] Fix Shibboleth login redirection issue, see +* \[fix] In some case failed to unshare a folder. +* \[fix] LDAP search issue. +* \[fix] Fix Safari downloaded file names are encoded like 'test-%2F%4B.doc' if it contains special characters. +* \[fix] Disable client encrypt library creation when creating encrypt library is disabled on server. + +### 6.2.2 (2017/09/25) + +* \[fix] Fix register button can't be clicked in login page +* \[fix] Fix login_success field not exist in sysadmin_extra_userloginlog + +### 6.2.1 (2017/09/22) + +* \[fix] Fix upgrade script for SQLite database +* Add Czech language +* \[ui] Move password setting to a separate section +* \[ui] Add divider to file operation menu +* \[ui] Use high DPI icon in favorites page +* \[ui] Focus on password fields by default +* \[ui] Show feedback message when restore a library to a snapshot +* \[fix] Don't import settings in seafile.conf to database + +### 6.2.0 beta (2017/09/14) + +* Redesign login page, adding a background image. +* Add two factor authentication +* Clean the list of languages +* Add the ability of tagging a snapshot of a library (Use `ENABLE_REPO_SNAPSHOT_LABEL = True` to turn the feature on) +* \[admin] Add an option to enable users to share a library to any groups in the system. +* Use WSGI as the default mode for deploying Seahub. +* Add a field Reference ID to support changing users primary ID in Shibboleth or LDAP +* Improved performance of loading library list +* Support adding a custom user search function () +* Other small UI improvements + +## 6.1 + +If you upgrade from 6.0 and you'd like to use the feature video thumbnail, you need to install ffmpeg package: + +``` +# for ubuntu 16.04 +apt-get install ffmpeg +pip install pillow moviepy + +# for Centos 7 +yum -y install epel-release +rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro +yum -y install ffmpeg ffmpeg-devel +pip install pillow moviepy + +``` + +### 6.1.2 (2017.08.15) + +* Use user's language as lang setting for OnlyOffice +* Improve performance for getting user’s unread messages +* Fix error when uploading files to system default library template +* Users can restore their own deleted libraries +* Improve performance when move or copy multiple files/folders +* Add “details” for libraries, folders and files to show information like how many files in a library/folder +* \[fix] Fix a bug in seaf-gc +* \[fix, api] Fix a bug in creating folder API +* \[admin] Improve performance in getting total file number, used space and total number of devices +* \[fix] Fix MySQL connection pool in Ccnet + +### 6.1.1 (2017.06.15) + +* Disable thumbnail for video files in default +* Enable fixing the email for share link to be fixed in certain language (option SHARE_LINK_EMAIL_LANGUAGE in seahub_setting.py). So admin can force the language for a email of a share link to be always in English, regardless of what language the sender is using. +* The language of the interface of CollaboraOffice/OnlyOffice will be determined by the language of the current user. +* Display the correct image thumbnails in favorites instead of the generic one +* Enable set favicon and logo via admin panel +* Admin can add libraries in admin panel + +### 6.1.0 beta (2017.05.11) + +Web UI Improvement: + +1. Add thumbnail for video files +2. Improved image file view, using thumbnail to view pictures +3. Improve pdf preview in community edition +4. Move items by drap & drop +5. Add create docx/xlsx/pptx in web interface +6. Add OnlyOffice integration +7. Add Collabora integration +8. Support folder upload in community edition +9. Show which client modify a file in history, this will help to find which client accidentally modified a file or deleted a file. + +Improvement for admins: + +1. Admin can set user’s quote, delete users in bulk +2. Support using admin panel in mobile platform +3. Add translation for settings page + +System changes: + +1. Remove wiki by default +2. Upgrade Django to 1.8.18 +3. Clean Ajax API +4. Increase share link token length to 20 characters +5. Upgrade jstree to latest version + +## 6.0 + +Note: If you ever used 6.0.0 or 6.0.1 or 6.0.2 with SQLite as database and encoutered a problem with desktop/mobile client login, follow to fix the problem. + +### 6.0.9 (2017.03.30) + +* Show user' name instead of user's email in notifications sent out by email +* Add config items for setting favicon, disable wiki feature +* Add css id to easily hide user password reset and delete account button +* \[fix] Fix UI bug in restoring a file from snapshot +* \[fix] Fix after renaming a file, the old versions before file rename can't be downloaded +* \[security] Fix XSS problem of the "go back" button in history page and snapshot view page + +### 6.0.8 (2017.02.16) + +Improvement for admin + +* Admin can add/delete group members +* Admin can create group in admin panel +* Show total storage, total number of files, total number of connected devices in the info page of admin panel +* Force users to change password if imported via csv +* Support set user's quota, name when import user via csv +* Set user's quota in user list page +* Add search group by group name +* Use ajax when deleting a user's library in admin panel +* Support logrotate for controller.log +* Add `# -*- coding: utf-8 -*-` to seahub_settings.py, so that admin can use non-ascii characters in the file. +* Ingore white space character in the end of lines in ccnet.conf +* Add a log when a user can't be find in LDAP during login, so that the system admin can know whether it is caused by password error or the user can't be find +* Delete shared libraries information when deleting a user + +Other + +* \[fix] Uploading files with special names lets seaf-server crash +* \[fix] Fix user search when global address book is disabled in CLOUD_MODE +* \[fix] Avoid timeout in some cases when showing a library trash +* Show "the account is inactive" when an inactive account try to login +* \[security] Remove viewer.js to show open document files (ods, odt) because viewer.js is not actively maintained and may have potential security bugs (Thanks to Lukas Reschke from Nextcloud GmbH to report the issue) +* \[fix] Fix PostgreSQL support +* Update Django to 1.8.17 +* Change time_zone to UTC as default +* \[fix] Fix quota check: users can't upload a file if the quota will be exceeded after uploading the file +* \[fix] Fix quota check when copy file from one library to another +* \[fix] Prevent admin from access group's wiki +* \[fix] Fix a bug when download folder in grid view + +### 6.0.7 (2016.12.16) + +* \[fix] Fix generating of password protected link in file view page +* \[fix] Fix .jpg/.JPG image display in IE10 +* Export quota usage in export Excel in user list admin page +* \[fix] Fix admin can't delete broken libraries +* Add "back to previous page" link in trash page, history page +* \[fix] Improve logo show in About page +* \[fix] Fix file encoding for text file editing online +* \[fix] Don't show operation buttons for broken libraries in normal users page + +### 6.0.6 (2016.11.16) + +* \[fix] Fix the shared folder link in the notification message when a user share a folder to another user +* \[fix] Update Django version from 1.8.10 to 1.8.16 +* \[fix] Fix support for PostgreSQL +* \[fix] Fix SQLite database locking problem +* \[fix] Fix the shared folder name is not changed after removing the old share, renaming the folder and re-sharing the folder +* \[fix] Fix sub-folder accidentially show the files in parent folder when the parent folder contains more than 100 files +* \[fix] Fix image preview navigation when there are more than 100 entries in a folder +* \[fix] Fix bug when admin searching unexisting user +* \[fix] Fix jpeg image display in IE10 +* Add support for online view of mov video files +* Make web access token expiring time configurable +* Add an option on server to control block size for web upload files + +### 6.0.5 (2016.10.17) + +* \[fix] Fix API for uploading file by blocks (Used by iOS client when uploading a large file) +* \[fix] Fix a database connection problem in ccnet-server +* \[fix] Fix moved files are still present in local folder until refresh +* \[fix] Fix admin panel can't show deleted libraries + +### 6.0.4 (2016.09.22) + +* \[fix] Fix not able to move files via WebDAV interface +* Check whether the quota will exceed before saving the uploaded file to Seafile via Web UI or API +* \[fix] Fix owner can't restore a deleted file or folder in snapshot +* \[fix] Fix UI of personal profile page +* \[fix] Fix in some cases mobile devices can't be unlinked +* \[fix] Fix connection problem for the latest MariaDB in initialisation script +* \[fix] PNG Thumbnail creation broken in 6.0.3 (getexif failes) +* Make maxNumberOfFiles configurable +* \[fix] Remember the sorting of libraries +* Add Finnish translation +* Video + audio no longer be limited by max preview size + +### 6.0.3 (2016.09.03) + +* \[fix] Fix a bug in sqlite database upgrade script +* \[fix] Fix a bug in database connection pool +* \[fix] Fix a bug in file comment + +### 6.0.2 (2016.09.02) + +* \[fix] Fix a bug in sqlite database table locking +* Update translations +* Support create libraries for Seafile Drive client + +### 6.0.1 beta (2016.08.22) + +* \[fix] Fix default value of created_at in table api2_tokenv2. This bug leads to login problems for desktop and mobile clients. +* \[fix] Fix a bug in generating a password protected share link +* Improve checking the user running Seafile must be the owner of seafile-data. If seafile-data is symbolic link, check the destination folder instead of the symbolic link. +* \[ui] Improve rename operation +* Admin can set library permissions in admin panel +* Show name/contact email in admin panel and enable search user by name/contact email +* Add printing style for markdown +* The “Seafile” in "Welcome to Seafile" message can be customised by SITE_NAME +* Improve sorting of files with numbers +* \[fix] Fix can't view more than 100 files +* \[api] Add admin API to only return LDAP imported user list + +### 6.0.0 beta (2016.08.02) + +* Add full screen Web UI +* Code clean and update Web APIs +* Add file comment +* Improve zip downloading by adding zip progress +* Change of navigation labels +* \[admin] Add group transfer function in admin panel +* Remove number of synced libraries in devices page for simplify the interface and concept +* Update help pages + +## 5.1 + +Warning: + +* The concept of sub-library is removed in version 5.1. You can do selective sync with the latest desktop client +* The group message **reply** function is removed, and the old reply messages will not be shown with the new UI + +Note: when upgrade from 5.1.3 or lower version to 5.1.4+, you need to install python-urllib3 (or python2-urllib3 for Arch Linux) manually: + +``` +# for Ubuntu +sudo apt-get install python-urllib3 +# for CentOS +sudo yum install python-urllib3 + +``` + +### 5.1.4 (2016.07.23) + +* \[fix] Fix seaf-fsck.sh --export fails without database +* \[fix] Fix users with Umlauts in their display name breaks group management and api2/account/info on some special Linux distribution +* Remove user from groups when a user is deleted. +* \[fix] Fix can't generate shared link for read-only shared library +* \[fix] Fix can still view file history after library history is set to "no history". +* \[fix] Fix after moving or deleting multiple selected items in the webinterface, the buttons are lost until reloading +* Check user before start seafile. The user must be the owner of seafile-data directory +* Don't allow emails with very special characters that may containing XSS string to register +* \[fix] During downloading multiple files/folders, show "Total size exceeds limits" instead of "internal server error" when selected items exceeds limits. +* \[fix] When delete a share, only check whether the be-shared user exist or not. This is to avoid the situation that share to a user can't be deleted after the user be deleted. +* Add a notificition to a user if he/she is added to a group +* Improve UI for password change page when forcing password change after admin reset a user's password +* \[fix] Fix duplicated files show in Firefox if the folder name contains single quote ' + +### 5.1.3 (2016.05.30) + +* \[security] Fix permission checking for generating share links +* Add an option (ENABLE_SETTINGS_VIA_WEB) to ignore settings via Web UI (system admin->settings) +* \[fix] Making user search (used in auto-completion) case insensitive + +### 5.1.2 (2016.05.13) + +* \[fix] Fix group rename +* \[fix] Fix group transfer +* Send notifications to members when a new library is shared to a group +* Download multiple selected files from Seahub as a ZIP-file +* Use seafile-data/http-temp to store zip file when downloading a dir +* \[ui] Remember the expanded status of groups in the left hand nav bar +* \[accessibility] Improve accessiblity of library trash/history page by making links for operations selectable by tab. +* \[accessibility] Improve accessiblity of dialogs, add missing labelledby properties for the whole dialog. +* \[accessibility] Improve file/folder upload menu +* list all devices in admin panel +* Add syslog support for seafile.log + +### 5.1.1 (2016.04.08) + +Note: downloading multiple files at once will be added in the next release. + +* A few UI Improvement and fixes +* Add group-discussion (warning: the group message reply function is removed, and the old reply messages will not be shown with the new UI) +* Add an option for disable forcing users to change password (FORCE_PASSWORD_CHANGE, default is True) +* Support new Shibboleth users be created as inactive and activated via Admin later (SHIB_ACTIVATE_AFTER_CREATION , default is True) +* Update jquery to v1.11 + +### 5.1.0 beta (2016.03.22) + +Note: in this version, the group discussion is not re-implement yet. It will be available when the stable verison is released. + +* Redesign navigation +* Rewrite group management +* Improve sorting for large folder +* Remember the sorting option for folder +* Improve devices page +* Update icons for libraries and files +* Remove library settings page, re-implement them with dialogs +* Remove group avatar +* Don't show share menu in top bar when multiple item selected +* Auto-focus on username field when loading the login page +* Remove self-introduction in user profile +* Upgrade to django 1.8 +* Force the user to change password if adding by admin or password reset by admin +* disable add non-existing user to a group diff --git a/manual/client/client.md b/manual/client/client.md new file mode 100644 index 00000000..c9463e51 --- /dev/null +++ b/manual/client/client.md @@ -0,0 +1,30 @@ +# Client + +This manual explains how to setup and run Seafile client from a pre-built package. + +## Components + +Seafile client v3.0 consists of three components: + +* ccnet-daemon: for networking +* seafile-daemon: for file syncing +* seafile-applet: GUI Client + +## Platform Support + +* GUI Client (seafile-applet) + * Availabe on Ubuntu 12.04 or above + * Availabe on Windows XP/Vista/7/8 + * Availabe on Mac OS X 10.6 or above + * Availabe on Android + * Availabe on iOS (App Store) +* Terminal Client (ccnet-daemon, and seafile-applet) + * Runs on Generic Linux + * Runs on Windows XP/Vista/7/8 + * Runs on Mac OS X 10.6 or above + +## Download + +Visit [our download page](http://www.seafile.com/en/download), download the latest client package. + +Changelog: diff --git a/manual/client/seafile_cli.md b/manual/client/seafile_cli.md new file mode 100644 index 00000000..971dc5f5 --- /dev/null +++ b/manual/client/seafile_cli.md @@ -0,0 +1,121 @@ +# Seafile CLI + +## init + +Initialize config file + +usage: seaf-cli -c -o init + +## start + +Start seafile-applet to run a seafile client + +usage: seaf-cli -c -o start + +## start-ccnet + +Start ccnet daemon + +usage: seaf-cli -c -o start-ccnet + +## start-seafile + +Start seafile daemon + +usage: seaf-cli -c \[-w \] -o start-seafile + +## clone + +Clone a repo from seafile server + +A repo id and a url need to be give because this program need to use seafile web +API v2 to fetch repo information. + +usage: seaf-cli -c -r -u \[-w \] -o clone + +## sync + +Try to synchronize a repo + +usage: seaf-cli -c -r -o clone + +## remove + +Try to desynchronize a repo + +usage: seaf-cli -c -r -o remove + +## Usage + +Subcommands: + +``` +init: create config files for seafile client +start: start and run seafile client as daemon +stop: stop seafile client +list: list local liraries +status: show syncing status +download: download a library from seafile server +sync: synchronize an existing folder with a library in + seafile server +desync: desynchronize a library with seafile server + +``` + +\##More details + +Seafile client stores all its configure information in a config dir. The default location is `~/.ccnet`. All the commands below accept an option `-c `. + +## init + +Initialize seafile client. This command initializes the config dir. It also creates sub-directories `seafile-data` and `seafile` under `parent-dir`. `seafile-data` is used to store internal data, while `seafile` is used as the default location put downloaded libraries. + +``` +seaf-cli init [-c ] -d + +``` + +## start + +Start seafile client. This command start `ccnet` and `seaf-daemon`, `ccnet` is the network part of seafile client, `seaf-daemon` manages the files. + +``` +seaf-cli start [-c ] + +``` + +## stop + +Stop seafile client. + +``` +seaf-cli stop [-c ] + +``` + +## Download + +Download a library from seafile server + +``` +seaf-cli download -l -s -d -u [-p ] + +``` + +## sync + +Synchronize a library with an existing folder. + +``` +seaf-cli sync -l -s -d -u [-p ] + +``` + +## desync + +Desynchronize a library from seafile server + +``` +seaf-cli desync -d + +``` diff --git a/manual/config/README.md b/manual/config/README.md new file mode 100644 index 00000000..9f983bc2 --- /dev/null +++ b/manual/config/README.md @@ -0,0 +1,26 @@ +# Server Configuration and Customization + +## Config Files + +**Important**: Since Seafile Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +There are three config files in the community edition: + +* [ccnet.conf](ccnet-conf.md): contains the LDAP settings +* [seafile.conf](seafile-conf.md): contains settings for seafile daemon and fileserver. +* [seahub_settings.py](seahub_settings_py.md): contains settings for Seahub + +There is one additional config file in the pro edition: + +* [seafevents.conf](seafevents-conf.md): contains settings for search and documents preview + +Note: Since version 5.0.0, you can also modify most of the config items via web interface.The config items are saved in database table (seahub-db/constance_config). They have a higher priority over the items in config files. + +![Seafile Config via Web](../images/seafile-server-config.png) + +## Common Customization Tasks + +* [Options for sending email](sending_email.md) +* [Customize web inferface](seahub_customization.md) +* User Management Options: refer to [seahub_settings.py](seahub_settings_py.md) +* Quota and Download/Upload Limits: refer to [seafile.conf](seafile-conf.md) diff --git a/manual/config/ccnet-conf.md b/manual/config/ccnet-conf.md new file mode 100644 index 00000000..27f1a5a5 --- /dev/null +++ b/manual/config/ccnet-conf.md @@ -0,0 +1,78 @@ +# ccnet.conf + +**Note**: Since Seafile Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +Ccnet is the internal RPC framework used by Seafile server and also manages the user database. A few useful options are in ccnet.conf. + +``` +[General] + +# Used internally. Don't delete. +ID=eb812fd276432eff33bcdde7506f896eb4769da0 + +# Used internally. Don't delete. +NAME=example + +# This is outside URL for Seahub(Seafile Web). +# The domain part (i.e., www.example.com) will be used in generating share links and download/upload file via web. +# Note: Outside URL means "if you use Nginx, it should be the Nginx's address" +SERVICE_URL=http://www.example.com:8000 + + +[Network] +# Not used anymore +PORT=10001 + +[Client] +# Not used anymore +PORT=13419 + +``` + +## Enabled Slow Log + +Since Seafile-pro-6.3.10, you can enable ccnet-server's RPC slow log to do performance analysis. The slow log is enabled by default. + +If you want to configure related options, add the options to ccnet.conf: + +``` +[Slow_log] +# default to true +ENABLE_SLOW_LOG = true +# the unit of all slow log thresholds is millisecond. +# default to 5000 milliseconds, only RPC queries processed for longer than 5000 milliseconds will be logged. +RPC_SLOW_THRESHOLD = 5000 + +``` + +You can find `ccnet_slow_rpc.log` in `logs/slow_logs`. You can also use [log-rotate](../deploy/using_logrotate.md) to rotate the log files. You just need to send `SIGUSR2` to `ccnet-server` process. The slow log file will be closed and reopened. + +**Note**: You should restart seafile so that your changes take effect. + +``` +cd seafile-server +./seafile.sh restart + +``` + +## Changing MySQL Connection Pool Size + +When you configure ccnet to use MySQL, the default connection pool size is 100, which should be enough for most use cases. You can change this value by adding following options to ccnet.conf: + +``` +[Database] +...... +# Use larger connection pool +MAX_CONNECTIONS = 200 + +``` + +## Changing name of table 'Group' + +There is a table named 'Group' in ccnet database, however, 'Group' is the key word in some of databases, you can configure this table name to avoid conflicts if necessary: + +``` +[GROUP] +TABLE_NAME=new_group_name + +``` diff --git a/manual/config/customize_email_notifications.md b/manual/config/customize_email_notifications.md new file mode 100644 index 00000000..cf91933a --- /dev/null +++ b/manual/config/customize_email_notifications.md @@ -0,0 +1,49 @@ +# Customize Email Notifications + +**Note:** Subject line may vary between different releases, this is based on Release 2.0.1. Restart Seahub so that your changes take effect. + +## User reset his/her password + +**Subject** + +seahub/seahub/auth/forms.py line:103 + +**Body** + +seahub/seahub/templates/registration/password_reset_email.html + +Note: You can copy password_reset_email.html to `seahub-data/custom/templates/registration/password_reset_email.html` and modify the new one. In this way, the customization will be maintained after upgrade. + +## System admin add new member + +**Subject** + +seahub/seahub/views/sysadmin.py line:424 + +**Body** + +seahub/seahub/templates/sysadmin/user_add_email.html + +Note: You can copy user_add_email.html to `seahub-data/custom/templates/sysadmin/user_add_email.html` and modify the new one. In this way, the customization will be maintained after upgrade. + +## System admin reset user password + +**Subject** + +seahub/seahub/views/sysadmin.py line:368 + +**Body** + +seahub/seahub/templates/sysadmin/user_reset_email.html + +Note: You can copy user_reset_email.html to `seahub-data/custom/templates/sysadmin/user_reset_email.html` and modify the new one. In this way, the customization will be maintained after upgrade. + +## User send file/folder share link + +**Subject** + +seahub/seahub/share/views.py line:668 + +**Body** + +seahub/seahub/templates/shared_link_email.html diff --git a/manual/config/seafevents-conf.md b/manual/config/seafevents-conf.md new file mode 100644 index 00000000..448344db --- /dev/null +++ b/manual/config/seafevents-conf.md @@ -0,0 +1,88 @@ +# Configurable Options + +**Note**: Since Seafile Server 5.0.0, all config files have been moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +In the file `seafevents.conf`: + +``` +[FILE HISTORY] +enabled = true +threshold = 5 +suffix = md,txt,... + +## From seafile 7.0.0 +## Recording file history to database for fast access is enabled by default for 'Markdown, .txt, ppt, pptx, doc, docx, xls, xlsx'. +## After enable the feature, the old histories version for markdown, doc, docx files will not be list in the history page. +## (Only new histories that stored in database will be listed) But the users can still access the old versions in the library snapshots. +## For file types not listed in the suffix , histories version will be scanned from the library history as before. +## The feature default is enable. You can set the 'enabled = false' to disable the feature. + +## The 'threshold' is the time threshold for recording the historical version of a file, in minutes, the default is 5 minutes. +## This means that if the interval between two adjacent file saves is less than 5 minutes, the two file changes will be merged and recorded as a historical version. +## When set to 0, there is no time limit, which means that each save will generate a separate historical version. + +## If you need to modify the file list format, you can add 'suffix = md, txt, ...' configuration items to achieve. + +[AUDIT] +## Audit log is disabled default. +## Leads to additional SQL tables being filled up, make sure your SQL server is able to handle it. +enabled = true + +[STATISTICS] +## must be "true" to enable statistics +enabled = false + +[INDEX FILES] +## must be "true" to enable search +enabled = true + +## The interval the search index is updated. Can be s(seconds), m(minutes), h(hours), d(days) +interval=10m + +## From Seafile 6.3.0 pro, in order to speed up the full-text search speed, you should setup +highlight = fvh + +## If true, indexes the contents of office/pdf files while updating search index +## Note: If you change this option from "false" to "true", then you need to clear the search index and update the index again. +## Refer to file search manual for details. +index_office_pdf=false + +## The default size limit for doc, docx, ppt, pptx, xls, xlsx and pdf files. Files larger than this will not be indexed. +## Since version 6.2.0 +## Unit: MB +office_file_size_limit = 10 + +[SEAHUB EMAIL] + +## must be "true" to enable user email notifications when there are new unread notifications +enabled = true + +## interval of sending Seahub email. Can be s(seconds), m(minutes), h(hours), d(days) +interval = 30m + + +[OFFICE CONVERTER] + +## must be "true" to enable office/pdf online preview +enabled = true + +## how many libreoffice worker processes should run concurrenlty +workers = 1 + +## where to store the converted office/pdf files. Deafult is /tmp/. +outputdir = /tmp/ + +[EVENTS PUBLISH] +## must be "true" to enable publish events messages +enabled = false +## message format: repo-update\t{{repo_id}}}\t{{commit_id}} +## Currently only support redis message queue +mq_type = redis + +[REDIS] +## redis use the 0 database and "repo_update" channel +server = 192.168.1.1 +port = 6379 +password = q!1w@#123 + +``` diff --git a/manual/config/seafile-conf.md b/manual/config/seafile-conf.md new file mode 100644 index 00000000..28a315fe --- /dev/null +++ b/manual/config/seafile-conf.md @@ -0,0 +1,183 @@ +# Seafile.conf settings + +**Note**: Since Seafile Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +**Important**: Every entry in this configuration file is **case-sensitive**. + +You need to restart seafile and seahub so that your changes take effect. + +``` +./seahub.sh restart +./seafile.sh restart + +``` + +## Storage Quota Setting + +You may set a default quota (e.g. 2GB) for all users. To do this, just add the following lines to `seafile.conf` file + +``` +[quota] +# default user quota in GB, integer only +default = 2 + +``` + +This setting applies to all users. If you want to set quota for a specific user, you may log in to seahub website as administrator, then set it in "System Admin" page. + +## Default history length limit + +If you don't want to keep all file revision history, you may set a default history length limit for all libraries. + +``` +[history] +keep_days = days of history to keep + +``` + +## Default trash expiration time + +The default time for automatic cleanup of the libraries trash is 30 days.You can modify this time by adding the following configuration: + +``` +[library_trash] +expire_days = 60 + +``` + +## System Trash + +Seafile uses a system trash, where deleted libraries will be moved to. In this way, accidentally deleted libraries can be recovered by system admin. + +## Seafile fileserver configuration + +The configuration of seafile fileserver is in the `[fileserver]` section of the file `seafile.conf` + +``` +[fileserver] +# bind address for fileserver +# default to 0.0.0.0, if deployed without proxy: no access restriction +# set to 127.0.0.1, if used with local proxy: only access by local +host = 127.0.0.1 +# tcp port for fileserver +port = 8082 + +``` + +Since Community Edition 6.2 and Pro Edition 6.1.9, you can set the number of worker threads to server http requests. Default value is 10, which is a good value for most use cases. + +``` +[fileserver] +worker_threads = 15 + +``` + +Change upload/download settings. + +``` +[fileserver] +# Set maximum upload file size to 200M. +# If not configured, there is no file size limit for uploading. +max_upload_size=200 + +# Set maximum download directory size to 200M. +# Default is 100M. +max_download_dir_size=200 + +``` + +After a file is uploaded via the web interface, or the cloud file browser in the client, it needs to be divided into fixed size blocks and stored into storage backend. We call this procedure "indexing". By default, the file server uses 1 thread to sequentially index the file and store the blocks one by one. This is suitable for most cases. But if you're using S3/Ceph/Swift backends, you may have more bandwidth in the storage backend for storing multiple blocks in parallel. We provide an option to define the number of concurrent threads in indexing: + +``` +[fileserver] +max_indexing_threads = 10 + +``` + +When users upload files in the web interface (seahub), file server divides the file into fixed size blocks. Default blocks size for web uploaded files is 1MB. The block size can be set here. + +``` +[fileserver] +#Set block size to 2MB +fixed_block_size=2 + +``` + +When users upload files in the web interface, file server assigns an token to authorize the upload operation. This token is valid for 1 hour by default. When uploading a large file via WAN, the upload time can be longer than 1 hour. You can change the token expire time to a larger value. + +``` +[fileserver] +#Set uploading time limit to 3600s +web_token_expire_time=3600 + +``` + +You can download a folder as a zip archive from seahub, but some zip software +on windows doesn't support UTF-8, in which case you can use the "windows_encoding" +settings to solve it. + +``` +[zip] +# The file name encoding of the downloaded zip file. +windows_encoding = iso-8859-1 + +``` + +The "httptemp" directory contains temporary files created during file upload and zip download. In some cases the temporary files are not cleaned up after the file transfer was interrupted. Starting from 7.1.5 version, file server will regularly scan the "httptemp" directory to remove files created long time ago. + +``` +[fileserver] +# After how much time a temp file will be removed. The unit is in seconds. Default to 3 days. +http_temp_file_ttl = x +# File scan interval. The unit is in seconds. Default to 1 hour. +http_temp_scan_interval = x + +``` + +## Database configuration + +The whole database configuration is stored in the `[database]` section of the configuration file, whether you use SQLite, MySQL or PostgreSQL. + +``` +[database] +type=mysql +host=127.0.0.1 +user=root +password=root +db_name=seafile_db +connection_charset=utf8 +max_connections=100 + +``` + +When you configure seafile server to use MySQL, the default connection pool size is 100, which should be enough for most use cases. + +## Change File Lock Auto Expire time (Pro edition only) + +The Seafile Pro server auto expires file locks after some time, to prevent a locked file being locked for too long. The expire time can be tune in seafile.conf file. + +``` +[file_lock] +default_expire_hours = 6 + +``` + +The default is 12 hours. + +## Enabled Slow Log + +Since Seafile-pro-6.3.10, you can enable seaf-server's RPC slow log to do performance analysis.The slow log is enabled by default. + +If you want to configure related options, add the options to seafile.conf: + +``` +[slow_log] +# default to true +enable_slow_log = true +# the unit of all slow log thresholds is millisecond. +# default to 5000 milliseconds, only RPC queries processed for longer than 5000 milliseconds will be logged. +rpc_slow_threshold = 5000 + +``` + +You can find `seafile_slow_rpc.log` in `logs/slow_logs`. You can also use [log-rotate](../deploy/using_logrotate.md) to rotate the log files. You just need to send `SIGUSR2` to `seaf-server` process. The slow log file will be closed and reopened. diff --git a/manual/config/seahub_customization.md b/manual/config/seahub_customization.md new file mode 100644 index 00000000..fca6f4da --- /dev/null +++ b/manual/config/seahub_customization.md @@ -0,0 +1,141 @@ +# Seahub customization + +## Customize Seahub Logo and CSS + +Create a folder `/seahub-data/custom`. Create a symbolic link in `seafile-server-latest/seahub/media` by `ln -s ../../../seahub-data/custom custom`. + +During upgrading, Seafile upgrade script will create symbolic link automatically to preserve your customization. + +### Customize Logo + +1. Add your logo file to `custom/` +2. Overwrite `LOGO_PATH` in `seahub_settings.py` + + ```python + LOGO_PATH = 'custom/mylogo.png' + + ``` + +3. Default width and height for logo is 149px and 32px, you may need to change that according to yours. + + ```python + LOGO_WIDTH = 149 + LOGO_HEIGHT = 32 + + ``` + +### Customize Favicon + +1. Add your favicon file to `custom/` +2. Overwrite `FAVICON_PATH` in `seahub_settings.py` + +```python +FAVICON_PATH = 'custom/favicon.png' + +``` + +### Customize Seahub CSS + +1. Add your css file to `custom/`, for example, `custom.css` +2. Overwrite `BRANDING_CSS` in `seahub_settings.py` + + ```python + BRANDING_CSS = 'custom/custom.css' + + ``` + +You can find a good example of customized css file here: + +## Customize help page + +**Note:** Since version 2.1. + +First go to the custom folder + +``` +cd /seahub-data/custom + +``` + +then run the following commands + +``` +mkdir templates +mkdir templates/help +cp ../../seafile-server-latest/seahub/seahub/help/templates/help/install.html templates/help/ + +``` + +Modify the `templates/help/install.html` file and save it. You will see the new help page. + +## Add an extra note in sharing dialog + +You can add an extra note in sharing dialog in seahub_settings.py + +``` +ADDITIONAL_SHARE_DIALOG_NOTE = { + 'title': 'Attention! Read before shareing files:', + 'content': 'Do not share personal or confidential official data with **.' + } + +``` + +Result: + + + +## Add custom navigation items + +Since Pro 7.0.9, Seafile supports adding some custom navigation entries to the home page for quick access. This requires you to add the following configuration information to the `conf/seahub_settings.py` configuration file: + +``` +CUSTOM_NAV_ITEMS = [ + {'icon': 'sf2-icon-star', + 'desc': 'Custom navigation 1', + 'link': 'https://www.seafile.com' + }, + {'icon': 'sf2-icon-wiki-view', + 'desc': 'Custom navigation 2', + 'link': 'https://download.seafile.com/published/seafile-manual/home.md' + }, + {'icon': 'sf2-icon-wrench', + 'desc': 'Custom navigation 3', + 'link': 'http://www.example.com' + }, +] + +``` + +**Note: The **`icon` **field currently only supports icons in Seafile that begin with **`sf2-icon`**. You can find the list of icons here: ** + +Then restart the Seahub service to take effect. + +Once you log in to the Seafile system homepage again, you will see the new navigation entry under the `Tools` navigation bar on the left. + +## Add more links to the bottom bar + +``` +ADDITIONAL_APP_BOTTOM_LINKS = { + 'seafile': 'https://example.seahub.com/seahub', + 'dtable-web': 'https://example.seahub.com/web' +} + +``` + +Result: + + + +## Add more links to about dialog + +``` +ADDITIONAL_ABOUT_DIALOG_LINKS = { + 'seafile': 'https://example.seahub.com/seahub', + 'dtable-web': 'https://example.seahub.com/dtable-web' +} + +``` + +Result: + + diff --git a/manual/config/seahub_settings_py.md b/manual/config/seahub_settings_py.md new file mode 100644 index 00000000..bb97ecac --- /dev/null +++ b/manual/config/seahub_settings_py.md @@ -0,0 +1,471 @@ +# Seahub Settings + +Note: You can also modify most of the config items via web interface. The config items are saved in database table (seahub-db/constance_config). They have a higher priority over the items in config files. If you want to disable settings via web interface, you can add `ENABLE_SETTINGS_VIA_WEB = False` to `seahub_settings.py`. + +## Sending Email Notifications on Seahub + +Refer to [email sending documentation](sending_email.md). + +## Memcached + +Seahub caches items(avatars, profiles, etc) on file system by default(/tmp/seahub_cache/). You can replace with Memcached. + +Refer to ["add memcached"](../deploy/add_memcached.md). + +## Security settings + +```python +# For security consideration, please set to match the host/domain of your site, e.g., ALLOWED_HOSTS = ['.example.com']. +# Please refer https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts for details. +ALLOWED_HOSTS = ['.myseafile.com'] + +``` + +## User management options + +The following options affect user registration, password and session. + +```python +# Enalbe or disalbe registration on web. Default is `False`. +ENABLE_SIGNUP = False + +# Activate or deactivate user when registration complete. Default is `True`. +# If set to `False`, new users need to be activated by admin in admin panel. +ACTIVATE_AFTER_REGISTRATION = False + +# Whether to send email when a system admin adding a new member. Default is `True`. +SEND_EMAIL_ON_ADDING_SYSTEM_MEMBER = True + +# Whether to send email when a system admin resetting a user's password. Default is `True`. +SEND_EMAIL_ON_RESETTING_USER_PASSWD = True + +# Send system admin notify email when user registration is complete. Default is `False`. +NOTIFY_ADMIN_AFTER_REGISTRATION = True + +# Remember days for login. Default is 7 +LOGIN_REMEMBER_DAYS = 7 + +# Attempt limit before showing a captcha when login. +LOGIN_ATTEMPT_LIMIT = 3 + +# deactivate user account when login attempts exceed limit +# Since version 5.1.2 or pro 5.1.3 +FREEZE_USER_ON_LOGIN_FAILED = False + +# mininum length for user's password +USER_PASSWORD_MIN_LENGTH = 6 + +# LEVEL based on four types of input: +# num, upper letter, lower letter, other symbols +# '3' means password must have at least 3 types of the above. +USER_PASSWORD_STRENGTH_LEVEL = 3 + +# default False, only check USER_PASSWORD_MIN_LENGTH +# when True, check password strength level, STRONG(or above) is allowed +USER_STRONG_PASSWORD_REQUIRED = False + +# Force user to change password when admin add/reset a user. +# Added in 5.1.1, deafults to True. +FORCE_PASSWORD_CHANGE = True + +# Age of cookie, in seconds (default: 2 weeks). +SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2 + +# Whether a user's session cookie expires when the Web browser is closed. +SESSION_EXPIRE_AT_BROWSER_CLOSE = False + +# Whether to save the session data on every request. Default is `False` +SESSION_SAVE_EVERY_REQUEST = False + +# Whether enable the feature "published library". Default is `False` +# Since 6.1.0 CE +ENABLE_WIKI = True + +# In old version, if you use Single Sign On, the password is not saved in Seafile. +# Users can't use WebDAV because Seafile can't check whether the password is correct. +# Since version 6.3.8, you can enable this option to let user's to specific a password for WebDAV login. +# Users login via SSO can use this password to login in WebDAV. +# Enable the feature. pycryptodome should be installed first. +# sudo pip install pycryptodome==3.7.2 +ENABLE_WEBDAV_SECRET = True + +# Since version 7.0.9, you can force a full user to log in with a two factor authentication. +# The prerequisite is that the administrator should 'enable two factor authentication' in the 'System Admin -> Settings' page. +# Then you can add the following configuration information to the configuration file. +ENABLE_FORCE_2FA_TO_ALL_USERS = True + +``` + +## Library snapshot label feature + +``` +# Turn on this option to let users to add a label to a library snapshot. Default is `False` +ENABLE_REPO_SNAPSHOT_LABEL = False + +``` + +## Library options + +Options for libraries: + +```python +# if enable create encrypted library +ENABLE_ENCRYPTED_LIBRARY = True + +# version for encrypted library +# should only be `2` or `4`. +# version 3 is insecure (using AES128 encryption) so it's not recommended any more. +ENCRYPTED_LIBRARY_VERSION = 2 + +# mininum length for password of encrypted library +REPO_PASSWORD_MIN_LENGTH = 8 + +# mininum length for password for share link (since version 4.4) +SHARE_LINK_PASSWORD_MIN_LENGTH = 8 + +# Default expire days for share link (since version 6.3.8) +# Once this value is configured, the user can no longer generate an share link with no expiration time. +# If the expiration value is not set when the share link is generated, the value configured here will be used. +SHARE_LINK_EXPIRE_DAYS_DEFAULT = 5 + +# minimum expire days for share link (since version 6.3.6) +# SHARE_LINK_EXPIRE_DAYS_MIN should be less than SHARE_LINK_EXPIRE_DAYS_DEFAULT (If the latter is set). +SHARE_LINK_EXPIRE_DAYS_MIN = 3 # default is 0, no limit. + +# maximum expire days for share link (since version 6.3.6) +# SHARE_LINK_EXPIRE_DAYS_MIN should be greater than SHARE_LINK_EXPIRE_DAYS_DEFAULT (If the latter is set). +SHARE_LINK_EXPIRE_DAYS_MAX = 8 # default is 0, no limit. + +# Default expire days for upload link (since version 7.1.6) +# Once this value is configured, the user can no longer generate an upload link with no expiration time. +# If the expiration value is not set when the upload link is generated, the value configured here will be used. +UPLOAD_LINK_EXPIRE_DAYS_DEFAULT = 5 + +# minimum expire days for upload link (since version 7.1.6) +# UPLOAD_LINK_EXPIRE_DAYS_MIN should be less than UPLOAD_LINK_EXPIRE_DAYS_DEFAULT (If the latter is set). +UPLOAD_LINK_EXPIRE_DAYS_MIN = 3 # default is 0, no limit. + +# maximum expire days for upload link (since version 7.1.6) +# UPLOAD_LINK_EXPIRE_DAYS_MAX should be greater than UPLOAD_LINK_EXPIRE_DAYS_DEFAULT (If the latter is set). +UPLOAD_LINK_EXPIRE_DAYS_MAX = 8 # default is 0, no limit. + +# force user login when view file/folder share link (since version 6.3.6) +SHARE_LINK_LOGIN_REQUIRED = True + +# enable water mark when view(not edit) file in web browser (since version 6.3.6) +ENABLE_WATERMARK = True + +# Disable sync with any folder. Default is `False` +# NOTE: since version 4.2.4 +DISABLE_SYNC_WITH_ANY_FOLDER = True + +# Enable or disable library history setting +ENABLE_REPO_HISTORY_SETTING = True + +# Enable or disable normal user to create organization libraries +# Since version 5.0.5 +ENABLE_USER_CREATE_ORG_REPO = True + +# Enable or disable user share library to any group +# Since version 6.2.0 +ENABLE_SHARE_TO_ALL_GROUPS = True + +# Enable or disable user to clean trash (default is True) +# Since version 6.3.6 +ENABLE_USER_CLEAN_TRASH = True + +# Add a report abuse button on download links. (since version 7.1.0) +# Users can report abuse on the share link page, fill in the report type, contact information, and description. +# Default is false. +ENABLE_SHARE_LINK_REPORT_ABUSE = True + +``` + +Options for online file preview: + +```python +# Whether to use pdf.js to view pdf files online. Default is `True`, you can turn it off. +# NOTE: since version 1.4. +USE_PDFJS = True + +# Online preview maximum file size, defaults to 30M. +FILE_PREVIEW_MAX_SIZE = 30 * 1024 * 1024 + +# Extensions of previewed text files. +# NOTE: since version 6.1.1 +TEXT_PREVIEW_EXT = """ac, am, bat, c, cc, cmake, cpp, cs, css, diff, el, h, html, +htm, java, js, json, less, make, org, php, pl, properties, py, rb, +scala, script, sh, sql, txt, text, tex, vi, vim, xhtml, xml, log, csv, +groovy, rst, patch, go""" + +# Enable or disable thumbnails +# NOTE: since version 4.0.2 +ENABLE_THUMBNAIL = True + +# Seafile only generates thumbnails for images smaller than the following size. +# Since version 6.3.8 pro, suport the psd online preview. +THUMBNAIL_IMAGE_SIZE_LIMIT = 30 # MB + +# Enable or disable thumbnail for video. ffmpeg and moviepy should be installed first. +# For details, please refer to https://manual.seafile.com/deploy/video_thumbnails.html +# NOTE: this option is deprecated in version 7.1 +ENABLE_VIDEO_THUMBNAIL = False + +# Use the frame at 5 second as thumbnail +# NOTE: this option is deprecated in version 7.1 +THUMBNAIL_VIDEO_FRAME_TIME = 5 + +# Absolute filesystem path to the directory that will hold thumbnail files. +THUMBNAIL_ROOT = '/haiwen/seahub-data/thumbnail/thumb/' + +# Default size for picture preview. Enlarge this size can improve the preview quality. +# NOTE: since version 6.1.1 +THUMBNAIL_SIZE_FOR_ORIGINAL = 1024 + +``` + +## Cloud Mode + +You should enable cloud mode if you use Seafile with an unknown user base. It disables the organization tab in Seahub's website to ensure that users can't access the user list. Cloud mode provides some nice features like sharing content with unregistered users and sending invitations to them. Therefore you also want to enable user registration. Through the global address book (since version 4.2.3) you can do a search for every user account. So you probably want to disable it. + +```python +# Enable cloude mode and hide `Organization` tab. +CLOUD_MODE = True + +# Disable global address book +ENABLE_GLOBAL_ADDRESSBOOK = False + +``` + +## External authentication + +```python +# Enable authentication with ADFS +# Default is False +# Since 6.0.9 +ENABLE_ADFS_LOGIN = True + +# Enable authentication wit Kerberos +# Default is False +ENABLE_KRB5_LOGIN = True + +# Enable authentication with Shibboleth +# Default is False +ENABLE_SHIBBOLETH_LOGIN = True + +``` + +## Other options + +```python +# Disable settings via Web interface in system admin->settings +# Default is True +# Since 5.1.3 +ENABLE_SETTINGS_VIA_WEB = False + +# Choices can be found here: +# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name +# although not all choices may be available on all operating systems. +# If running in a Windows environment this must be set to the same as your +# system time zone. +TIME_ZONE = 'UTC' + +# Language code for this installation. All choices can be found here: +# http://www.i18nguy.com/unicode/language-identifiers.html +# Default language for sending emails. +LANGUAGE_CODE = 'en' + +# Custom language code choice. +LANGUAGES = ( + ('en', 'English'), + ('zh-cn', '简体中文'), + ('zh-tw', '繁體中文'), +) + +# Set this to your website/company's name. This is contained in email notifications and welcome message when user login for the first time. +SITE_NAME = 'Seafile' + +# Browser tab's title +SITE_TITLE = 'Private Seafile' + +# If you don't want to run seahub website on your site's root path, set this option to your preferred path. +# e.g. setting it to '/seahub/' would run seahub on http://example.com/seahub/. +SITE_ROOT = '/' + +# Max number of files when user upload file/folder. +# Since version 6.0.4 +MAX_NUMBER_OF_FILES_FOR_FILEUPLOAD = 500 + +# Control the language that send email. Default to user's current language. +# Since version 6.1.1 +SHARE_LINK_EMAIL_LANGUAGE = '' + +# Interval for browser requests unread notifications +# Since PRO 6.1.4 or CE 6.1.2 +UNREAD_NOTIFICATIONS_REQUEST_INTERVAL = 3 * 60 # seconds + +# Whether to allow user to delete account, change login password or update basic user +# info on profile page. +# Since PRO 6.3.10 +ENABLE_DELETE_ACCOUNT = False +ENABLE_UPDATE_USER_INFO = False +ENABLE_CHANGE_PASSWORD = False + +``` + +## Pro edition only options + +```python +# Whether to show the used traffic in user's profile popup dialog. Default is True +SHOW_TRAFFIC = True + +# Allow administrator to view user's file in UNENCRYPTED libraries +# through Libraries page in System Admin. Default is False. +ENABLE_SYS_ADMIN_VIEW_REPO = True + +# For un-login users, providing an email before downloading or uploading on shared link page. +# Since version 5.1.4 +ENABLE_SHARE_LINK_AUDIT = True + +# Check virus after upload files to shared upload links. Defaults to `False`. +# Since version 6.0 +ENABLE_UPLOAD_LINK_VIRUS_CHECK = True + +# Enable system admin add T&C, all users need to accept terms before using. Defaults to `False`. +# Since version 6.0 +ENABLE_TERMS_AND_CONDITIONS = True + +# Enable two factor authentication for accounts. Defaults to `False`. +# Since version 6.0 +ENABLE_TWO_FACTOR_AUTH = True + +# Enable user select a template when he/she creates library. +# When user select a template, Seafile will create folders releated to the pattern automaticly. +# Since version 6.0 +LIBRARY_TEMPLATES = { + 'Technology': ['/Develop/Python', '/Test'], + 'Finance': ['/Current assets', '/Fixed assets/Computer'] +} + +# Send email to these email addresses when a virus is detected. +# This list can be any valid email address, not necessarily the emails of Seafile user. +# Since version 6.0.8 +VIRUS_SCAN_NOTIFY_LIST = ['user_a@seafile.com', 'user_b@seafile.com'] + +# Enable a user to change password in 'settings' page. Default to `True` +# Since version 6.2.11 +ENABLE_CHANGE_PASSWORD = True + +# Enable file comments. Default to `True` +# Since version 6.2.11 +ENABLE_FILE_COMMENT = True + +# If show contact email when search user. +ENABLE_SHOW_CONTACT_EMAIL_WHEN_SEARCH_USER = True + +``` + +## RESTful API + +``` +# API throttling related settings. Enlarger the rates if you got 429 response code during API calls. +REST_FRAMEWORK = { + 'DEFAULT_THROTTLE_RATES': { + 'ping': '600/minute', + 'anon': '5/minute', + 'user': '300/minute', + }, + 'UNICODE_JSON': False, +} + +# Throtting whitelist used to disable throttle for certain IPs. +# e.g. REST_FRAMEWORK_THROTTING_WHITELIST = ['127.0.0.1', '192.168.1.1'] +# Please make sure `REMOTE_ADDR` header is configured in Nginx conf according to https://manual.seafile.com/deploy/deploy_with_nginx.html. +REST_FRAMEWORK_THROTTING_WHITELIST = [] + +``` + +## Seahub Custom Functions + +Since version 6.2, you can define a custom function to modify the result of user search function. + +For example, if you want to limit user only search users in the same institution, you can define `custom_search_user` function in `{seafile install path}/conf/seahub_custom_functions/__init__.py` + +Code example: + +``` +import os +import sys + +current_path = os.path.dirname(os.path.abspath(__file__)) +seahub_dir = os.path.join(current_path, \ + '../../seafile-server-latest/seahub/seahub') +sys.path.append(seahub_dir) + +from seahub.profile.models import Profile +def custom_search_user(request, emails): + + institution_name = '' + + username = request.user.username + profile = Profile.objects.get_profile_by_user(username) + if profile: + institution_name = profile.institution + + inst_users = [p.user for p in + Profile.objects.filter(institution=institution_name)] + + filtered_emails = [] + for email in emails: + if email in inst_users: + filtered_emails.append(email) + + return filtered_emails + +``` + +> **NOTE**, you should NOT change the name of `custom_search_user` and `seahub_custom_functions/__init__.py` + +Since version 6.2.5 pro, if you enable the **ENABLE_SHARE_TO_ALL_GROUPS** feather on sysadmin settings page, you can also define a custom function to return the groups a user can share library to. + +For example, if you want to let a user to share library to both its groups and the groups of user `test@test.com`, you can define a `custom_get_groups` function in `{seafile install path}/conf/seahub_custom_functions/__init__.py` + +Code example: + +``` +import os +import sys + +current_path = os.path.dirname(os.path.abspath(__file__)) +seaserv_dir = os.path.join(current_path, \ + '../../seafile-server-latest/seafile/lib64/python2.7/site-packages') +sys.path.append(seaserv_dir) + +def custom_get_groups(request): + + from seaserv import ccnet_api + + groups = [] + username = request.user.username + + # for current user + groups += ccnet_api.get_groups(username) + + # for 'test@test.com' user + groups += ccnet_api.get_groups('test@test.com') + + return groups + +``` + +> **NOTE**, you should NOT change the name of `custom_get_groups` and `seahub_custom_functions/__init__.py` + +## Note + +* You need to restart seahub so that your changes take effect. +* If your changes don't take effect, You may need to delete 'seahub_setting.pyc'. (A cache file) + +```bash +./seahub.sh restart + +``` diff --git a/manual/config/sending_email.md b/manual/config/sending_email.md new file mode 100644 index 00000000..7f7f088d --- /dev/null +++ b/manual/config/sending_email.md @@ -0,0 +1,191 @@ +# Sending Email Notifications on Seahub + +## Types of Email Sending in Seafile + +There are currently five types of emails sent in Seafile: + +* User reset his/her password +* System admin add new member +* System admin reset user password +* User send file/folder share link and upload link +* \[pro] Reminder of unread notifications (It is sent by a background task which is pro edition only) + +The first four types of email are sent immediately. The last type is sent by a background task running periodically. + +## Options of Email Sending + +Please add the following lines to seahub_settings.py to enable email sending. + +```python +EMAIL_USE_TLS = False +EMAIL_HOST = 'smtp.example.com' # smpt server +EMAIL_HOST_USER = 'username@example.com' # username and domain +EMAIL_HOST_PASSWORD = 'password' # password +EMAIL_PORT = 25 +DEFAULT_FROM_EMAIL = EMAIL_HOST_USER +SERVER_EMAIL = EMAIL_HOST_USER + +``` + +If you are using Gmail as email server, use following lines: + +```python +EMAIL_USE_TLS = True +EMAIL_HOST = 'smtp.gmail.com' +EMAIL_HOST_USER = 'username@gmail.com' +EMAIL_HOST_PASSWORD = 'password' +EMAIL_PORT = 587 +DEFAULT_FROM_EMAIL = EMAIL_HOST_USER +SERVER_EMAIL = EMAIL_HOST_USER + +``` + +**Note**: If your email service still does not work, you can checkout the log file `logs/seahub.log` to see what may cause the problem. For a complete email notification list, please refer to [email notification list](customize_email_notifications.md). + +**Note2**: If you want to use the email service without authentication leaf `EMAIL_HOST_USER` and `EMAIL_HOST_PASSWORD` **blank** (`''`). (But notice that the emails then will be sent without a `From:` address.) + +**Note3**: About using SSL connection (using port 465) + +Port 587 is being used to establish a TLS connection and port 465 is being used to establish an SSL connection. Starting from Django 1.8, it supports both. Until version 5.1 Seafile only supported Django 1.5, which only supports TLS connections. If your email server only supports SSL connections and you are using a Seafile Server version below 5.1, you can find a workaround here: [django-smtp-ssl](https://github.com/bancek/django-smtp-ssl). + +## Change the `sender` and `reply to` of email + +You can change the sender and reply to field of email by add the following settings to seahub_settings.py. This only affects email sending for file share link. + +```python +# Replace default from email with user's email or not, defaults to ``False`` +REPLACE_FROM_EMAIL = True + +# Set reply-to header to user's email or not, defaults to ``False``. For details, +# please refer to http://www.w3.org/Protocols/rfc822/ +ADD_REPLY_TO_HEADER = True + +``` + +## Config background email sending task (Pro Edition Only) + +The background task will run periodically to check whether an user have new unread notifications. If there are any, it will send a reminder email to that user. The background email sending task is controlled by `seafevents.conf`. + +``` +[SEAHUB EMAIL] + +## must be "true" to enable user email notifications when there are new unread notifications +enabled = true + +## interval of sending seahub email. Can be s(seconds), m(minutes), h(hours), d(days) +interval = 30m + +``` + +## Customize email messages + +The simplest way to customize the email message is setting the `SITE_NAME` variable in seahub_settings.py. If it is not enough for your case, you can customize the email templates. + +**Note:** Subject line may vary between different releases, this is based on Release 5.0.0. Restart Seahub so that your changes take effect. + +### The email base template + +[seahub/seahub/templates/email_base.html](https://github.com/haiwen/seahub/blob/master/seahub/templates/email_base.html) + +Note: You can copy email_base.html to `seahub-data/custom/templates/email_base.html` and modify the new one. In this way, the customization will be maintained after upgrade. + +### User reset his/her password + +**Subject** + +seahub/seahub/auth/forms.py line:127 + +```python + send_html_email(_("Reset Password on %s") % site_name, + email_template_name, c, None, [user.username]) + +``` + +**Body** + +[seahub/seahub/templates/registration/password_reset_email.html](https://github.com/haiwen/seahub/blob/master/seahub/templates/registration/password_reset_email.html) + +Note: You can copy password_reset_email.html to `seahub-data/custom/templates/registration/password_reset_email.html` and modify the new one. In this way, the customization will be maintained after upgrade. + +### System admin add new member + +**Subject** + +seahub/seahub/views/sysadmin.py line:424 + +``` +send_html_email(_(u'Password has been reset on %s') % SITE_NAME, + 'sysadmin/user_reset_email.html', c, None, [email]) + +``` + +**Body** + +[seahub/seahub/templates/sysadmin/user_add_email.html](https://github.com/haiwen/seahub/blob/master/seahub/templates/sysadmin/user_add_email.html) + +Note: You can copy user_add_email.html to `seahub-data/custom/templates/sysadmin/user_add_email.html` and modify the new one. In this way, the customization will be maintained after upgrade. + +### System admin reset user password + +**Subject** + +seahub/seahub/views/sysadmin.py line:1224 + +```python +send_html_email(_(u'Password has been reset on %s') % SITE_NAME, + 'sysadmin/user_reset_email.html', c, None, [email]) + +``` + +**Body** + +[seahub/seahub/templates/sysadmin/user_reset_email.html](https://github.com/haiwen/seahub/blob/master/seahub/templates/sysadmin/user_reset_email.html) + +Note: You can copy user_reset_email.html to `seahub-data/custom/templates/sysadmin/user_reset_email.html` and modify the new one. In this way, the customization will be maintained after upgrade. + +### User send file/folder share link + +**Subject** + +seahub/seahub/share/views.py line:913 + +```python +try: + if file_shared_type == 'f': + c['file_shared_type'] = _(u"file") + send_html_email(_(u'A file is shared to you on %s') % SITE_NAME, + 'shared_link_email.html', + c, from_email, [to_email], + reply_to=reply_to + ) + else: + c['file_shared_type'] = _(u"directory") + send_html_email(_(u'A directory is shared to you on %s') % SITE_NAME, + 'shared_link_email.html', + c, from_email, [to_email], + reply_to=reply_to) + +``` + +**Body** + +[seahub/seahub/templates/shared_link_email.html](https://github.com/haiwen/seahub/blob/master/seahub/templates/shared_link_email.html) + +[seahub/seahub/templates/shared_upload_link_email.html](https://github.com/haiwen/seahub/blob/master/seahub/templates/shared_upload_link_email.html) + +Note: You can copy shared_link_email.html to `seahub-data/custom/templates/shared_link_email.html` and modify the new one. In this way, the customization will be maintained after upgrade. + +### Reminder of unread notifications + +**Subject** + +```python +send_html_email(_('New notice on %s') % settings.SITE_NAME, + 'notifications/notice_email.html', c, + None, [to_user]) + +``` + +**Body** + +[seahub/seahub/notifications/templates/notifications/notice_email.html](https://github.com/haiwen/seahub/blob/master/seahub/notifications/templates/notifications/notice_email.html) diff --git a/manual/contribution.md b/manual/contribution.md new file mode 100644 index 00000000..84fabed6 --- /dev/null +++ b/manual/contribution.md @@ -0,0 +1,26 @@ +# Contribution + +## Licensing + +The different components of Seafile project are released under different licenses: + +* [Seafile iOS client](https://github.com/haiwen/seafile-iOS): Apache License v2 +* [Seafile Android client](https://github.com/haiwen/seadroid): GPLv3 +* Desktop syncing client: GPLv2 +* [Seafile Server core](https://github.com/haiwen/seafile-server): AGPLv3 +* Seahub (Seafile server Web UI): Apache License v2 + +## Discussion + +Forum: + +Follow us @seafile + +## Report a Bug + +* Please report a bug in our forum, this is a preferred way. +* You can also report a bug in GitHub + +## Code Style + + The source code of seafile is ISO/IEC 9899:1999 (E) (a.k.a. C99) compatible. Take a look at [code standard](develop/code_standard.md). diff --git a/manual/cover.jpg b/manual/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..56b791a9517739a642c825ab83da252685dacb82 GIT binary patch literal 112373 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

-DlVl=& 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 literal 0 HcmV?d00001 diff --git a/manual/cover_small.jpg b/manual/cover_small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dfd39bd5dc4f466bed201a9d2cc1c51f0bdeec71 GIT binary patch literal 7688 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 4.2 use http syncing protocol exclusively, the cases are + +* If you're not using https, you don't have to configure Nginx or Apache to use http sync. The client can talk directly with the file server on port 8082. +* If you're using https, you have to configure Nginx or Apahce. + +If you'are using clients version < 4.2, + +* If you want to use http(s) sync, you have to configure Nginx or Apache. +* If you don't configure Nginx or Apache, the client falls back to use non-http syncing protocol (using port 10001 and 12001). + +Servers >= 4.0 are compatible with all syncing protocols, any version of client should work with the server. + +## Nginx + +Follow [this guide](deploy_with_nginx.md) to configure Nginx without HTTPS, or [this guide](https_with_nginx.md) to configure Nginx with HTTPS. + +The section in Nginx config file related to HTTP sync is + +``` + location /seafhttp { + rewrite ^/seafhttp(.*)$ $1 break; + proxy_pass http://127.0.0.1:8082; + client_max_body_size 0; + proxy_connect_timeout 36000s; + proxy_read_timeout 36000s; + } +``` + +there are two things to note: + +* You must use the path "/seafhttp" for http syncing. This is hard coded in the client. +* You should add the "client_max_body_size" configuration. The value should be set to 0 (means no limit) or 100M (suffice for most cases). + +## Apache + +Follow [this guide](deploy_with_apache.md) to configure Apache without HTTPS, or [this guide](https_with_apache.md) to configure Nginx with HTTPS. + +The section in Apache config file related to HTTP sync is + +``` + # + # seafile fileserver + # + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] +``` + +Note that you must use the path "/seafhttp" for http syncing. This is hard coded in the client. + +## Client Side Configuration for HTTPS + +If you buy a valid SSL certificate, the syncing should work out of the box. If you use self-signed certificate, when you first add an account on the client, it'll pop up a window for you to confirm the server's certificate. If you choose to accept the certificate, the client will use that for https connection. + +The client loads trusted CA list from the system trusted CA store on start. It then combines those CA list with the user accepted certificates. The combined list is then used for certificate verification. + +If you follow certificate generation instruction in [this guide](https_with_nginx.md) to generate your self-signed certificate, the syncing should work after confirmation. + +There may be cases when you can't establish https connection to the server. You can try two work-arounds: + +1. Add your self-signed certificate to system trusted CA store. +2. Open the client "settings" window, in "advanced" tab, check "Do not verifiy server certificate in HTTPS sync". + +## FAQ and Trouble Shooting + +### My Client Doesn't Sync after Upgrading to 4.2.x + +Older clients fall back to non-http sync protocol if http sync fails. So you may get the false sense that the old client works with http sync. But actually it doesn't. Client 4.2 use http sync exclusively, so it doesn't sync any more. You have to correctly configure the server for http sync. + +### Choosing Ciphers on Nginx/Apache + +You should choose strong ciphers on the server side. The following Nginx cipher list is tested to be working fine: + +``` +ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; +``` + +You may fine tune the list to meet your needs. + + diff --git a/manual/deploy/deploy_seafile_behind_nat.md b/manual/deploy/deploy_seafile_behind_nat.md new file mode 100644 index 00000000..4ff5eacd --- /dev/null +++ b/manual/deploy/deploy_seafile_behind_nat.md @@ -0,0 +1,110 @@ +# Deploy Seafile behind NAT + +A lot of people want to deploy a seafile server in their LAN, and access it from the WAN. + +To achieve this, you need: + +- A router which supports port forwarding +- Use a dynamic DNS Service +- Modify your seafile server configuration + +### Table of Contents + +- [Setup the server](#setup-the-server) +- [Setup port forwarding in your router](#setup-port-forwarding-in-your-router) +- [Use a dynamic dns serivce](#use-a-dynamic-dns-serivce) +- [Modify your seafile configuration](#modify-your-seafile-configuration) + + +## Setup the server + +First, you should follow the guide on [Download and Setup Seafile Server](using_sqlite.md) to setup your Seafile server. + +Before you continue, make sure: + +- You can visit your seahub website +- You can download/sync a library through your seafile client + +## Setup Port Forwarding in Your Router + +### Ensure Your Router Supports Port Forwarding + +First, ensure your router supports port forwarding. + +- Login to the web adminstration page of your router. If you don't know how to do this, you should find the instructions on the manual of the router. If you have no maunal, just google **"XXX router administration page"** where `XXX` is your router's brand. + +- Navigate around in the adminstration page, and check if there is a tag which contains a word such as "forward", "advanced". If your router supports it, chances are that you can find the port forwarding related settings there. + +### Setup Port Forwarding Rules + +Seafile server is composed of several components. If you deployed Seafile behind Apache/Nginx you need to configure port forward for all the components listed below. + +component | default port | protocol +-------------------|--------------|---------- +webserver (http) | 80 | TCP +webserver (https) | 433 | TCP + +If you do not deployed Seafile behind Apache/Nginx you need to configure port forward for all the components listed below. (**not recomended!**) + +component | default port | protocol +-----------|--------------|--------- +fileserver | 8082 | TCP +seahub | 8000 | TCP + +* If you're not using the default ports, you should adjust the table accroding to your own customiztion. + +### How to test if your port forwarding is working + +After you have set the port forwarding rules on your router, you can check whether it works by: + +- Open a command line prompt +- Get your WAN IP. A convenient way to get your WAN ip is to visit `http://who.is`, which would show you your WAN IP. +- Try to connect your seahub server + +```bash +telnet 8000 +``` + +If your port forwarding is working, the command above should succeed. Otherwise, you may get a message saying something like *connection refused* or *connection timeout*. + +If your port forwarding is not working, the reasons may be: + +- You have configured a wrong port forwarding +- Your router may need a restart +- You network may be down + +### Set SERVICE_URL + +"SERVICE_URL" in `ccnet.conf` is used to generate the download/upload link for files when you browse files online. Set it using your WAN IP. + +```python +SERVICE_URL = http://:8000 +``` + +Most routers support NAT loopback. When your access Seafile web from intranet, file download/upload still works even when external IP is used. + +## Use a Dynamic DNS Serivce + +### Why use a Dynamic DNS(DDNS) Service? + +Having done all the steps above, you should be able to visit your seahub server outside your LAN by your WAN IP. But for most people, the WAN IP address is likey to change regularly by their ISP(Internet Serice Provider), which makes this approach impratical. + +You can use a dynamic DNS(DDNS) Service to overcome this problem. By using a dynamic DNS service, you can visit your seahub by domain name (instead of by IP), and the domain name will always be mapped to your WAN IP address, even if it changes regularly. + +There are a dozen of dynmaic DNS service providers on the internet. If you don't know what service to choose We recommend using [www.noip.com](http://www.noip.com) since it performs well in our testing. + +The detailed process is beyond the scope of this wiki. But basically, you should: + +1. Choose a DDNS service provider +2. Register an account on the DDNS service provider's website +3. Download a client from your DDNS service provider to keep your domain name always mapped to your WAN IP + +## Modify your seafile configuration + +After you have setup your DDNS service, you need to modify the `ccnet.conf`: + +```python +SERVICE_URL = http://:8000 +``` + +Restart your seafile server after this. diff --git a/manual/deploy/deploy_seahub_at_non-root_domain.md b/manual/deploy/deploy_seahub_at_non-root_domain.md new file mode 100644 index 00000000..b3e9ca7f --- /dev/null +++ b/manual/deploy/deploy_seahub_at_non-root_domain.md @@ -0,0 +1,155 @@ +# Deploy Seahub at Non-root domain + +This documentation will talk about how to deploy Seafile Web using Apache/Nginx at Non-root directory of the website(e.g., www.example.com/seafile/). Please note that the file server path will still be e.g. www.example.com/seafhttp (rather than www.example.com/seafile/seafhttp) because this path is hardcoded in the clients. + +**Note:** We assume you have read [Deploy Seafile with nginx](deploy_with_nginx.md) or [Deploy Seafile with apache](deploy_with_apache.md). + +## Configure Seahub + +First, we need to overwrite some variables in seahub_settings.py: + +``` +SERVE_STATIC = False +MEDIA_URL = '/seafmedia/' +COMPRESS_URL = MEDIA_URL +STATIC_URL = MEDIA_URL + 'assets/' +SITE_ROOT = '/seafile/' +LOGIN_URL = '/seafile/accounts/login/' # NOTE: since version 5.0.4 + +``` + +The webserver will serve static files (js, css, etc), so we just disable `SERVE_STATIC`. + +`MEDIA_URL` can be anything you like, just make sure a trailing slash is appended at the end. + +We deploy Seafile at `/seafile/` directory instead of root directory, so we set `SITE_ROOT` to `/seafile/`. + +## Modify ccnet.conf and seahub_setting.py + +### Modify ccnet.conf + +You need to modify the value of `SERVICE_URL` in [ccnet.conf](../config/ccnet-conf.md) +to let Seafile know the domain you choose. + +``` +SERVICE_URL = http://www.myseafile.com/seafile + +``` + +Note: If you later change the domain assigned to seahub, you also need to change the value of `SERVICE_URL`. + +### Modify seahub_settings.py + +You need to add a line in `seahub_settings.py` to set the value of `FILE_SERVER_ROOT` + +```python +FILE_SERVER_ROOT = 'http://www.myseafile.com/seafhttp' + +``` + +**Note:** The file server path MUST be `/seafhttp` because this path is hardcoded in the clients. + +## Webserver configuration + +### Deploy with Nginx + +Then, we need to configure the Nginx: + +``` +server { + listen 80; + server_name www.example.com; + + proxy_set_header X-Forwarded-For $remote_addr; + + location /seafile { + proxy_pass http://127.0.0.1:8000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 1200s; + + # used for view/edit office file via Office Online Server + client_max_body_size 0; + + access_log /var/log/nginx/seahub.access.log; + error_log /var/log/nginx/seahub.error.log; + } + + location /seafhttp { + rewrite ^/seafhttp(.*)$ $1 break; + proxy_pass http://127.0.0.1:8082; + client_max_body_size 0; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_connect_timeout 36000s; + proxy_read_timeout 36000s; + } + + location /seafmedia { + rewrite ^/seafmedia(.*)$ /media$1 break; + root /home/user/haiwen/seafile-server-latest/seahub; + } +} + +``` + +## Deploy with Apache + +Here is the sample configuration: + +``` + + ServerName www.example.com + DocumentRoot /var/www + Alias /seafmedia /home/user/haiwen/seafile-server-latest/seahub/media + + + ProxyPass ! + Require all granted + + + RewriteEngine On + + # + # seafile fileserver + # + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] + + # + # seahub + # + SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPreserveHost On + ProxyPass /seafile http://127.0.0.1:8000/seafile + ProxyPassReverse /seafile http://127.0.0.1:8000/seafile + + +``` + +We use Alias to let Apache serve static files, please change the second argument to your path. + +## Clear the cache + +By default, Seahub caches some data like the link to the avatar icon in `/tmp/seahub_cache/` (unless memcache is used). We suggest to clear the cache after seafile has been stopped: + +``` +rm -rf /tmp/seahub_cache/ + +``` + +For memcache users, please purge the cache there instead by restarting your memcached server. + +## Start Seafile and Seahub + +``` +./seafile.sh start +./seahub.sh start + +``` + + diff --git a/manual/deploy/deploy_with_apache.md b/manual/deploy/deploy_with_apache.md new file mode 100644 index 00000000..7fed1e54 --- /dev/null +++ b/manual/deploy/deploy_with_apache.md @@ -0,0 +1,101 @@ +# Config Seahub with Apache + +## Important + +According to the [security advisory](https://www.djangoproject.com/weblog/2013/aug/06/breach-and-django/) published by Django team, we recommend disable [GZip compression](http://httpd.apache.org/docs/2.2/mod/mod_deflate.html) to mitigate [BREACH attack](http://breachattack.com/). + +This tutorial assumes you run at least Apache 2.4. + +## Prepare + +Install and enable apache modules + +On Ubuntu you can use: + +```bash +sudo a2enmod rewrite +sudo a2enmod proxy_http +``` + + + +## Deploy Seahub/FileServer With Apache + +Seahub is the web interface of Seafile server. FileServer is used to handle raw file uploading/downloading through browsers. By default, it listens on port 8082 for HTTP request. + +Here we deploy Seahub and FileServer with reverse proxy. We assume you are running Seahub using domain '''www.myseafile.com'''. + +Modify Apache config file: +(`sites-enabled/000-default`) for ubuntu/debian, (`vhost.conf`) for centos/fedora + +```apache + + ServerName www.myseafile.com + # Use "DocumentRoot /var/www/html" for Centos/Fedora + # Use "DocumentRoot /var/www" for Ubuntu/Debian + DocumentRoot /var/www + Alias /media /home/user/haiwen/seafile-server-latest/seahub/media + + RewriteEngine On + + + Require all granted + + + # + # seafile fileserver + # + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] + + # + # seahub + # + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPreserveHost On + ProxyPass / http://127.0.0.1:8000/ + ProxyPassReverse / http://127.0.0.1:8000/ + +``` + +## Modify ccnet.conf and seahub_setting.py + +### Modify ccnet.conf + +You need to modify the value of `SERVICE_URL` in [ccnet.conf](../config/ccnet-conf.md) +to let Seafile know the domain you choose. You can also modify SERVICE_URL via web UI in "System Admin->Settings". (**Warning**: if you set the value both via Web UI and ccnet.conf, the setting via Web UI will take precedence.) + +```python +SERVICE_URL = http://www.myseafile.com +``` + +Note: If you later change the domain assigned to seahub, you also need to change the value of `SERVICE_URL`. + +### Modify seahub_settings.py + +You need to add a line in `seahub_settings.py` to set the value of `FILE_SERVER_ROOT`. You can also modify `FILE_SERVER_ROOT` via web UI in "System Admin->Settings". (**Warning**: if you set the value both via Web UI and seahub_settings.py, the setting via Web UI will take precedence.) + +```python +FILE_SERVER_ROOT = 'http://www.myseafile.com/seafhttp' +``` + +## Start Seafile and Seahub + +```bash +sudo service apache2 restart +./seafile.sh start +./seahub.sh start +``` + +## Troubleshooting + +### Problems with paths and files containing spaces + +If there are problems with paths or files containing spaces, make sure to have at least Apache 2.4.12. + +References + * https://github.com/haiwen/seafile/issues/1258#issuecomment-188866740 + * https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1284641 + * https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1284641/comments/5 + * https://svn.apache.org/viewvc/httpd/httpd/tags/2.4.12/CHANGES?view=markup#l45 diff --git a/manual/deploy/deploy_with_docker.md b/manual/deploy/deploy_with_docker.md new file mode 100644 index 00000000..2383a8db --- /dev/null +++ b/manual/deploy/deploy_with_docker.md @@ -0,0 +1,244 @@ +## About + +* [Docker](https://docker.com/) is an open source project to pack, ship and run any Linux application in a lighter weight, faster container than a traditional virtual machine. +* Docker makes it much easier to deploy [a Seafile server](https://github.com/haiwen/seafile) on your servers and keep it updated. +* The base image configures Seafile with the Seafile team's recommended optimal defaults. + +If you are not familiar with docker commands, please refer to [docker documentation](https://docs.docker.com/engine/reference/commandline/cli/). + +**Note**: If you want to deploy the Seafile Pro Edition with docker, refor to the [Deploying Seafile-pro with Docker](../deploy_pro/deploy_with_docker.md) + +## For seafile 7.x.x + +Starting with 7.0, we have adjusted seafile-docker image to use multiple containers. The old image runs MariaDB-Server and Memcached in the same container with Seafile server. Now, we strip the MariaDB-Server and Memcached services from the Seafile image and run them in their respective containers. + +If you plan to deploy seafile 7.0, you should refer to the [Deploy Documentation](<../docker/deploy seafile with docker.md>). + +If you plan to upgrade 6.3 to 7.0, you can refer to the [Upgrade Documentation](<../docker/6.3 upgrade to 7.0.md>). + +## For seafile 6.x.x + +### Getting started + +To run the seafile server container: + +```sh +docker run -d --name seafile \ + -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ + -v /opt/seafile-data:/shared \ + -p 80:80 \ + seafileltd/seafile:latest + +``` + +Wait for a few minutes for the first time initialization, then visit `http://seafile.example.com` to open Seafile Web UI. + +This command will mount folder `/opt/seafile-data` at the local server to the docker instance. You can find logs and other data under this folder. + +### More configuration options + +#### Custom admin username and password + +The default admin account is `me@example.com` and the password is `asecret`. You can use a different password by setting the container's environment variables: +e.g. + +```sh +docker run -d --name seafile \ + -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ + -e SEAFILE_ADMIN_EMAIL=me@example.com \ + -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ + -v /opt/seafile-data:/shared \ + -p 80:80 \ + seafileltd/seafile:latest + +``` + +If you forget the admin password, you can add a new admin account and then go to the sysadmin panel to reset user password. + +#### Let's encrypt SSL certificate + +If you set `SEAFILE_SERVER_LETSENCRYPT` to `true`, the container would request a letsencrypt-signed SSL certificate for you automatically. + +e.g. + +``` +docker run -d --name seafile \ + -e SEAFILE_SERVER_LETSENCRYPT=true \ + -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ + -e SEAFILE_ADMIN_EMAIL=me@example.com \ + -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ + -v /opt/seafile-data:/shared \ + -p 80:80 \ + -p 443:443 \ + seafileltd/seafile:latest + +``` + +If you want to use your own SSL certificate: + +* create a folder `/opt/seafile-data/ssl`, and put your certificate and private key under the ssl directory. +* Assume your site name is `seafile.example.com`, then your certificate must have the name `seafile.example.com.crt`, and the private key must have the name `seafile.example.com.key`. + +#### Modify seafile server configurations + +The config files are under `shared/seafile/conf`. You can modify the configurations according to[ Seafile manual](https://download.seafile.com/published/seafile-manual/home.md) + +After modification, you need to restart the container: + +``` +docker restart seafile + +``` + +#### Find logs + +The seafile logs are under `shared/logs/seafile` in the docker, or `/opt/seafile-data/logs/seafile` in the server that run the docker. + +The system logs are under `shared/logs/var-log`, or `/opt/seafile-data/logs/var-log` in the server that run the docker. + +#### Add a new admin + +Ensure the container is running, then enter this command: + +``` +docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh + +``` + +Enter the username and password according to the prompts. You now have a new admin account. + +### Directory structure + +#### `/shared` + +Placeholder spot for shared volumes. You may elect to store certain persistent information outside of a container, in our case we keep various logfiles and upload directory outside. This allows you to rebuild containers easily without losing important information. + +* /shared/db: This is the data directory for mysql server +* /shared/seafile: This is the directory for seafile server configuration and data. +* /shared/logs: This is the directory for logs. + * /shared/logs/var-log: This is the directory that would be mounted as `/var/log` inside the container. For example, you can find the nginx logs in `shared/logs/var-log/nginx/`. + * /shared/logs/seafile: This is the directory that would contain the log files of seafile server processes. For example, you can find seaf-server logs in `shared/logs/seafile/seafile.log`. +* /shared/ssl: This is directory for certificate, which does not exist by default. +* /shared/bootstrap.conf: This file does not exist by default. You can create it by your self, and write the configuration of files similar to the `samples` folder. + +### Upgrading seafile server + +If you plan to upgrade 6.3 to 7.0, you can refer to the [Upgrade Documentation](<../docker/6.3 upgrade to 7.0.md>). + +To upgrade to the latest version of seafile 6.3: + +```sh +docker pull seafileltd/seafile:latest +docker rm -f seafile +docker run -d --name seafile \ + -e SEAFILE_SERVER_LETSENCRYPT=true \ + -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ + -e SEAFILE_ADMIN_EMAIL=me@example.com \ + -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ + -v /opt/seafile-data:/shared \ + -p 80:80 \ + -p 443:443 \ + seafileltd/seafile:latest + +``` + +If you are one of the early users who use the `launcher` script, you should refer to [upgrade from old format](https://github.com/haiwen/seafile-docker/blob/master/upgrade_from_old_format.md) document. + +### Backup and recovery + +#### Struct + +We assume your seafile volumns path is in `/shared`. And you want to backup to `/backup` directory. +You can create a layout similar to the following in /backup directory: + +```struct +/backup +---- databases/ contains database backup files +---- data/ contains backups of the data directory + +``` + +The data files to be backed up: + +```struct +/shared/seafile/conf # configuration files +/shared/seafile/pro-data # data of es +/shared/seafile/seafile-data # data of seafile +/shared/seafile/seahub-data # data of seahub + +``` + +#### Backup + +Steps: + +1. Backup the databases; +2. Backup the seafile data directory; + +[Backup Order: Database First or Data Directory First](../maintain/backup_recovery.md) + +* backing up Database: + + ```bash + # It's recommended to backup the database to a separate file each time. Don't overwrite older database backups for at least a week. + cd /backup/databases + docker exec -it seafile mysqldump -uroot --opt ccnet_db > ccnet_db.sql + docker exec -it seafile mysqldump -uroot --opt seafile_db > seafile_db.sql + docker exec -it seafile mysqldump -uroot --opt seahub_db > seahub_db.sql + + ``` + +* Backing up Seafile library data: + * To directly copy the whole data directory + + ```bash + cp -R /shared/seafile /backup/data/ + cd /backup/data && rm -rf ccnet + + ``` + + * Use rsync to do incremental backup + + ```bash + rsync -az /shared/seafile /backup/data/ + cd /backup/data && rm -rf ccnet + + ``` + +### Recovery + +* Restore the databases: + + ```bash + cp /backup/data/ccnet_db.sql /shared/ccnet_db.sql + cp /backup/data/seafile_db.sql /shared/seafile_db.sql + cp /backup/data/seahub_db.sql /shared/seahub_db.sql + docker exec -it seafile /bin/sh -c "mysql -uroot ccnet_db < /shared/ccnet_db.sql" + docker exec -it seafile /bin/sh -c "mysql -uroot seafile_db < /shared/seafile_db.sql" + docker exec -it seafile /bin/sh -c "mysql -uroot seahub_db < /shared/seahub_db.sql" + + ``` + +* Restore the seafile data: + + ```bash + cp -R /backup/data/* /shared/seafile/ + + ``` + +### Garbage collection + +When files are deleted, the blocks comprising those files are not immediately removed as there may be other files that reference those blocks (due to the magic of deduplication). To remove them, Seafile requires a '[garbage collection](../maintain/seafile_gc.md)' process to be run, which detects which blocks no longer used and purges them. (NOTE: for technical reasons, the GC process does not guarantee that _every single_ orphan block will be deleted.) + +The required scripts can be found in the `/scripts` folder of the docker container. To perform garbage collection, simply run `docker exec seafile /scripts/gc.sh`. For the community edition, this process will stop the seafile server, but it is a relatively quick process and the seafile server will start automatically once the process has finished. The Professional supports an online garbage collection. + +### Troubleshooting + +You can run docker commands like "docker exec" to find errors. + +```sh +docker exec -it seafile bash + +``` + + diff --git a/manual/deploy/deploy_with_nginx.md b/manual/deploy/deploy_with_nginx.md new file mode 100644 index 00000000..0bcc94ca --- /dev/null +++ b/manual/deploy/deploy_with_nginx.md @@ -0,0 +1,127 @@ +# Config Seahub with Nginx + +## Deploy Seahub/FileServer with Nginx + +Seahub is the web interface of Seafile server. FileServer is used to handle raw file uploading/downloading through browsers. By default, it listens on port 8082 for HTTP requests. + +Here we deploy Seahub and FileServer with reverse proxy. We assume you are running Seahub using domain `seafile.example.com`. + +This is a sample Nginx config file. + +In Ubuntu 16.04, you can add the config file as follows: + +1. create file `/etc/nginx/sites-available/seafile.conf` +2. Delete `/etc/nginx/sites-enabled/default`: `rm /etc/nginx/sites-enabled/default` +3. Create symbolic link: `ln -s /etc/nginx/sites-available/seafile.conf /etc/nginx/sites-enabled/seafile.conf` + +```nginx + +log_format seafileformat '$http_x_forwarded_for $remote_addr [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $upstream_response_time'; + +server { + listen 80; + server_name seafile.example.com; + + proxy_set_header X-Forwarded-For $remote_addr; + + location / { + proxy_pass http://127.0.0.1:8000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + proxy_read_timeout 1200s; + + # used for view/edit office file via Office Online Server + client_max_body_size 0; + + access_log /var/log/nginx/seahub.access.log seafileformat; + error_log /var/log/nginx/seahub.error.log; + } + +# If you are using [FastCGI](http://en.wikipedia.org/wiki/FastCGI), +# which is not recommended, you should use the following config for location `/`. +# +# location / { +# fastcgi_pass 127.0.0.1:8000; +# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; +# fastcgi_param PATH_INFO $fastcgi_script_name; +# +# fastcgi_param SERVER_PROTOCOL $server_protocol; +# fastcgi_param QUERY_STRING $query_string; +# fastcgi_param REQUEST_METHOD $request_method; +# fastcgi_param CONTENT_TYPE $content_type; +# fastcgi_param CONTENT_LENGTH $content_length; +# fastcgi_param SERVER_ADDR $server_addr; +# fastcgi_param SERVER_PORT $server_port; +# fastcgi_param SERVER_NAME $server_name; +# fastcgi_param REMOTE_ADDR $remote_addr; +# fastcgi_read_timeout 36000; +# +# client_max_body_size 0; +# +# access_log /var/log/nginx/seahub.access.log; +# error_log /var/log/nginx/seahub.error.log; +# } + + location /seafhttp { + rewrite ^/seafhttp(.*)$ $1 break; + proxy_pass http://127.0.0.1:8082; + client_max_body_size 0; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_connect_timeout 36000s; + proxy_read_timeout 36000s; + proxy_send_timeout 36000s; + + send_timeout 36000s; + + access_log /var/log/nginx/seafhttp.access.log seafileformat; + error_log /var/log/nginx/seafhttp.error.log; + } + location /media { + root /home/user/haiwen/seafile-server-latest/seahub; + } +} +``` + +Nginx settings `client_max_body_size` is by default 1M. Uploading a file bigger than this limit will give you an error message HTTP error code 413 ("Request Entity Too Large"). + +You should use 0 to disable this feature or write the same value than for the parameter `max_upload_size` in section `[fileserver]` of [seafile.conf](../config/seafile-conf.md). Client uploads are only partly effected by this limit. With a limit of 100 MiB they can safely upload files of any size. + +Tip for uploading very large files (> 4GB): By default Nginx will buffer large request bodies in temp files. After the body is completely received, Nginx will send the body to the upstream server (seaf-server in our case). But it seems when the file size is very large, the buffering mechanism dosen't work well. It may stop proxying the body in the middle. So if you want to support file uploads larger than 4GB, we suggest to install Nginx version >= 1.8.0 and add the following options to Nginx config file: + +```nginx + location /seafhttp { + ... ... + proxy_request_buffering off; + } +``` + +## Modify ccnet.conf and seahub_setting.py + +### Modify ccnet.conf + +You need to modify the value of `SERVICE_URL` in [ccnet.conf](../config/ccnet-conf.md) to let Seafile know the domain, protocol and port you choose. You can also modify `SERVICE_URL` via web UI in "System Admin->Settings". (**Warning**: If you set the value both via Web UI and ccnet.conf, the setting via Web UI will take precedence.) + +```python +SERVICE_URL = http://seafile.example.com +``` + +Note: If you later change the domain assigned to Seahub, you also need to change the value of `SERVICE_URL`. + +### Modify seahub_settings.py + +You need to add a line in `seahub_settings.py` to set the value of `FILE_SERVER_ROOT`. You can also modify `FILE_SERVER_ROOT` via web UI in "System Admin->Settings". (**Warning**: if you set the value both via Web UI and seahub_settings.py, the setting via Web UI will take precedence.) + + +```python +FILE_SERVER_ROOT = 'http://seafile.example.com/seafhttp' +``` + +## Start Seafile and Seahub + +```bash +./seafile.sh start +./seahub.sh start # or "./seahub.sh start-fastcgi" if you're using fastcgi +``` diff --git a/manual/deploy/https_with_apache.md b/manual/deploy/https_with_apache.md new file mode 100644 index 00000000..51be2aca --- /dev/null +++ b/manual/deploy/https_with_apache.md @@ -0,0 +1,108 @@ +# Enabling Https with Apache + +Here we suggest you use [Let’s Encrypt](https://letsencrypt.org/getting-started/) to get a certificate from a Certificate Authority (CA). If you use a paid ssl certificate from some authority, just skip the first step. + +### Generate SSL certificate + +For users who use Let’s Encrypt, you can obtain a valid certificate via [Certbot ACME client](https://certbot.eff.org/) + +On Ubuntu systems, the Certbot team maintains a PPA. Once you add it to your list of repositories all you'll need to do is apt-get the following packages. + +```bash +sudo apt-get update +sudo apt-get install software-properties-common +sudo add-apt-repository ppa:certbot/certbot +sudo apt-get update +sudo apt-get install python-certbot-apache +``` + +Certbot has a fairly solid beta-quality Apache plugin, which is supported on many platforms, and automates both obtaining and installing certs: + +```bash +sudo certbot --apache +``` + +Running this command will get a certificate for you and have Certbot edit your Apache configuration automatically to serve it. If you're feeling more conservative and would like to make the changes to your Apache configuration by hand, you can use the certonly subcommand: + +```bash +sudo certbot --apache certonly +``` + +To learn more about how to use Certbot you can read threir [documentation](https://certbot.eff.org/docs/). + +> If you're using a custom CA to sign your SSL certificate, you have to enable certificate revocation list (CRL) in your certificate. Otherwise http syncing on Windows client may not work. See [this thread](https://forum.seafile-server.org/t/https-syncing-on-windows-machine-using-custom-ca/898) for more information. + +## Enable https on Seahub + +Assume you have configured Apache as [Deploy Seafile with +Apache](deploy_with_apache.md). To use https, you need to enable mod_ssl + +```bash + sudo a2enmod ssl +``` + +On Windows, you have to add ssl module to httpd.conf +```apache +LoadModule ssl_module modules/mod_ssl.so +``` + +Then modify your Apache configuration file. Here is a sample: + +```apache + + ServerName www.myseafile.com + DocumentRoot /var/www + + SSLEngine On + SSLCertificateFile /path/to/cacert.pem + SSLCertificateKeyFile /path/to/privkey.pem + + Alias /media /home/user/haiwen/seafile-server-latest/seahub/media + + + Require all granted + + + RewriteEngine On + + # + # seafile fileserver + # + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] + + # + # seahub + # + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPreserveHost On + ProxyPass / http://127.0.0.1:8000/ + ProxyPassReverse / http://127.0.0.1:8000/ + +``` + +## Modify settings to use https + +### ccnet conf + +Since you change from http to https, you need to modify the value of "SERVICE_URL" in [ccnet.conf](../config/ccnet-conf.md). You can also modify SERVICE_URL via web UI in "System Admin->Settings". (**Warning**: if you set the value both via Web UI and ccnet.conf, the setting via Web UI will take precedence.) + +```python +SERVICE_URL = https://www.myseafile.com +``` + +### seahub_settings.py + +You need to add a line in seahub_settings.py to set the value of `FILE_SERVER_ROOT`. You can also modify `FILE_SERVER_ROOT` via web UI in "System Admin->Settings". (**Warning**: if you set the value both via Web UI and seahub_settings.py, the setting via Web UI will take precedence.) + +```python +FILE_SERVER_ROOT = 'https://www.myseafile.com/seafhttp' +``` + +## Start Seafile and Seahub + +```bash +./seafile.sh start +./seahub.sh start +``` diff --git a/manual/deploy/https_with_nginx.md b/manual/deploy/https_with_nginx.md new file mode 100644 index 00000000..9b1c713e --- /dev/null +++ b/manual/deploy/https_with_nginx.md @@ -0,0 +1,275 @@ +# Enabling Https with Nginx + +Here we suggest you use [Let’s Encrypt](https://letsencrypt.org/getting-started/) to get a certificate from a Certificate Authority (CA). If you use a paid ssl certificate from some authority, just skip the first step. + +### Generate SSL certificate + +For users who use Let’s Encrypt, you can obtain a valid certificate via [Certbot ACME client](https://certbot.eff.org/) + +On Ubuntu systems, the Certbot team maintains a PPA. Once you add it to your list of repositories all you'll need to do is apt-get the following packages. + +```bash +sudo apt-get update +sudo apt-get install software-properties-common +sudo add-apt-repository ppa:certbot/certbot +sudo apt-get update +sudo apt-get install python-certbot-nginx +``` + +Certbot has an Nginx plugin, which is supported on many platforms, and automates both obtaining and installing certs: + +```bash +sudo certbot --nginx +``` + +Running this command will get a certificate for you and have Certbot edit your Nginx configuration automatically to serve it. If you're feeling more conservative and would like to make the changes to your Nginx configuration by hand, you can use the certonly subcommand: + +```bash +sudo certbot --nginx certonly +``` + +To learn more about how to use Certbot you can read threir [documentation](https://certbot.eff.org/docs/). + +> If you're using a custom CA to sign your SSL certificate, you have to enable certificate revocation list (CRL) in your certificate. Otherwise http syncing on Windows client may not work. See [this thread](https://forum.seafile-server.org/t/https-syncing-on-windows-machine-using-custom-ca/898) for more information. + +### Enable SSL module of Nginx (optional) + +If your Nginx does not support SSL, you need to recompile it, the commands are as follows: + +```bash + ./configure --with-http_stub_status_module --with-http_ssl_module + make && make install +``` + +### Modify Nginx configuration file + +Assume you have configured nginx as [Deploy-Seafile-with-nginx](deploy_with_nginx.md). To use https, you need to modify your nginx configuration file. + +```nginx +server { + listen 80; + server_name seafile.example.com; + rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https + + # Enables or disables emitting nginx version on error pages and in the "Server" response header field. + server_tokens off; +} + +server { + listen 443; + ssl on; + ssl_certificate /etc/ssl/cacert.pem; # path to your cacert.pem + ssl_certificate_key /etc/ssl/privkey.pem; # path to your privkey.pem + server_name seafile.example.com; + server_tokens off; + # ...... + proxy_pass http://127.0.0.1:8000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + proxy_set_header X-Forwarded-Proto https; + + proxy_read_timeout 1200s; +} +``` + +### Sample configuration file + +#### Generate DH params +(this takes some time) +```bash + openssl dhparam 2048 > /etc/nginx/dhparam.pem +``` + +Here is the sample configuration file: + +```nginx + server { + listen 80; + server_name seafile.example.com; + rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https + server_tokens off; + } + server { + listen 443; + ssl on; + ssl_certificate /etc/ssl/cacert.pem; # path to your cacert.pem + ssl_certificate_key /etc/ssl/privkey.pem; # path to your privkey.pem + server_name seafile.example.com; + ssl_session_timeout 5m; + ssl_session_cache shared:SSL:5m; + + # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits + ssl_dhparam /etc/nginx/dhparam.pem; + + # secure settings (A+ at SSL Labs ssltest at time of writing) + # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS'; + ssl_prefer_server_ciphers on; + + proxy_set_header X-Forwarded-For $remote_addr; + + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; + server_tokens off; + + location / { + proxy_pass http://127.0.0.1:8000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + proxy_set_header X-Forwarded-Proto https; + + access_log /var/log/nginx/seahub.access.log; + error_log /var/log/nginx/seahub.error.log; + + proxy_read_timeout 1200s; + + client_max_body_size 0; + } +# If you are using [FastCGI](http://en.wikipedia.org/wiki/FastCGI), +# which is not recommended, you should use the following config for location `/`. +# +# location / { +# fastcgi_pass 127.0.0.1:8000; +# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; +# fastcgi_param PATH_INFO $fastcgi_script_name; +# +# fastcgi_param SERVER_PROTOCOL $server_protocol; +# fastcgi_param QUERY_STRING $query_string; +# fastcgi_param REQUEST_METHOD $request_method; +# fastcgi_param CONTENT_TYPE $content_type; +# fastcgi_param CONTENT_LENGTH $content_length; +# fastcgi_param SERVER_ADDR $server_addr; +# fastcgi_param SERVER_PORT $server_port; +# fastcgi_param SERVER_NAME $server_name; +# fastcgi_param REMOTE_ADDR $remote_addr; +# fastcgi_read_timeout 36000; +# +# client_max_body_size 0; +# +# access_log /var/log/nginx/seahub.access.log; +# error_log /var/log/nginx/seahub.error.log; +# } + + location /seafhttp { + rewrite ^/seafhttp(.*)$ $1 break; + proxy_pass http://127.0.0.1:8082; + client_max_body_size 0; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_connect_timeout 36000s; + proxy_read_timeout 36000s; + proxy_send_timeout 36000s; + send_timeout 36000s; + } + location /media { + root /home/user/haiwen/seafile-server-latest/seahub; + } + } +``` + +### Large file uploads + +Tip for uploading very large files (> 4GB): By default Nginx will buffer large request body in temp file. After the body is completely received, Nginx will send the body to the upstream server (seaf-server in our case). But it seems when file size is very large, the buffering mechanism dosen't work well. It may stop proxying the body in the middle. So if you want to support file upload larger for 4GB, we suggest you install Nginx version >= 1.8.0 and add the following options to Nginx config file: + +```nginx + location /seafhttp { + ... ... + proxy_request_buffering off; + } + +``` + +If you have WebDAV enabled it is recommended to add the same: + +```nginx + location /seafdav { + ... ... + proxy_request_buffering off; + } +``` + +### Reload Nginx +```bash + nginx -s reload +``` + +## Modify settings to use https + +### ccnet conf + +Since you changed from http to https, you need to modify the value of `SERVICE_URL` in [ccnet.conf](../config/ccnet-conf.md). You can also modify `SERVICE_URL` via web UI in "System Admin->Settings". (**Warning**: If you set the value both via Web UI and ccnet.conf, the setting via Web UI will take precedence.) + +```bash +SERVICE_URL = https://seafile.example.com +``` + +### seahub_settings.py + +You need to add a line in seahub_settings.py to set the value of `FILE_SERVER_ROOT`. You can also modify `FILE_SERVER_ROOT` via web UI in "System Admin->Settings". (**Warning**: If you set the value both via Web UI and seahub_settings.py, the setting via Web UI will take precedence.) + +```python +FILE_SERVER_ROOT = 'https://seafile.example.com/seafhttp' +``` + +### Change Seafile config + +Update the [configuration](../config/seafile-conf.md#seafile-fileserver-configuration +) of seafile fileserver is in the `[fileserver]` section of the file `seafile.conf` to local ip `127.0.0.1` + +``` +[fileserver] +# bind address for fileserver +# default to 0.0.0.0, if deployed without proxy: no access restriction +# set to 127.0.0.1, if used with local proxy: only access by local +host = 127.0.0.1 +``` + +## Start Seafile and Seahub + +```bash +./seafile.sh start +./seahub.sh start # or "./seahub.sh start-fastcgi" if you're using fastcgi +``` + +## Additional modern settings for nginx (optional) + +### Activate IPv6 + +Require IPv6 on server otherwise the server will not start! Also the AAAA dns record is required for IPv6 usage. + +```nginx +listen 443; +listen [::]:443; +``` + +### Activate HTTP2 + +Activate HTTP2 for more performance. Only available for SSL and nginx version>=1.9.5. Simply add `http2`. +```nginx +listen 443 http2; +listen [::]:443 http2; +``` + +## Additional security settings for nginx (optional) + +### Force https on next visit + +Add the HSTS header. If you already visited the https version the next time your browser will directly visit the https site and not the http one. Prevent man-in-the-middle-attacks: +```nginx +add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; +``` + +### Obfuscate nginx version + +Disable exact server version in header. Prevent scans for vulnerable server. +**This should be added to every server block, as it shall obfuscate the version of nginx.** +```nginx +server_tokens off; +``` + +## Test your server + +To check your configuration you can use the service from ssllabs: https://www.ssllabs.com/ssltest/index.html . diff --git a/manual/deploy/kerberos_config.md b/manual/deploy/kerberos_config.md new file mode 100644 index 00000000..8bced5dc --- /dev/null +++ b/manual/deploy/kerberos_config.md @@ -0,0 +1,68 @@ +## Kerberos + +NOTE: Since version 7.0, this documenation is deprecated. Users should use Apache as a proxy server for Kerberos authentication. Then configure Seahub by the instructions in [Remote User Authentication](remote_user.md). + +[Kerberos](https://web.mit.edu/kerberos/) is a widely used single sign on (SSO) protocol. Seafile server supports authentication via Kerberos. It allows users to log in to Seafile without entering credentials again if they have a kerberos ticket. + +In this documentation, we assume the reader is familiar with Kerberos installation and configuration. + +Seahub provides a special URL to handle Kerberos login. The URL is `https://your-server/krb5-login`. Only this URL needs to be configured under Kerberos protection. All other URLs don't go through the Kerberos module. The overall workflow for a user to login with Kerberos is as follows: + +1. In the Seafile login page, there is a separate "Kerberos" login button. When the user clicks the button, it will be redirected to `https://your-server/krb5-login`. +2. Since that URL is controlled by Kerberos, the apache module will try to get a Ticket from the Kerberos server. +3. Seahub reads the user information from the request and brings the user to its home page. +4. Further requests to Seahub will not pass through the Kerberos module. Since Seahub keeps session information internally, the user doesn't need to login again until the session expires. + +The configuration includes three steps: + +1. Get a keytab for Apache from Kerberos +2. Configure Apache +3. Configure Seahub + +## Get keytab for Apache + +Store the keytab under the name defined below and make it accessible only to the apache user (e.g. httpd or www-data and chmod 600). + +## Apache Configuration + +You should create a new location in your virtual host configuration for Kerberos. + +``` + + + ServerName seafile.example.com + DocumentRoot /var/www +... + + SSLRequireSSL + AuthType Kerberos + AuthName "Kerberos EXAMPLE.ORG" + KrbMethodNegotiate On + KrbMethodK5Passwd On + Krb5KeyTab /etc/apache2/conf.d/http.keytab + #ErrorDocument 401 'Kerberos authentication did not pass.' + Require valid-user + +... + + + +``` + +After restarting Apache, you should see in the Apache logs that user@REALM is used when accessing https://seafile.example.com/krb5-login/. + +## Configure Seahub + +Seahub extracts the username from the `REMOTE_USER` environment variable. + +Now we have to tell Seahub what to do with the authentication information passed in by Kerberos. + +Add the following option to seahub_settings.py. + +``` +ENABLE_KRB5_LOGIN = True +``` + +## Verify + +After restarting Apache and Seafile services, you can test the Kerberos login workflow. diff --git a/manual/deploy/libreoffice_online.md b/manual/deploy/libreoffice_online.md new file mode 100644 index 00000000..5e2743d9 --- /dev/null +++ b/manual/deploy/libreoffice_online.md @@ -0,0 +1,114 @@ +# Integrate Seafile with Collabora Online (LibreOffice Online) + +Since Seafile Professional edition 6.0.0, you can integrate Seafile with Collabora Online to preview office files. + +## Setup LibreOffice Online + +1. Prepare an Ubuntu 16.04 64bit server with [docker](http://www.docker.com/) installed; + +1. Assign a domain name to this server, we use *collabora-online.seafile.com* here. + +1. Obtain and install valid TLS/SSL certificates for this server, we use [Let’s Encrypt](https://letsencrypt.org/). + +1. Use Nginx to serve collabora online, config file example: + + ``` +server { + listen 443 ssl; + server_name collabora-online.seafile.com; + + ssl_certificate /etc/letsencrypt/live/collabora-online.seafile.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/collabora-online.seafile.com/privkey.pem; + + # static files + location ^~ /loleaflet { + proxy_pass https://localhost:9980; + proxy_set_header Host $http_host; + } + + # WOPI discovery URL + location ^~ /hosting/discovery { + proxy_pass https://localhost:9980; + proxy_set_header Host $http_host; + } + + # websockets, download, presentation and image upload + location ^~ /lool { + proxy_pass https://localhost:9980; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + } +} +``` + +1. then use the following command to setup/start Collabora Online: + + ``` +docker pull collabora/code +docker run -t -p 9980:9980 -e "domain=" --restart always --cap-add MKNOD collabora/code +``` + + **NOTE:** the `domain` args is the domain name of your Seafile server, if your +Seafile server's domain name is *demo.seafile.com*, the command should be: + + ``` +docker run -t -p 9980:9980 -e "domain=demo\.seafile\.com" --restart always --cap-add MKNOD collabora/code +``` + +For more information about Collabora Online and how to deploy it, please refer to https://www.collaboraoffice.com + +## Config Seafile + +**NOTE:** You must [enable https](../deploy/https_with_nginx.md) with valid TLS/SSL certificates (we use [Let’s Encrypt](https://letsencrypt.org/)) to Seafile to use Collabora Online. + +Add following config option to seahub_settings.py: + +``` python +# From 6.1.0 CE version on, Seafile support viewing/editing **doc**, **ppt**, **xls** files via LibreOffice +# Add this setting to view/edit **doc**, **ppt**, **xls** files +OFFICE_SERVER_TYPE = 'CollaboraOffice' + +# Enable LibreOffice Online +ENABLE_OFFICE_WEB_APP = True + +# Url of LibreOffice Online's discovery page +# The discovery page tells Seafile how to interact with LibreOffice Online when view file online +# You should change `https://collabora-online.seafile.com/hosting/discovery` to your actual LibreOffice Online server address +OFFICE_WEB_APP_BASE_URL = 'https://collabora-online.seafile.com/hosting/discovery' + +# Expiration of WOPI access token +# WOPI access token is a string used by Seafile to determine the file's +# identity and permissions when use LibreOffice Online view it online +# And for security reason, this token should expire after a set time period +WOPI_ACCESS_TOKEN_EXPIRATION = 30 * 60 # seconds + +# List of file formats that you want to view through LibreOffice Online +# You can change this value according to your preferences +# And of course you should make sure your LibreOffice Online supports to preview +# the files with the specified extensions +OFFICE_WEB_APP_FILE_EXTENSION = ('odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx','ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx') + +# Enable edit files through LibreOffice Online +ENABLE_OFFICE_WEB_APP_EDIT = True + +# types of files should be editable through LibreOffice Online +OFFICE_WEB_APP_EDIT_FILE_EXTENSION = ('odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx','ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx') +``` + +Then restart Seafile. + +Click an office file in Seafile web interface, you will see the online preview rendered by LibreOffice online. Here is an example: + +![LibreOffice-online](../images/libreoffice-online.png) + +## Trouble shooting + +Understanding how theintegration work will help you debug the problem. When a user visits a file page: + +1. (seahub->browser) Seahub will generate a page containing an iframe and send it to the browser +2. (browser->LibreOffice Online) With the iframe, the browser will try to load the file preview page from the LibreOffice Online +3. (LibreOffice Online->seahub) LibreOffice Online receives the request and sends a request to Seahub to get the file content +4. (LibreOffice Online->browser) LibreOffice Online sends the file preview page to the browser. + +If you have a problem, please check the Nginx log for Seahub (for step 3) and Collabora Online to see which step is wrong. diff --git a/manual/deploy/migrate_from_sqlite_to_mysql.md b/manual/deploy/migrate_from_sqlite_to_mysql.md new file mode 100644 index 00000000..93203609 --- /dev/null +++ b/manual/deploy/migrate_from_sqlite_to_mysql.md @@ -0,0 +1,105 @@ +# Migrate From SQLite to MySQL + +**NOTE**: The tutorial is only available for Seafile CE version. + +First make sure the python module for MySQL is installed. On Ubuntu, use `sudo apt-get install python-mysqldb` to install it. + +Steps to migrate Seafile from SQLite to MySQL: + +1. Stop Seafile and Seahub. + +2. Download [sqlite2mysql.sh](https://raw.githubusercontent.com/haiwen/seafile-server/master/scripts/sqlite2mysql.sh) and [sqlite2mysql.py](https://raw.githubusercontent.com/haiwen/seafile-server/master/scripts/sqlite2mysql.py) to the top directory of your Seafile installation path. For example, `/opt/seafile`. + +3. Run `sqlite2mysql.sh`: + + ``` +chmod +x sqlite2mysql.sh +./sqlite2mysql.sh +``` +This script will produce three files: `ccnet-db.sql`, `seafile-db.sql`, `seahub-db.sql`. + +4. Create 3 databases ccnet_db, seafile_db, seahub_db and seafile user. + + ``` +mysql> create database ccnet_db character set = 'utf8'; +mysql> create database seafile_db character set = 'utf8'; +mysql> create database seahub_db character set = 'utf8'; +``` + +5. Import ccnet data to MySql. + + ``` +mysql> use ccnet_db; +mysql> source ccnet-db.sql; +``` + +6. Import seafile data to MySql. + + ``` +mysql> use seafile_db; +mysql> source seafile-db.sql; +``` + +7. Import seahub data to MySql. + + ``` +mysql> use seahub_db; +mysql> source seahub-db.sql; +``` + +8. Modify configure files. + +Append following lines to [ccnet.conf](../config/ccnet-conf.md): + + ``` +[Database] +ENGINE=mysql +HOST=127.0.0.1 +USER=root +PASSWD=root +DB=ccnet_db +CONNECTION_CHARSET=utf8 +``` +Note: Use `127.0.0.1`, don't use `localhost`. + +Replace the database section in `seafile.conf` with following lines: + + ``` +[database] +type=mysql +host=127.0.0.1 +user=root +password=root +db_name=seafile_db +connection_charset=utf8 +``` + +Append following lines to `seahub_settings.py`: + + ``` +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'USER' : 'root', + 'PASSWORD' : 'root', + 'NAME' : 'seahub_db', + 'HOST' : '127.0.0.1', + # This is only needed for MySQL older than 5.5.5. + # For MySQL newer than 5.5.5 INNODB is the default already. + 'OPTIONS': { + "init_command": "SET storage_engine=INNODB", + } + } +} +``` + +9. Restart seafile and seahub + +**NOTE** + +User notifications will be cleared during migration due to the slight difference between MySQL and SQLite, if you only see the busy icon when click the notitfications button beside your avatar, please remove `user_notitfications` table manually by: + + ``` +use seahub_db; +delete from notifications_usernotification; +``` \ No newline at end of file diff --git a/manual/deploy/new_directory_layout_5_0_0.md b/manual/deploy/new_directory_layout_5_0_0.md new file mode 100644 index 00000000..f8cd4ceb --- /dev/null +++ b/manual/deploy/new_directory_layout_5_0_0.md @@ -0,0 +1,36 @@ +# Config files location change in Seafile Server 5.0.0 + +Seafile server has various components, each of them has its own config files. These files used to be in different directories, which is inconvenient to manage. + +This is the layout before Seafile Server 5.0.0: + +```sh +└── seahub_settings.py +└── ccnet/ + └── ccnet.conf +└── seafile/ + └── seafile.conf +└── conf/ + └── seafdav.conf +└── pro-data/ + └── seafevents.conf # (professional edition only) +└── seafile-server-latest/ +``` + +Since Seafile Server 5.0.0, all config files are moved to the **conf** folder: + +```sh +└── conf/ + └── ccnet.conf + └── seafile.conf + └── seafdav.conf + └── seahub_settings.py + └── seafevents.conf # (professional edition only) +└── ccnet/ +└── seafile/ +└── pro-data/ +``` + +This way, it's much easier to manage the configurations since all files can be found in the same place. + +When you upgrading to seafile 5.0.0, the upgrade script would move these files to the central **conf/** folder for you. diff --git a/manual/deploy/oauth.md b/manual/deploy/oauth.md new file mode 100644 index 00000000..67fd102d --- /dev/null +++ b/manual/deploy/oauth.md @@ -0,0 +1,133 @@ +## OAuth + +Since CE version 6.2.3, Seafile supports user login via [OAuth](https://oauth.net/). + +Before using OAuth, Seafile administrator should first register an OAuth2 client application on your authorization server, then add some configurations to seahub_settings.py. + +And don't forget install thirdparty requirement. + +``` +sudo pip install requests_oauthlib +``` + +#### Register an OAuth2 client application + +Here we use Github as an example. First you should register an OAuth2 client application on Github, [official document from Github](https://developer.github.com/apps/building-integrations/setting-up-and-registering-oauth-apps/registering-oauth-apps/) is very detailed. + +#### Configuration + +Add the folllowing configurations to seahub_settings.py: + +``` +ENABLE_OAUTH = True + +# Usually OAuth works through SSL layer. If your server is not parametrized to allow HTTPS, some method will raise an "oauthlib.oauth2.rfc6749.errors.InsecureTransportError". Set this to `True` to avoid this error. +OAUTH_ENABLE_INSECURE_TRANSPORT = True + +# Client id/secret generated by authorization server when you register your client application. +OAUTH_CLIENT_ID = "your-client-id" +OAUTH_CLIENT_SECRET = "your-client-secret" + +# Callback url when user authentication succeeded. Note, the redirect url you input when you register your client application MUST be exactly the same as this value. +OAUTH_REDIRECT_URL = 'http{s}://your-domain.com/oauth/callback/' + +# The following should NOT be changed if you are using Github as OAuth provider. +OAUTH_PROVIDER_DOMAIN = 'github.com' +OAUTH_AUTHORIZATION_URL = 'https://github.com/login/oauth/authorize' +OAUTH_TOKEN_URL = 'https://github.com/login/oauth/access_token' +OAUTH_USER_INFO_URL = 'https://api.github.com/user' +OAUTH_SCOPE = ["user",] +OAUTH_ATTRIBUTE_MAP = { + "id": (True, "email"), + "name": (False, "name"), + "email": (False, "contact_email"), +} +``` + +###### Sample settings for Google: + +``` +ENABLE_OAUTH = True +OAUTH_ENABLE_INSECURE_TRANSPORT = True + +OAUTH_CLIENT_ID = "your-client-id" +OAUTH_CLIENT_SECRET = "your-client-secret" +OAUTH_REDIRECT_URL = 'http{s}://your-domain.com/oauth/callback/' + +# The following shoud NOT be changed if you are using Google as OAuth provider. +OAUTH_PROVIDER_DOMAIN = 'google.com' +OAUTH_AUTHORIZATION_URL = 'https://accounts.google.com/o/oauth2/v2/auth' +OAUTH_TOKEN_URL = 'https://www.googleapis.com/oauth2/v4/token' +OAUTH_USER_INFO_URL = 'https://www.googleapis.com/oauth2/v1/userinfo' +OAUTH_SCOPE = [ + "https://www.googleapis.com/auth/userinfo.email", +] +OAUTH_ATTRIBUTE_MAP = { + "id": (True, "email"), + "name": (False, "name"), + "email": (False, "contact_email"), +} +``` + +For some system, like Github, `email` is not the unique identifier for an user, but `id` is in most cases, so we use `id` as settings example in our manual. As Seafile uses email to identify an unique user account for now, so we combine `id` and OAUTH_PROVIDER_DOMAIN, which is google.com in your case, to an email format string and then create this account if not exist. If you want to use `email` info from Google, just change the setting as followings: +``` +ENABLE_OAUTH = True +OAUTH_ENABLE_INSECURE_TRANSPORT = True + +OAUTH_CLIENT_ID = "your-client-id" +OAUTH_CLIENT_SECRET = "your-client-secret" +OAUTH_REDIRECT_URL = 'http{s}://your-domain.com/oauth/callback/' + +# The following shoud NOT be changed if you are using Google as OAuth provider. +OAUTH_PROVIDER_DOMAIN = 'google.com' +OAUTH_AUTHORIZATION_URL = 'https://accounts.google.com/o/oauth2/v2/auth' +OAUTH_TOKEN_URL = 'https://www.googleapis.com/oauth2/v4/token' +OAUTH_USER_INFO_URL = 'https://www.googleapis.com/oauth2/v1/userinfo' +OAUTH_SCOPE = [ + "https://www.googleapis.com/auth/userinfo.email", +] +OAUTH_ATTRIBUTE_MAP = { + "email": (True, "email"), + "name": (False, "name"), +} +``` + +To enable OAuth via GitLab. Create an application in GitLab (under Admin area->Applications). + +Fill in required fields: + +- Name: a name you specify +- Redirect URI: The callback url see below `OAUTH_REDIRECT_URL` +- Trusted: Skip confirmation dialog page. Select this to *not* ask the user if he wants to authorize seafile to receive access to his/her account data. +- Scopes: Select `openid` and `read_user` in the scopes list. + +Press submit and copy the client id and secret you receive on the confirmation page and use them in this template for your seahub_settings.py: + +``` +ENABLE_OAUTH = True +OAUTH_CLIENT_ID = "your-client-id" +OAUTH_CLIENT_SECRET = "your-client-secret" +OAUTH_REDIRECT_URL = "https://your-seafile/oauth/callback/" + +OAUTH_PROVIDER_DOMAIN = 'your-domain' +OAUTH_AUTHORIZATION_URL = 'https://gitlab.your-domain/oauth/authorize' +OAUTH_TOKEN_URL = 'https://gitlab.your-domain/oauth/token' +OAUTH_USER_INFO_URL = 'https://gitlab.your-domain/api/v4/user' +OAUTH_SCOPE = ["openid", "read_user"] +OAUTH_ATTRIBUTE_MAP = { + "email": (True, "email"), + "name": (False, "name") +} +``` + +For users of Azure Cloud, as there is no `id` field returned from Azure Cloud's user info endpoint, so we use a special configuration for `OAUTH_ATTRIBUTE_MAP` setting (others are the same as Github/Google): + +``` +OAUTH_ATTRIBUTE_MAP = { + "email": (True, "email"), + "id": (False, "not used"), + "name": (False, "name") +} +``` + +Please see [this tutorial](https://forum.seafile.com/t/oauth-authentification-against-microsoft-office365-azure-cloud/7999) for the complete deployment process of OAuth against Azure Cloud. diff --git a/manual/deploy/only_office.md b/manual/deploy/only_office.md new file mode 100644 index 00000000..ab6fe25c --- /dev/null +++ b/manual/deploy/only_office.md @@ -0,0 +1,500 @@ +# OnlyOffice + +From version 6.1.0+ on (including CE), Seafile supports [OnlyOffice](https://www.onlyoffice.com/) to view/edit office files online. In order to use OnlyOffice, you must first deploy an OnlyOffice server. + +You can deploy OnlyOffice and Seafile in the same machine with same domain or using two separate machines with two different domains. + +In a cluster setup we recommend a dedicated DocumentServer host or a DocumentServer Cluster on a different subdomain. + +## Deployment of OnlyOffice + +For a quick and easy installation, we suggest you use [ONLYOFFICE/Docker-DocumentServer](https://github.com/ONLYOFFICE/Docker-DocumentServer). + +### Test that OnlyOffice is running + +After the installation process is finished, visit this page to make sure you have deployed OnlyOffice successfully: `http{s}://{your OnlyOffice server's domain or IP}/welcome`, you will get **Document Server is running** info at this page. + +### Configure OnlyOffice to automatically save + +When open file with OnlyOffice, OnlyOffice will only send a file save request to Seafile after the user closes the page. If the user does not close the page for a long time, the user's changes to the file will not be saved on the Seafile. + +You can now set up automatic save by changing the configuration of OnlyOffice. + +1. Go to the container of onlyoffice/documentserver. +2. Open the OnlyOffice configuration file: `/etc/onlyoffice/documentserver/local.json` +3. Add this configuration: + + ``` + { + "services": { + "CoAuthoring": { + "autoAssembly": { + "enable": true, + "interval": "5m" + } + } + } + } + + ``` + +4. Restart OnlyOffice: `supervisorctl restart all` + +You can get more info in OnlyOffice's official document: https\://api.onlyoffice.com/editors/save + +### Configure OnlyOffice to use JWT Secret + +JWT secret can be used to secure your OnlyOffice server so other people will not be able to use it.(Since 7.1.2) + +To enable this feature, you should: + +1. Install a python moduel. + + ``` + pip install pyjwt + + ``` + +2. Config seahub_settings.py: + + ``` + ONLYOFFICE_JWT_SECRET = 'your secret string' + + ``` + +3. Configure OnlyOffice Document server, add your secret string to `/etc/onlyoffice/documentserver/local.json` + + ``` + ... + { + "services": { + "CoAuthoring": { + ... + "secret": { + "inbox": { + "string": "your secret string" + }, + "outbox": { + "string": "your secret string" + }, + }, + "token": { + "enable": { + "browser": true, + "request": { + "inbox": true, + "outbox": true + } + } + } + ... + } + } + } + ... + + ``` + + For more information you can check the official documentation: + +4. Restart OnlyOffice: `supervisorctl restart all` + +**NOTE**:To avoid the problem of having to change the configuration file every time the _documentserver_ container is restarted, you can create a locally persistent configuration file `local-production-linux.json` and mount it into _documentserver_ container : + +``` +-v /local/path/to/local-production-linux.json:/etc/onlyoffice/documentserver/local-production-linux.json + +``` + +## Configure Seafile Server + +> For OnlyOffice is deployed in a separate machine with a different domain. + +Add the following config option to `seahub_settings.py`. + +```python +# Enable Only Office +ENABLE_ONLYOFFICE = True +VERIFY_ONLYOFFICE_CERTIFICATE = False +ONLYOFFICE_APIJS_URL = 'http{s}://{your OnlyOffice server's domain or IP}/web-apps/apps/api/documents/api.js' +ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods') +ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx') + +``` + +Then restart the Seafile Server + +``` +./seafile.sh restart +./seahub.sh restart + +# or +service seafile-server restart + +``` + +When you click on a document you should see the new preview page. + +## Config Seafile and OnlyOffice in the same machine + +When you want to deploy OnlyOffice and Seafile on the same server, Seafile should be deployed at the root URL while OnlyOffice should be deployed using a subfolder URL. + +URL example for OnlyOffice: + +**Do NOT CHANGE the SUBFOLDER if not absolutely required for some reason!** + +**The subfolder page is only important for communication between Seafile and the DocumentServer, there is nothing except the welcome page (e.g. no overview or settings). Users will need access to it though for the OnlyOffice document server editor to work properly.** + +**`/onlyoffice/`****\*\***\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* cannot be used as subfolder as this path is used for communication between Seafile and Document Server !\*\* + +### Configure Webserver + +#### Configure Nginx + +**Variable mapping** + +Add the following configuration to your seafile nginx conf file (e.g. `/etc/ngnix/conf.d/seafile.conf`) out of the `server` directive. These variables are to be defined for the DocumentServer to work in a subfolder. + +``` +# Required for only office document server +map $http_x_forwarded_proto $the_scheme { + default $http_x_forwarded_proto; + "" $scheme; + } + +map $http_x_forwarded_host $the_host { + default $http_x_forwarded_host; + "" $host; + } + +map $http_upgrade $proxy_connection { + default upgrade; + "" close; + } + +``` + +**Proxy server settings subfolder** + +Add the following configuration to your seafile nginx .conf file (e.g. `/etc/ngnix/conf.d/seafile.conf`) within the `server` directive. + +``` +... +location /onlyofficeds/ { + + # THIS ONE IS IMPORTANT ! - Trailing slash ! + proxy_pass http://{your Seafile server's domain or IP}:88/; + + proxy_http_version 1.1; + client_max_body_size 100M; # Limit Document size to 100MB + proxy_read_timeout 3600s; + proxy_connect_timeout 3600s; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $proxy_connection; + + # THIS ONE IS IMPORTANT ! - Subfolder and NO trailing slash ! + proxy_set_header X-Forwarded-Host $the_host/onlyofficeds; + + proxy_set_header X-Forwarded-Proto $the_scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } +... + +``` + +#### Configure Apache + +_BETA - Requires further testing!_ + +Add the following configuration to your seafile apache config file (e.g. `sites-enabled/seafile.conf`) **outside** the `` directive. + +``` +... + +LoadModule authn_core_module modules/mod_authn_core.so +LoadModule authz_core_module modules/mod_authz_core.so +LoadModule unixd_module modules/mod_unixd.so +LoadModule proxy_module modules/mod_proxy.so +LoadModule proxy_http_module modules/mod_proxy_http.so +LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so +LoadModule headers_module modules/mod_headers.so +LoadModule setenvif_module modules/mod_setenvif.so + + + User daemon + Group daemon + + +... + +``` + +Add the following configuration to your seafile apache config file (e.g. `sites-enabled/seafile.conf`) **inside** the `` directive at the end. + +``` +... + +Define VPATH /onlyofficeds +Define DS_ADDRESS {your Seafile server's domain or IP}:88 + +... + + + Require all granted + SetEnvIf Host "^(.*)$" THE_HOST=$1 + RequestHeader setifempty X-Forwarded-Proto http + RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e + RequestHeader edit X-Forwarded-Host (.*) $1${VPATH} + ProxyAddHeaders Off + ProxyPass "http://${DS_ADDRESS}/" + ProxyPassReverse "http://${DS_ADDRESS}/" + + +... + +``` + +### Test that DocumentServer is running via SUBFOLDER + +After the installation process is finished, visit this page to make sure you have deployed OnlyOffice successfully: `http{s}://{your Seafile Server's domain or IP}/{your subdolder}/welcome`, you will get **Document Server is running** info at this page. + +### Configure Seafile Server for SUBFOLDER + +Add the following config option to `seahub_settings.py`: + +```python +# Enable Only Office +ENABLE_ONLYOFFICE = True +VERIFY_ONLYOFFICE_CERTIFICATE = True +ONLYOFFICE_APIJS_URL = 'http{s}://{your Seafile server's domain or IP}/{your subdolder}/web-apps/apps/api/documents/api.js' +ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods') +ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx') + +``` + +Then restart the Seafile Server + +``` +./seafile.sh restart +./seahub.sh restart + +# or +service seafile-server restart + +``` + +When you click on a document you should see the new preview page. + +### Complete Nginx config EXAMPLE + +Complete nginx config file (e.g. `/etc/nginx/conf.d/seafile.conf`) based on Seafile Server V6.1 including OnlyOffice DocumentServer via subfolder. + +``` +# Required for OnlyOffice DocumentServer +map $http_x_forwarded_proto $the_scheme { + default $http_x_forwarded_proto; + "" $scheme; +} + +map $http_x_forwarded_host $the_host { + default $http_x_forwarded_host; + "" $host; +} + +map $http_upgrade $proxy_connection { + default upgrade; + "" close; +} + +server { + listen 80; + server_name seafile.domain.com; + rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https + server_tokens off; +} + +server { + listen 443 http2; + ssl on; + ssl_certificate /etc/ssl/cacert.pem; # path to your cacert.pem + ssl_certificate_key /etc/ssl/privkey.pem; # path to your privkey.pem + server_name seafile.domain.com; + proxy_set_header X-Forwarded-For $remote_addr; + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; + server_tokens off; + + # + # seahub + # + location / { + fastcgi_pass 127.0.0.1:8000; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_script_name; + + fastcgi_param SERVER_PROTOCOL $server_protocol; + fastcgi_param QUERY_STRING $query_string; + fastcgi_param REQUEST_METHOD $request_method; + fastcgi_param CONTENT_TYPE $content_type; + fastcgi_param CONTENT_LENGTH $content_length; + fastcgi_param SERVER_ADDR $server_addr; + fastcgi_param SERVER_PORT $server_port; + fastcgi_param SERVER_NAME $server_name; + fastcgi_param REMOTE_ADDR $remote_addr; + fastcgi_param HTTPS on; + fastcgi_param HTTP_SCHEME https; + + access_log /var/log/nginx/seahub.access.log; + error_log /var/log/nginx/seahub.error.log; + fastcgi_read_timeout 36000; + client_max_body_size 0; + } + + # + # seafile + # + location /seafhttp { + rewrite ^/seafhttp(.*)$ $1 break; + proxy_pass http://127.0.0.1:8082; + client_max_body_size 0; + proxy_connect_timeout 36000s; + proxy_read_timeout 36000s; + proxy_send_timeout 36000s; + send_timeout 36000s; + } + + location /media { + root /home/user/haiwen/seafile-server-latest/seahub; + } + + # + # seafdav (webdav) + # + location /seafdav { + fastcgi_pass 127.0.0.1:8080; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_script_name; + fastcgi_param SERVER_PROTOCOL $server_protocol; + fastcgi_param QUERY_STRING $query_string; + fastcgi_param REQUEST_METHOD $request_method; + fastcgi_param CONTENT_TYPE $content_type; + fastcgi_param CONTENT_LENGTH $content_length; + fastcgi_param SERVER_ADDR $server_addr; + fastcgi_param SERVER_PORT $server_port; + fastcgi_param SERVER_NAME $server_name; + fastcgi_param HTTPS on; + client_max_body_size 0; + access_log /var/log/nginx/seafdav.access.log; + error_log /var/log/nginx/seafdav.error.log; + } + + # + # onlyofficeds + # + location /onlyofficeds/ { + # IMPORTANT ! - Trailing slash ! + proxy_pass http://127.0.0.1:88/; + + proxy_http_version 1.1; + client_max_body_size 100M; # Limit Document size to 100MB + proxy_read_timeout 3600s; + proxy_connect_timeout 3600s; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $proxy_connection; + + # IMPORTANT ! - Subfolder and NO trailing slash ! + proxy_set_header X-Forwarded-Host $the_host/onlyofficeds; + + proxy_set_header X-Forwarded-Proto $the_scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } +} + +``` + +### Complete Apache config EXAMPLE + +_BETA - Requires further testing!_ + +``` +LoadModule authn_core_module modules/mod_authn_core.so +LoadModule authz_core_module modules/mod_authz_core.so +LoadModule unixd_module modules/mod_unixd.so +LoadModule proxy_module modules/mod_proxy.so +LoadModule proxy_http_module modules/mod_proxy_http.so +LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so +LoadModule headers_module modules/mod_headers.so +LoadModule setenvif_module modules/mod_setenvif.so +LoadModule ssl_module modules/mod_ssl.so + + + User daemon + Group daemon + + + + ServerName seafile.domain.com + ServerAlias domain.com + Redirect permanent / https://seafile.domain.com + + + + ServerName seafile.domain.com + DocumentRoot /var/www + + SSLEngine On + SSLCertificateFile /etc/ssl/cacert.pem + SSLCertificateKeyFile /etc/ssl/privkey.pem + + ## Strong SSL Security + ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html + + SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4 + SSLProtocol All -SSLv2 -SSLv3 + SSLCompression off + SSLHonorCipherOrder on + + Alias /media /home/user/haiwen/seafile-server-latest/seahub/media + + + Require all granted + + + RewriteEngine On + + # + # seafile fileserver + # + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] + + # + # seahub + # + SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPreserveHost On + ProxyPass / fcgi://127.0.0.1:8000/ + + # + # onlyofficeds + # + Define VPATH /onlyofficeds + Define DS_ADDRESS {your Seafile server's domain or IP}:88 + + + Require all granted + SetEnvIf Host "^(.*)$" THE_HOST=$1 + RequestHeader setifempty X-Forwarded-Proto http + RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e + RequestHeader edit X-Forwarded-Host (.*) $1${VPATH} + ProxyAddHeaders Off + ProxyPass "http://${DS_ADDRESS}/" + ProxyPassReverse "http://${DS_ADDRESS}/" + + + + +``` + + diff --git a/manual/deploy/remote_user.md b/manual/deploy/remote_user.md new file mode 100644 index 00000000..0a909f58 --- /dev/null +++ b/manual/deploy/remote_user.md @@ -0,0 +1,63 @@ +# SSO using Remote User + +Starting from 7.0.0, Seafile can integrate with various Single Sign On systems via a proxy server. Examples include Apache as Shibboleth proxy, or LemonLdap as a proxy to LDAP servers, or Apache as Kerberos proxy. Seafile can retrieve user information from special request headers (HTTP_REMOTE_USER, HTTP_X_AUTH_USER, etc.) set by the proxy servers. + +After the proxy server (Apache/Nginx) is successfully authenticated, the user information is set to the request header, and Seafile creates and logs in the user based on this information. + +Note: Make sure that the proxy server has a corresponding security mechanism to protect against forgery request header attacks. + +Please add the following settings to `conf/seahub_settings.py` to enable this feature. + +``` +ENABLE_REMOTE_USER_AUTHENTICATION = True + +# Optional, HTTP header, which is configured in your web server conf file, +# used for Seafile to get user's unique id, default value is 'HTTP_REMOTE_USER'. +REMOTE_USER_HEADER = 'HTTP_REMOTE_USER' + +# Optional, when the value of HTTP_REMOTE_USER is not a valid email address, +# Seafile will build a email-like unique id from the value of 'REMOTE_USER_HEADER' +# and this domain, e.g. user1@example.com. +REMOTE_USER_DOMAIN = 'example.com' + +# Optional, whether to create new user in Seafile system, default value is True. +# If this setting is disabled, users doesn't preexist in the Seafile DB cannot login. +# The admin has to first import the users from external systems like LDAP. +REMOTE_USER_CREATE_UNKNOWN_USER = True + +# Optional, whether to activate new user in Seafile system, default value is True. +# If this setting is disabled, user will be unable to login by default. +# the administrator needs to manually activate this user. +REMOTE_USER_ACTIVATE_USER_AFTER_CREATION = True + +# Optional, map user attribute in HTTP header and Seafile's user attribute. +REMOTE_USER_ATTRIBUTE_MAP = { + 'HTTP_DISPLAYNAME': 'name', + 'HTTP_MAIL': 'contact_email', + + # for user info + "HTTP_GIVENNAME": 'givenname', + "HTTP_SN": 'surname', + "HTTP_ORGANIZATION": 'institution', + + # for user role + 'HTTP_Shibboleth-affiliation': 'affiliation', +} + +# Map affiliation to user role. Though the config name is SHIBBOLETH_AFFILIATION_ROLE_MAP, +# it is not restricted to Shibboleth +SHIBBOLETH_AFFILIATION_ROLE_MAP = { + 'employee@uni-mainz.de': 'staff', + 'member@uni-mainz.de': 'staff', + 'student@uni-mainz.de': 'student', + 'employee@hu-berlin.de': 'guest', + 'patterns': ( + ('*@hu-berlin.de', 'guest1'), + ('*@*.de', 'guest2'), + ('*', 'guest'), + ), +} + +``` + +Then restart Seafile. diff --git a/manual/deploy/server.md b/manual/deploy/server.md new file mode 100644 index 00000000..b2817fbc --- /dev/null +++ b/manual/deploy/server.md @@ -0,0 +1,259 @@ +# Seafile +## Server + +This manual explains how to setup and run Seafile server from a pre-built package. + +## Platform Support + +- Generic Linux + - including Raspberry Pi +- Windows + +## Download + +Visit [our download page](http://www.seafile.com/en/download), download the latest server package. + +``` +#check if your system is x86 (32bit) or x86_64 (64 bit) +uname -m +``` + + +## Deploying and Directory Layout + +NOTE: If you place the Seafile data directory in external storage, such as NFS, CIFS mount, you should not use SQLite as the database, but use MySQL instead. Please follow [https://github.com/haiwen/seafile/wiki/Download-and-Setup-Seafile-Server-with-MySQL this manual] to setup Seafile server. + +Supposed your organization's name is "haiwen", and you've downloaded seafile-server_1.4.0_* into your home directory. +We suggest you to layout your deployment as follows : + +``` +mkdir haiwen +mv seafile-server_* haiwen +cd haiwen +# after moving seafile-server_* to this directory +tar -xzf seafile-server_* +mkdir installed +mv seafile-server_* installed +``` + +Now you should have the following directory layout +``` +# tree . -L 2 +. +├── installed +│   └── seafile-server_1.4.0_x86-64.tar.gz +└── seafile-server-1.4.0 + ├── reset-admin.sh + ├── runtime + ├── seafile + ├── seafile.sh + ├── seahub + ├── seahub.sh + ├── setup-seafile.sh + └── upgrade +``` + +'''The benefit of this layout is that''' + +* We can place all the config files for Seafile server inside "haiwen" directory, making it easier to manage. +* When you upgrade to a new version of Seafile, you can simply untar the latest package into "haiwen" directory. ''In this way you can reuse the existing config files in "haiwen" directory and don't need to configure again''. + +## Setting Up Seafile Server + +#### Prerequisites + +The Seafile server package requires the following packages have been installed in your system + +* python 2.6.5+ or 2.7 +* python-setuptools +* python-simplejson +* sqlite3 + +``` +#on Debian +apt-get update +apt-get install python2.7 python-setuptools python-simplejson sqlite3 +pip install Pillow==4.3.0 +``` + +#### Setup + +``` +cd seafile-server-* +./setup-seafile.sh #run the setup script & answer prompted questions +``` + +If some of the prerequisites are not installed, the seafile initialization script will ask you to install them. + +[[images/server-setup.png|You'll see these outputs when you run the setup script]] + +The script will guide you through the settings of various configuration options. + + +{| border="1" cellspacing="0" cellpadding="5" align="center" +|+ Seafile configuration options +! Option +! Description +! Note +|- +| server name +| Name of this seafile server +| 3-15 characters, only English letters, digits and underscore ('_') are allowed +|- +| server ip or domain +| The IP address or domain name used by this server +| Seafile client program will access the server with this address +|- +| ccnet server port +| The TCP port used by ccnet, the underlying networking service of Seafile +| Default is 10001. If it's been used by other service, you can set it to another port. +|- +| seafile data dir +| Seafile stores your data in this directory. By default it'll be placed in the current directory. +| The size of this directory will increase as you put more and more data into Seafile. Please select a disk partition with enough free space. +|- +| seafile server port +| The TCP port used by Seafile to transfer data +| Default is 12001. If it's been used by other service, you can set it to another port. +|- +| fileserver port +| The TCP port used by Seafile fileserver +| Default is 8082. If it's been used by other service, you can set it to another port. +|- +|} + + +If the setup is successful, you'll see the following output + +[[images/server-setup-successfully.png]] + +Now you should have the following directory layout : +``` +#tree haiwen -L 2 +haiwen +├── ccnet # configuration files +│   ├── ccnet.conf +│   ├── mykey.peer +│   ├── PeerMgr +│   └── seafile.ini +├── installed +│   └── seafile-server_1.4.0_x86-64.tar.gz +├── seafile-data +│   └── seafile.conf +├── seafile-server-1.4.0 # active version +│   ├── reset-admin.sh +│   ├── runtime +│   ├── seafile +│   ├── seafile.sh +│   ├── seahub +│   ├── seahub.sh +│   ├── setup-seafile.sh +│   └── upgrade +├── seafile-server-latest # symbolic link to seafile-server-1.4.0 +├── seahub-data +│   └── avatars +├── seahub.db +├── seahub_settings.py # optional config file +└── seahub_settings.pyc +``` + +The folder `seafile-server-latest` is a symbolic link to the current seafile server folder. When later you upgrade to a new version, the upgrade scripts would update this link to keep it always point to the latest seafile server folder. + + +## Running Seafile Server + +#### Before Running + +Since Seafile uses persistent connection between client and server, if you have '''a large number of clients ''', you should increase Linux file descriptors by ulimit before start seafile, like: + +``` +ulimit -n 30000 +``` + +#### Starting Seafile Server and Seahub Website + +Under seafile-server-1.4.0 directory, run the following commands + +* Start seafile: + +``` +./seafile.sh start # Start seafile service +``` + +* Start seahub + +``` +./seahub.sh start # Start seahub website, port defaults to 8000 +``` + +'''Note:''' The first time you start seahub, the script would prompt you to create an admin account for your seafile server. + +After starting the services, you may open a web browser and types +``` +http://192.168.1.111:8000/ +``` +you will be redirected to the Login page. Enter the username and password you were provided during the Seafile setup. You will then be returned to the `Myhome` page where you can create libraries. + +'''Congratulations!''' Now you have successfully setup your private Seafile server. + +#### Run Seahub on another port + +If you want to run seahub in a port other than the default 8000, say 8001, you must: + +* stop the seafile server +``` +./seahub.sh stop +./seafile.sh stop +``` + +* modify the value of `SERVICE_URL` in the file [ccnet.conf](../config/ccnet-conf.md), like this: (assume your ip or domain is `192.168.1.100`) +``` +SERVICE_URL = http://192.168.1.100:8001 +``` + +* restart seafile server +``` +./seafile.sh start +./seahub.sh start 8001 +``` + +see [[Seafile server configuration options]] for more details about `ccnet.conf`. + +## Stopping and Restarting Seafile and Seahub + +#### Stopping + +``` +./seahub.sh stop # stop seahub website +./seafile.sh stop # stop seafile processes +``` + +#### Restarting + +``` +./seafile.sh restart +./seahub.sh restart +``` + +#### When the Scripts Fail + +Most of the time, seafile.sh and seahub.sh work fine. But if they fail, you may + +* Use '''pgrep''' command to check if seafile/seahub processes are still running + +``` +pgrep -f seafile-controller # check seafile processes +pgrep -f "manage.py run_gunicorn" # check seahub process +``` + +* Use '''pkill''' to kill the processes + +``` +pkill -f seafile-controller +pkill -f "manage.py run_gunicorn" +``` + +## That's it! +That's it! Now you may want read more about seafile. + +* [[Seafile-server-management|How to manage the server]]. diff --git a/manual/deploy/server_configuration.md b/manual/deploy/server_configuration.md new file mode 100644 index 00000000..64211953 --- /dev/null +++ b/manual/deploy/server_configuration.md @@ -0,0 +1,192 @@ +# Server Configuration and Customization + +**Note**: Since Seafile Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +This manual explains how to change various config options for Seafile server. + +There are three config files in the community edition: + +- [ccnet.conf](../config/ccnet-conf.md): contains the network settings +- [seafile.conf](../config/seafile-conf.md): contains settings for seafile daemon and FileServer. +- [seahub_settings.py](../config/seahub_settings_py.md): contains settings for Seahub + +There is one additional config file in the pro edition: + +- `seafevents.conf`: contains settings for ccnet/ccnet.search and documents preview + + + + +## Storage Quota Setting (seafile.conf) + +You may set a default quota (e.g. 2GB) for all users. To do this, just add the following lines to `seafile.conf` file + +``` +[quota] +# default user quota in GB, integer only +default = 2 +``` + +This setting applies to all users. If you want to set quota for a specific user, you may log in to seahub website as administrator, then set it in "System Admin" page. + +## Default history length limit (seafile.conf) + +If you don't want to keep all file revision history, you may set a default history length limit for all libraries. + +``` +[history] +keep_days = days of history to keep +``` + +## Seafile fileserver configuration (seafile.conf) + +The configuration of seafile fileserver is in the `[fileserver]` section of the file `seafile.conf` + +``` +[fileserver] +# binding host for fileserver +host = 0.0.0.0 +# tcp port for fileserver +port = 8082 +``` + +Change upload/download settings. + +``` +[fileserver] +# Set maximum upload file size to 200M. +max_upload_size=200 + +# Set maximum download directory size to 200M. +max_download_dir_size=200 +``` + +**Note**: You need to restart seafile and seahub so that your changes take effect. +``` +./seahub.sh restart +./seafile.sh restart +``` + +## Seahub Configurations (seahub_settings.py) + +#### Sending Email Notifications on Seahub + +A few features work better if it can send email notifications, such as notifying users about new messages. +If you want to setup email notifications, please add the following lines to seahub_settings.py (and set your email server). +See [Django email documentation](https://docs.djangoproject.com/en/1.10/topics/email/) for the full description of these variables. + +``` +EMAIL_USE_TLS = False +EMAIL_HOST = 'smtp.example.com' # smpt server +EMAIL_HOST_USER = 'username@example.com' # smtp authentication username +EMAIL_HOST_PASSWORD = 'password' # smtp authentication password +EMAIL_PORT = '25' +DEFAULT_FROM_EMAIL = EMAIL_HOST_USER # value of email's From: field +SERVER_EMAIL = EMAIL_HOST_USER # error-reporting emails' From: field +``` + +If you are using Gmail as email server, use following lines: + +``` +EMAIL_USE_TLS = True +EMAIL_HOST = 'smtp.gmail.com' +EMAIL_HOST_USER = 'username@gmail.com' +EMAIL_HOST_PASSWORD = 'password' +EMAIL_PORT = 587 +DEFAULT_FROM_EMAIL = EMAIL_HOST_USER +SERVER_EMAIL = EMAIL_HOST_USER +``` + +**Note**: If your Email service still can not work, you may checkout the log file `logs/seahub.log` to see what may cause the problem. For complete email notification list, please refer to [Email notification list](../config/customize_email_notifications.md). + +**Note2**: If you want to use the Email service without authentication leaf `EMAIL_HOST_USER` and `EMAIL_HOST_PASSWORD` **blank** (`''`). (But notice that the emails then will be sent without a `From:` address.) + +#### Cache + +Seahub caches items(avatars, profiles, etc) on file system by default(/tmp/seahub_cache/). You can replace with Memcached (you have to install python-memcache first). + +``` +CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', + 'LOCATION': '127.0.0.1:11211', + } +} +``` + +#### Seahub Settings + +You may change seahub website's settings by adding variables in `seahub_settings.py`. + +``` + +# Choices can be found here: +# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name +# although not all choices may be available on all operating systems. +# If running in a Windows environment this must be set to the same as your +# system time zone. +TIME_ZONE = 'UTC' + +# Set this to seahub website's URL. This URL is contained in email notifications. +SITE_BASE = 'http://www.example.com/' + +# Set this to your website's name. This is contained in email notifications. +SITE_NAME = 'example.com' + +# Set seahub website's title +SITE_TITLE = 'Seafile' + +# If you don't want to run seahub website on your site's root path, set this option to your preferred path. +# e.g. setting it to '/seahub/' would run seahub on http://example.com/seahub/. +SITE_ROOT = '/' + +# Whether to use pdf.js to view pdf files online. Default is `True`, you can turn it off. +# NOTE: since version 1.4. +USE_PDFJS = True + +# Enalbe or disalbe registration on web. Default is `False`. +# NOTE: since version 1.4. +ENABLE_SIGNUP = False + +# Activate or deactivate user when registration complete. Default is `True`. +# If set to `False`, new users need to be activated by admin in admin panel. +# NOTE: since version 1.8 +ACTIVATE_AFTER_REGISTRATION = False + +# Whether to send email when a system admin adding a new member. Default is `True`. +# NOTE: since version 1.4. +SEND_EMAIL_ON_ADDING_SYSTEM_MEMBER = True + + # Whether to send email when a system admin resetting a user's password. Default is `True`. +# NOTE: since version 1.4. +SEND_EMAIL_ON_RESETTING_USER_PASSWD = True + +# Hide `Organization` tab. +# If you want your private seafile behave exactly like https://cloud.seafile.com/, you can set this flag. +CLOUD_MODE = True + +# Online preview maximum file size, defaults to 30M. +FILE_PREVIEW_MAX_SIZE = 30 * 1024 * 1024 + +# Age of cookie, in seconds (default: 2 weeks). +SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2 + +# Whether to save the session data on every request. +SESSION_SAVE_EVERY_REQUEST = False + +# Whether a user's session cookie expires when the Web browser is closed. +SESSION_EXPIRE_AT_BROWSER_CLOSE = False + +# Using server side crypto by default, otherwise, let user choose crypto method. +FORCE_SERVER_CRYPTO = True + +``` + +**Note**: + +* You need to restart seahub so that your changes take effect. +* If your changes don't take effect, You may need to delete 'seahub_setting.pyc'. (A cache file) + +``` +./seahub.sh restart +``` diff --git a/manual/deploy/shibboleth_config.md b/manual/deploy/shibboleth_config.md new file mode 100644 index 00000000..50f66ab4 --- /dev/null +++ b/manual/deploy/shibboleth_config.md @@ -0,0 +1,201 @@ + + +> This document is for Seafile Server version lower than 6.3, if the server version is 6.3 or above, please refer to [this document](https://manual.seafile.com/deploy/shibboleth_config_v6.3.html). + +## Overview + +[Shibboleth](https://shibboleth.net/) is a widely used single sign on (SSO) protocol. Seafile server (Community Edition >= 4.1.0, Pro Edition >= 4.0.6) supports authentication via Shibboleth. It allows users from another organization to log in to Seafile without registering an account on the service provider. + +In this documentation, we assume the reader is familiar with Shibboleth installation and configuration. For introduction to Shibboleth concepts, please refer to . + +Shibboleth Service Provider (SP) should be installed on the same server as the Seafile server. The official SP from is implemented as an Apache module. The module handles all Shibboleth authentication details. Seafile server receives authentication information (username) from fastcgi. The username then can be used as login name for the user. + +Seahub provides a special URL to handle Shibboleth login. The URL is `https://your-server/shib-login`. Only this URL needs to be configured under Shibboleth protection. All other URLs don't go through the Shibboleth module. The overall workflow for a user to login with Shibboleth is as follows: + +1. In the Seafile login page, there is a separate "Shibboleth" login button. When the user clicks the button, she/he will be redirected to `https://your-server/shib-login`. +2. Since that URL is controlled by Shibboleth, the user will be redirected to IdP for login. After the user logs in, she/he will be redirected back to `https://your-server/shib-login`. +3. This time the Shibboleth module passes the request to Seahub. Seahub reads the user information from the request and brings the user to her/his home page. +4. All later access to Seahub will not pass through the Shibboleth module. Since Seahub keeps session information internally, the user doesn't need to login again until the session expires. + +Since Shibboleth support requires Apache, if you want to use Nginx, you need two servers, one for non-Shibboleth access, another configured with Apache to allow Shibboleth login. In a cluster environment, you can configure your load balancer to direct traffic to different server according to URL. Only the URL `https://your-server/shib-login` needs to be directed to Apache. + +The configuration includes 3 steps: + +1. Install and configure Shibboleth Service Provider; +2. Configure Apache; +3. Configure Seahub. + +## Install and Configure Shibboleth Service Provider + +Installation and configuration of Shibboleth is out of the scope of this documentation. Here are a few references: + +* For RedHat and SUSE: +* For Ubuntu: + +Please note that you don't have to follow the Apache configurations in the above links. Just use the Apache config we provide in the next section. + +## Apache Configuration + +You should create a new virtual host configuration for Shibboleth. + +``` + + + ServerName seafile.example.com + DocumentRoot /var/www + #Alias /seafmedia /home/ubuntu/dev/seahub/media + Alias /media /home/user/seafile-server-latest/seahub/media + + ErrorLog ${APACHE_LOG_DIR}/seahub.error.log + CustomLog ${APACHE_LOG_DIR}/seahub.access.log combined + + SSLEngine on + SSLCertificateFile /path/to/ssl-cert.pem + SSLCertificateKeyFile /path/to/ssl-key.pem + + + SetHandler shib + + + + AuthType None + Require all granted + Allow from all + satisfy any + + + RewriteEngine On + + Require all granted + + + + AuthType shibboleth + ShibRequestSetting requireSession true + Require valid-user + + + # + # seafile fileserver + # + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] + + # + # seahub + # + RewriteRule ^/(media.*)$ /$1 [QSA,L,PT] + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_URI} !^/Shibboleth.sso + ProxyPreserveHost On + RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + + + +``` + +After restarting Apache, you should be able to get the Service Provider metadata by accessing . This metadata should be uploaded to the Identity Provider (IdP) server. + +## Configure Seahub + +Seahub extracts the username from the `REMOTE_USER` environment variable. So you should modify your SP's shibboleth2.xml (/etc/shibboleth/shibboleth2.xml on Ubuntu) config file, so that Shibboleth translates your desired attribute into `REMOTE_USER` environment variable. + +``` + + +``` + +In Seafile, only one of the following two attributes can be used for username: `eppn`, and `mail`. `eppn` stands for "Edu Person Principal Name". It is usually the UserPrincipalName attribute in Active Directory. It's not necessarily a valid email address. `mail` is the user's email address. You should set `REMOTE_USER` to either one of these attributes. + +Now we have to tell Seahub how to do with the authentication information passed in by Shibboleth. + +Add the following configuration to seahub_settings.py. + +``` +EXTRA_AUTHENTICATION_BACKENDS = ( + 'shibboleth.backends.ShibbolethRemoteUserBackend', +) +EXTRA_MIDDLEWARE_CLASSES = ( + 'shibboleth.middleware.ShibbolethRemoteUserMiddleware', +) + +ENABLE_SHIB_LOGIN = True + +SHIBBOLETH_ATTRIBUTE_MAP = { + # Change eppn to mail if you use mail attribute for REMOTE_USER + "eppn": (False, "username"), +} + +``` + +Since version 5.0, Seahub can process additional user attributes from Shibboleth. These attributes are saved into Seahub's database, as user's properties. They're all not mandatory. The internal user properties Seahub now supports are: + +* givenname +* surname +* contact_email: used for sending notification email to user if username is not a valid email address (like eppn). +* institution: used to identify user's institution + +You can specify the mapping between Shibboleth attributes and Seahub's user properties in seahub_settings.py: + +``` +SHIBBOLETH_ATTRIBUTE_MAP = { + "eppn": (False, "username"), + "givenname": (False, "givenname"), + "sn": (False, "surname"), + "mail": (False, "contact_email"), + "organization": (False, "institution"), +} + +``` + +In the above config, the hash key is Shibboleth attribute name, the second element in the hash value is Seahub's property name. You can adjust the Shibboleth attribute name for your own needs. **_Note that you may have to change attribute-map.xml in your Shibboleth SP, so that the desired attributes are passed to Seahub. And you have to make sure the IdP sends these attributes to the SP._** + +Since version 5.1.1, we added an option `SHIB_ACTIVATE_AFTER_CREATION` (defaults to `True`) which control the user status after shibboleth connection. If this option set to `False`, user will be inactive after connection, and system admins will be notified by email to activate that account. + +### Affiliation and user role + +Shibboleth has a field called affiliation. It is a list like: `employee@uni-mainz.de;member@uni-mainz.de;faculty@uni-mainz.de;staff@uni-mainz.de.` + +Since version 6.0.7 pro, we are able to set user role from Shibboleth. Details about user role, please refer to + + +To enable this, modify `SHIBBOLETH_ATTRIBUTE_MAP` above and add `Shibboleth-affiliation` field, you may need to change `Shibboleth-affiliation` according to your Shibboleth SP attributes. + +``` +SHIBBOLETH_ATTRIBUTE_MAP = { + "eppn": (False, "username"), + "givenname": (False, "givenname"), + "sn": (False, "surname"), + "mail": (False, "contact_email"), + "organization": (False, "institution"), + "Shibboleth-affiliation": (False, "affiliation"), +} + +``` + +Then add new config to define affiliation role map, + +``` +SHIBBOLETH_AFFILIATION_ROLE_MAP = { + 'employee@uni-mainz.de': 'staff', + 'member@uni-mainz.de': 'staff', + 'student@uni-mainz.de': 'student', + 'employee@hu-berlin.de': 'guest', + # Since 6.1.7 pro, we support wildcards matching. + 'patterns': ( + ('*@hu-berlin.de', 'guest1'), + ('*@*.de', 'guest2'), + ('*', 'guest'), + ), +} + +``` + +After Shibboleth login, Seafile should calcualte user's role from affiliation and SHIBBOLETH_AFFILIATION_ROLE_MAP. + +## Verify + +After restarting Apache and Seafile services, you can then test the shibboleth login workflow. diff --git a/manual/deploy/shibboleth_config_v6.3.md b/manual/deploy/shibboleth_config_v6.3.md new file mode 100644 index 00000000..638893d4 --- /dev/null +++ b/manual/deploy/shibboleth_config_v6.3.md @@ -0,0 +1,312 @@ + + +> This document is for Seafile Server version 6.3 or above, if the server version is lower than 6.3, please refer to [this document](https://manual.seafile.com/deploy/shibboleth_config.html). + +## Overview + +[Shibboleth](https://shibboleth.net/) is a widely used single sign on (SSO) protocol. Seafile supports authentication via Shibboleth. It allows users from another organization to log in to Seafile without registering an account on the service provider. + +In this documentation, we assume the reader is familiar with Shibboleth installation and configuration. For introduction to Shibboleth concepts, please refer to . + +Shibboleth Service Provider (SP) should be installed on the same server as the Seafile server. The official SP from is implemented as an Apache module. The module handles all Shibboleth authentication details. Seafile server receives authentication information (username) from HTTP request. The username then can be used as login name for the user. + +Seahub provides a special URL to handle Shibboleth login. The URL is `https://your-seafile-domain/sso`. Only this URL needs to be configured under Shibboleth protection. All other URLs don't go through the Shibboleth module. The overall workflow for a user to login with Shibboleth is as follows: + +1. In the Seafile login page, there is a separate "Single Sign-On" login button. When the user clicks the button, she/he will be redirected to `https://your-seafile-domain/sso`. +2. Since that URL is controlled by Shibboleth, the user will be redirected to IdP for login. After the user logs in, she/he will be redirected back to `https://your-seafile-domain/sso`. +3. This time the Shibboleth module passes the request to Seahub. Seahub reads the user information from the request(`HTTP_REMOTE_USER` header) and brings the user to her/his home page. +4. All later access to Seahub will not pass through the Shibboleth module. Since Seahub keeps session information internally, the user doesn't need to login again until the session expires. + +Since Shibboleth support requires Apache, if you want to use Nginx, you need two servers, one for non-Shibboleth access, another configured with Apache to allow Shibboleth login. In a cluster environment, you can configure your load balancer to direct traffic to different server according to URL. Only the URL `https://your-seafile-domain/sso` needs to be directed to Apache. + +The configuration includes 3 steps: + +1. Install and configure Shibboleth Service Provider; +2. Configure Apache; +3. Configure Seahub. + +## Install and Configure Shibboleth Service Provider + +We use CentOS 7 as example. + +#### Configure Apache + +You should create a new virtual host configuration for Shibboleth. And then restart Apache. + +``` + + + ServerName your-seafile-domain + DocumentRoot /var/www + Alias /media /opt/seafile/seafile-server-latest/seahub/media + + ErrorLog ${APACHE_LOG_DIR}/seahub.error.log + CustomLog ${APACHE_LOG_DIR}/seahub.access.log combined + + SSLEngine on + SSLCertificateFile /path/to/ssl-cert.pem + SSLCertificateKeyFile /path/to/ssl-key.pem + + + SetHandler shib + AuthType shibboleth + ShibRequestSetting requireSession 1 + Require valid-user + + + + SetHandler shib + AuthType shibboleth + ShibUseHeaders On + ShibRequestSetting requireSession 1 + Require valid-user + + + RewriteEngine On + + Require all granted + + + # seafile fileserver + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] + + # seahub + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPass / http://127.0.0.1:8000/ + ProxyPassReverse / http://127.0.0.1:8000/ + + # for http + # RequestHeader set REMOTE_USER %{REMOTE_USER}e + # for https + RequestHeader set REMOTE_USER %{REMOTE_USER}s + + + +``` + +#### Install and Configure Shibboleth + +Installation and configuration of Shibboleth is out of the scope of this documentation. Here are a few references: + +* For RedHat, CentOS-7 and SUSE: + +#### Configure Shibboleth(SP) + +##### shibboleth2.xml + +Open `/etc/shibboleth/shibboleth2.xml` and change some property. After you have done all the followings, don't forget to restart Shibboleth(SP) + +###### `ApplicationDefaults` element + +Change `entityID` and [`REMOTE_USER`](https://wiki.shibboleth.net/confluence/display/SP3/ApplicationDefaults) property: + +``` + + + +``` + +Seahub extracts the username from the `REMOTE_USER` environment variable. So you should modify your SP's shibboleth2.xml config file, so that Shibboleth translates your desired attribute into `REMOTE_USER` environment variable. + +In Seafile, only one of the following two attributes can be used for username: `eppn`, and `mail`. `eppn` stands for "Edu Person Principal Name". It is usually the UserPrincipalName attribute in Active Directory. It's not necessarily a valid email address. `mail` is the user's email address. You should set `REMOTE_USER` to either one of these attributes. + +###### `SSO` element + +Change `entityID` property: + +``` + + + + SAML2 + + +``` + +###### `MetadataProvider` element + +Change `url` and `backingFilePath` property: + +``` + + + + + +``` + +##### attribute-map.xml + +Open `/etc/shibboleth/attribute-map.xml` and change some property. After you have done all the followings, don't forget to restart Shibboleth(SP) + +###### `Attribute` element + +Uncomment attribute elements for getting more user info: + +``` + + + + + + + +``` + +#### Upload Shibboleth(SP)'s metadata + +After restarting Apache, you should be able to get the Service Provider metadata by accessing . This metadata should be uploaded to the Identity Provider (IdP) server. + +## Configure Seahub + +Add the following configuration to seahub_settings.py. + +``` +ENABLE_SHIB_LOGIN = True +SHIBBOLETH_USER_HEADER = 'HTTP_REMOTE_USER' +# basic user attributes +SHIBBOLETH_ATTRIBUTE_MAP = { + "HTTP_DISPLAYNAME": (False, "display_name"), + "HTTP_MAIL": (False, "contact_email"), +} +EXTRA_MIDDLEWARE_CLASSES = ( + 'shibboleth.middleware.ShibbolethRemoteUserMiddleware', +) +EXTRA_AUTHENTICATION_BACKENDS = ( + 'shibboleth.backends.ShibbolethRemoteUserBackend', +) + +``` + +Seahub can process additional user attributes from Shibboleth. These attributes are saved into Seahub's database, as user's properties. They're all not mandatory. The internal user properties Seahub now supports are: + +* givenname +* surname +* contact_email: used for sending notification email to user if username is not a valid email address (like eppn). +* institution: used to identify user's institution + +You can specify the mapping between Shibboleth attributes and Seahub's user properties in seahub_settings.py: + +``` +SHIBBOLETH_ATTRIBUTE_MAP = { + "HTTP_EPPN": (False, "username"), + "HTTP_GIVENNAME": (False, "givenname"), + "HTTP_SN": (False, "surname"), + "HTTP_MAIL": (False, "contact_email"), + "HTTP_ORGANIZATION": (False, "institution"), +} + +``` + +In the above config, the hash key is Shibboleth attribute name, the second element in the hash value is Seahub's property name. You can adjust the Shibboleth attribute name for your own needs. **_Note that you may have to change attribute-map.xml in your Shibboleth SP, so that the desired attributes are passed to Seahub. And you have to make sure the IdP sends these attributes to the SP._** + +We also added an option `SHIB_ACTIVATE_AFTER_CREATION` (defaults to `True`) which control the user status after shibboleth connection. If this option set to `False`, user will be inactive after connection, and system admins will be notified by email to activate that account. + +#### Affiliation and user role + +Shibboleth has a field called affiliation. It is a list like: `employee@uni-mainz.de;member@uni-mainz.de;faculty@uni-mainz.de;staff@uni-mainz.de.` + +We are able to set user role from Shibboleth. Details about user role, please refer to + + +To enable this, modify `SHIBBOLETH_ATTRIBUTE_MAP` above and add `Shibboleth-affiliation` field, you may need to change `Shibboleth-affiliation` according to your Shibboleth SP attributes. + +``` +SHIBBOLETH_ATTRIBUTE_MAP = { + "HTTP_EPPN": (False, "username"), + "HTTP_GIVENNAME": (False, "givenname"), + "HTTP_SN": (False, "surname"), + "HTTP_MAIL": (False, "contact_email"), + "HTTP_ORGANIZATION": (False, "institution"), + "HTTP_Shibboleth-affiliation": (False, "affiliation"), +} + +``` + +Then add new config to define affiliation role map, + +``` +SHIBBOLETH_AFFILIATION_ROLE_MAP = { + 'employee@uni-mainz.de': 'staff', + 'member@uni-mainz.de': 'staff', + 'student@uni-mainz.de': 'student', + 'employee@hu-berlin.de': 'guest', + 'patterns': ( + ('*@hu-berlin.de', 'guest1'), + ('*@*.de', 'guest2'), + ('*', 'guest'), + ), +} + +``` + +After Shibboleth login, Seafile should calcualte user's role from affiliation and SHIBBOLETH_AFFILIATION_ROLE_MAP. + +## Verify + +After restarting Apache and Seahub service (`./seahub.sh restart`), you can then test the shibboleth login workflow. + +## Debug + +If you encountered problems when login, follow these steps to get debug info (for Seafile pro 6.3.13). + +#### Add this setting to `seahub_settings.py` + +``` +DEBUG = True + +``` + +#### Change Seafile's code + +Open `seafile-server-latest/seahub/thirdpart/shibboleth/middleware.py` + +Insert the following code in line 59 + +``` + assert False + +``` + +Insert the following code in line 65 + +``` +if not username: + assert False + +``` + +The complete code after these changes is as follows: + +``` +#Locate the remote user header. +# import pprint; pprint.pprint(request.META) +try: + username = request.META[SHIB_USER_HEADER] +except KeyError: + assert False + # If specified header doesn't exist then return (leaving + # request.user set to AnonymousUser by the + # AuthenticationMiddleware). + return + +if not username: + assert False + +p_id = ccnet_api.get_primary_id(username) +if p_id is not None: + username = p_id + +``` + +Then restart Seafile and relogin, you will see debug info in web page. diff --git a/manual/deploy/single_sign_on.md b/manual/deploy/single_sign_on.md new file mode 100644 index 00000000..d39ee84f --- /dev/null +++ b/manual/deploy/single_sign_on.md @@ -0,0 +1,16 @@ +# Single Sign On support in Seafile + +Seafile supports most of the popular single-sign-on authentication protocols. Some are included in Community Edition, some are only in Pro Edition. + +In the Community Edition: + +* [Shibboleth](./shibboleth_config_v6.3.md) +* [OAuth](./oauth.md) +* [Remote User (Proxy Server)](./remote_user.md) + +Kerberos authentication can be integrated by using Apache as a proxy server and follow the instructions in [Remote User Authentication](./remote_user.md). + +In Pro Edition: + +* [ADFS or SAML 2.0](../deploy_pro/adfs.md) +* [CAS](../deploy_pro/cas.md) diff --git a/manual/deploy/sqlite_to_mysql.sh b/manual/deploy/sqlite_to_mysql.sh new file mode 100644 index 00000000..5b20d41e --- /dev/null +++ b/manual/deploy/sqlite_to_mysql.sh @@ -0,0 +1,118 @@ +#!/bin/sh +# +# This shell script uses sqlite3 commands to export data only(no schema) from seafile sqlite3 installation +# +# Setup: +# +# 1. Move this file to the top directory of your Seafile +# installation path (e.g. /data/haiwen). +# 2. Run: ./sqlite_to_mysql.sh +# 3. Three files(ccnet_db_data.sql, seafile_db_data.sql, seahub_db_data.sql) are created. +# 4. Loads these files to MySQL after you load schema +# example: (mysql> source ccnet_db_data.sql) +# + +#Function that generates INSERT statements for all data in given database +#Parameter1 = database_path + +Sqlite2MysqlData () { + echo "SET FOREIGN_KEY_CHECKS=0;" + for TABLE in $(sqlite3 $1 .tables) + do + #get columns and insert ``, around every one + COLS=$(sqlite3 $1 "PRAGMA table_info('${TABLE}');" | cut -d'|' -f2 | sed 's/^/`/' | sed 's/$/`, /' ) + + #remove comma from last one + COLS_PURE=$(echo $COLS | sed 's/.$//') + + #generate insertstatemets (via echoMultipleCommands support by sqlite3), does not include column names + echo ".mode insert\nselect * from '${TABLE}';" | sqlite3 $1 | + + #replace 3rd word with columns from above: TableName(`col1`, `col2`, `col3`, ...) + sed "s/[^ ]*[^ ]/${TABLE}(${COLS_PURE})/3" + done + echo "SET FOREIGN_KEY_CHECKS=1;" +} + +CCNET_DB='ccnet_db_data.sql' +SEAFILE_DB='seafile_db_data.sql' +SEAHUB_DB='seahub_db_data.sql' + +########## ccnet + +seafile_path=$(pwd) + +if [ -d "${seafile_path}/ccnet" ]; then + USER_MGR_DB=${seafile_path}/ccnet/PeerMgr/usermgr.db + GRP_MGR_DB=${seafile_path}/ccnet/GroupMgr/groupmgr.db +else + echo "${seafile_path}/ccnet does not exists." + read -p "Please provide your ccnet folder path(e.g. /data/haiwen/ccnet): " ccnet_path + if [ -d ${ccnet_path} ]; then + USER_MGR_DB=$(dirname "${ccnet_path}")/PeerMgr/usermgr.db + GRP_MGR_DB=$(dirname "${ccnet_path}")/GroupMgr/groupmgr.db + else + echo "${ccnet_path} does not exists, quit." + exit 1 + fi +fi + +rm -rf ${CCNET_DB} + +echo "Start export ccnet data from user" +Sqlite2MysqlData ${USER_MGR_DB} > ${CCNET_DB} + +echo "Start export ccnet data from group" +Sqlite2MysqlData ${GRP_MGR_DB} >> ${CCNET_DB} + +echo "Done export ccnet data" + +########## seafile + +if [ -f "${seafile_path}/seafile-data/seafile.db" ]; then + SEAFILE_SQLITE_DB=${seafile_path}/seafile-data/seafile.db +else + echo "${seafile_path}/seafile-data/seafile.db does not exists." + read -p "Please provide your seafile.db path(e.g. /data/haiwen/seafile-data/seafile.db): " seafile_db_path + if [ -f ${seafile_db_path} ];then + SEAFILE_SQLITE_DB=${seafile_db_path} + else + echo "${seafile_db_path} does not exists, quit." + exit 1 + fi +fi + +rm -rf ${SEAFILE_DB} + +echo "Start export seafile data" +Sqlite2MysqlData ${SEAFILE_SQLITE_DB} > ${SEAFILE_DB} + +echo "Done export seafile data" + +########## seahub + +if [ -f "${seafile_path}/seahub.db" ]; then + SEAHUB_SQLITE_DB=${seafile_path}/seahub.db +else + echo "${seafile_path}/seahub.db does not exists." + read -p "Please prove your seahub.db path(e.g. /data/haiwen/seahub.db): " seahub_db_path + if [ -f ${seahub_db_path} ]; then + SEAHUB_SQLITE_DB=${seahub_db_path} + else + echo "${seahub_db_path} does not exists, quit." + exit 1 + fi +fi + +rm -rf ${SEAHUB_DB} + +#delete existed data from `django_content_type`: +echo "DELETE FROM \`django_content_type\`;" > ${SEAHUB_DB} + +#delete existed data from `django_migrations`: +echo "DELETE FROM \`django_migrations\`;" >> ${SEAHUB_DB} + +echo "Start export seahub data" +Sqlite2MysqlData ${SEAHUB_SQLITE_DB} >> ${SEAHUB_DB} + +echo "Done export seahub data" diff --git a/manual/deploy/start_seafile_at_system_bootup.md b/manual/deploy/start_seafile_at_system_bootup.md new file mode 100644 index 00000000..9c2d1c6f --- /dev/null +++ b/manual/deploy/start_seafile_at_system_bootup.md @@ -0,0 +1,564 @@ +# Start Seafile at System Bootup + +## For systems running systemd + +* For example Debian 8 and newer, Linux Ubuntu 15.04 and newer + +Create systemd service files, change **${seafile_dir}** to your +**seafile** installation location and **seafile** to user, who runs +**seafile** (if appropriate). Then you need to reload systemd's daemons: +**systemctl daemon-reload**. + +### Create systemd service file /etc/systemd/system/seafile.service + +``` +sudo vim /etc/systemd/system/seafile.service + +``` + +The content of the file is: + +``` +[Unit] +Description=Seafile +# add mysql.service or postgresql.service depending on your database to the line below +After=network.target + +[Service] +Type=forking +ExecStart=${seafile_dir}/seafile-server-latest/seafile.sh start +ExecStop=${seafile_dir}/seafile-server-latest/seafile.sh stop +LimitNOFILE=infinity +User=seafile +Group=seafile + +[Install] +WantedBy=multi-user.target + +``` + +### Create systemd service file /etc/systemd/system/seahub.service + +``` +sudo vim /etc/systemd/system/seahub.service + +``` + +The content of the file is (please dont forget to change it if you want to run fastcgi): + +``` +[Unit] +Description=Seafile hub +After=network.target seafile.service + +[Service] +Type=forking +# change start to start-fastcgi if you want to run fastcgi +ExecStart=${seafile_dir}/seafile-server-latest/seahub.sh start +ExecStop=${seafile_dir}/seafile-server-latest/seahub.sh stop +User=seafile +Group=seafile + +[Install] +WantedBy=multi-user.target + +``` + +### Create systemd service file /etc/systemd/system/seafile-client.service (optional) + +You need to create this service file only if you have **seafile** +console client and you want to run it on system boot. + +``` +sudo vim /etc/systemd/system/seafile-client.service + +``` + +The content of the file is: + +``` +[Unit] +Description=Seafile client +# Uncomment the next line you are running seafile client on the same computer as server +# After=seafile.service +# Or the next one in other case +# After=network.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/seaf-cli start +ExecStop=/usr/bin/seaf-cli stop +RemainAfterExit=yes +User=seafile +Group=seafile + +[Install] +WantedBy=multi-user.target + +``` + +### Enable service start on system boot + +``` +sudo systemctl enable seafile.service +sudo systemctl enable seahub.service +sudo systemctl enable seafile-client.service # optional + +``` + +## For systems using another init system than systemd + +## Ubuntu 14.10 and older + +On Ubuntu without systemd we make use of the +[/etc/init.d/](https://help.ubuntu.com/community/UbuntuBootupHowto) +scripts to start seafile/seahub at system boot. + +### Create a script **/etc/init.d/seafile-server** + +``` +sudo vim /etc/init.d/seafile-server + +``` + +The content of this script is: (You need to modify the value of **user** +and **seafile_dir** accordingly) + +``` +#!/bin/bash +### BEGIN INIT INFO +# Provides: seafile-server +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Seafile server +# Description: Start Seafile server +### END INIT INFO + +# Change the value of "user" to your linux user name +user=haiwen + +# Change the value of "seafile_dir" to your path of seafile installation +# usually the home directory of $user +seafile_dir=/data/haiwen +script_path=${seafile_dir}/seafile-server-latest +seafile_init_log=${seafile_dir}/logs/seafile.init.log +seahub_init_log=${seafile_dir}/logs/seahub.init.log + +# Change the value of fastcgi to false if fastcgi is not used +fastcgi=true +# Set the port of fastcgi, default is 8000. Change it if you need different. +fastcgi_port=8000 +# +# Write a polite log message with date and time +# +echo -e "\n \n About to perform $1 for seafile at `date -Iseconds` \n " >> ${seafile_init_log} +echo -e "\n \n About to perform $1 for seahub at `date -Iseconds` \n " >> ${seahub_init_log} +case "$1" in + start) + sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log} + if [ $fastcgi = true ]; + then + sudo -u ${user} ${script_path}/seahub.sh ${1}-fastcgi ${fastcgi_port} >> ${seahub_init_log} + else + sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log} + fi + ;; + restart) + sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log} + if [ $fastcgi = true ]; + then + sudo -u ${user} ${script_path}/seahub.sh ${1}-fastcgi ${fastcgi_port} >> ${seahub_init_log} + else + sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log} + fi + ;; + stop) + sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log} + sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log} + ;; + *) + echo "Usage: /etc/init.d/seafile-server {start|stop|restart}" + exit 1 + ;; +esac + +``` + +**Note:** If you are using local mysql server, please replace `# Required-Start: $remote_fs $syslog` with `# Required-Start: $remote_fs $syslog mysql`. + +### Make the seafile-sever script executable + +``` +sudo chmod +x /etc/init.d/seafile-server + +``` + +### Add seafile-server to rc.d + +``` +sudo update-rc.d seafile-server defaults + +``` + +**Note:** Don't forget to update the value of **script_path** later if you update +your seafile server. + +## Other Debian based Distributions + +### Create a script **/etc/init.d/seafile-server** + +``` +sudo vim /etc/init.d/seafile-server + +``` + +The content of this script is: (You need to modify the value of **user** +and **seafile_dir** accordingly) + +``` +#!/bin/sh + +### BEGIN INIT INFO +# Provides: seafile-server +# Required-Start: $local_fs $remote_fs $network +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Starts Seafile Server +# Description: starts Seafile Server +### END INIT INFO + +# Change the value of "user" to linux user name who runs seafile +user=haiwen + +# Change the value of "seafile_dir" to your path of seafile installation +# usually the home directory of $user +seafile_dir=/data/haiwen +script_path=${seafile_dir}/seafile-server-latest +seafile_init_log=${seafile_dir}/logs/seafile.init.log +seahub_init_log=${seafile_dir}/logs/seahub.init.log + +# Change the value of fastcgi to true if fastcgi is to be used +fastcgi=false +# Set the port of fastcgi, default is 8000. Change it if you need different. +fastcgi_port=8000 + +# +# Write a polite log message with date and time +# +echo -e "\n \n About to perform $1 for seafile at `date -Iseconds` \n " >> ${seafile_init_log} +echo -e "\n \n About to perform $1 for seahub at `date -Iseconds` \n " >> ${seahub_init_log} + +case "$1" in + start) + sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log} + if [ $fastcgi = true ]; + then + sudo -u ${user} ${script_path}/seahub.sh ${1}-fastcgi ${fastcgi_port} >> ${seahub_init_log} + else + sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log} + fi + ;; + restart) + sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log} + if [ $fastcgi = true ]; + then + sudo -u ${user} ${script_path}/seahub.sh ${1}-fastcgi ${fastcgi_port} >> ${seahub_init_log} + else + sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log} + fi + ;; + stop) + sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log} + sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log} + ;; + *) + echo "Usage: /etc/init.d/seafile-server {start|stop|restart}" + exit 1 + ;; +esac + +``` + +**Note**: + +1. If you want to start seahub in fastcgi, just change the **fastcgi** + variable to **true** +2. If you deployed Seafile with MySQL, append "mysql" to the + Required-Start line: + + +``` +# Required-Start: $local_fs $remote_fs $network mysql + +``` + +### Add Directory for Logfiles + +``` + mkdir /path/to/seafile/dir/logs + +``` + +### Make the seafile-sever script executable + +``` +sudo chmod +x /etc/init.d/seafile-server + +``` + +### Add seafile-server to rc.d + +``` +sudo update-rc.d seafile-server defaults + +``` + +### Done + +Don't forget to update the value of **seafile_dir** later if you update +your seafile server. + +## RHEL/CentOS + +On RHEL/CentOS, the script +[/etc/rc.local](http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-boot-init-shutdown-run-boot.html) +is executed by the system at bootup, so we start seafile/seahub there. + +* Locate your python executable (python 2.6 or 2.7) + + +``` +which python2.6 # or "which python2.7" + +``` + +* In /etc/rc.local, add the directory of python2.6(2.7) to **PATH**, + and add the seafile/seahub start command + + +``` +` +# Assume the python 2.6(2.7) executable is in "/usr/local/bin" +PATH=$PATH:/usr/local/bin/ + +# Change the value of "user" to your linux user name +user=haiwen + +# Change the value of "seafile_dir" to your path of seafile installation +# usually the home directory of $user +seafile_dir=/data/haiwen +script_path=${seafile_dir}/seafile-server-latest + +sudo -u ${user} ${script_path}/seafile.sh start > /tmp/seafile.init.log 2>&1 +sudo -u ${user} ${script_path}/seahub.sh start > /tmp/seahub.init.log 2>&1 + +``` + +**Note**: If you want to start seahub in fastcgi, just change the +**"seahub.sh start"** in the last line above to **"seahub.sh +start-fastcgi"** + +* Done. Don't forget to update the value of **seafile_dir** later if + you update your seafile server. + +## RHEL/CentOS (run as service) + +On RHEL/CentOS we make use of the /etc/init.d/ scripts to start +seafile/seahub at system boot as service. + +### Create a file **/etc/sysconfig/seafile** + +``` +# Change the value of "user" to your linux user name +user=haiwen + +# Change the value of "seafile_dir" to your path of seafile installation +# usually the home directory of $user +seafile_dir=/data/haiwen +script_path=${seafile_dir}/seafile-server-latest +seafile_init_log=${seafile_dir}/logs/seafile.init.log +seahub_init_log=${seafile_dir}/logs/seahub.init.log + +# Change the value of fastcgi to true if fastcgi is to be used +fastcgi=false + +# Set the port of fastcgi, default is 8000. Change it if you need different. +fastcgi_port=8000 + +``` + +### Create a script **/etc/init.d/seafile** + +``` +#!/bin/bash +# +# seafile + +# +# chkconfig: - 68 32 +# description: seafile + +# Source function library. +. /etc/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +if [ -f /etc/sysconfig/seafile ];then + . /etc/sysconfig/seafile + else + echo "Config file /etc/sysconfig/seafile not found! Bye." + exit 200 + fi + +RETVAL=0 + +start() { + # Start daemons. + echo -n $"Starting seafile: " + ulimit -n 30000 + su - ${user} -c"${script_path}/seafile.sh start >> ${seafile_init_log} 2>&1" + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/seafile + return $RETVAL +} + +stop() { + echo -n $"Shutting down seafile: " + su - ${user} -c"${script_path}/seafile.sh stop >> ${seafile_init_log} 2>&1" + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/seafile + return $RETVAL +} + +# +# Write a polite log message with date and time +# +echo -e "\n \n About to perform $1 for seafile at `date -Iseconds` \n " >> ${seafile_init_log} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + RETVAL=3 +esac + +exit $RETVAL + +``` + +### Create a script **/etc/init.d/seahub** + +``` +#!/bin/bash +# +# seahub + +# +# chkconfig: - 69 31 +# description: seahub + +# Source function library. +. /etc/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +if [ -f /etc/sysconfig/seafile ];then + . /etc/sysconfig/seafile + else + echo "Config file /etc/sysconfig/seafile not found! Bye." + exit 200 + fi + +RETVAL=0 + +start() { + # Start daemons. + echo -n $"Starting seahub: " + ulimit -n 30000 + if [ $fastcgi = true ]; + then + su - ${user} -c"${script_path}/seahub.sh start-fastcgi ${fastcgi_port} >> ${seahub_init_log} 2>&1" + else + su - ${user} -c"${script_path}/seahub.sh start >> ${seahub_init_log} 2>&1" + fi + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/seahub + return $RETVAL +} + +stop() { + echo -n $"Shutting down seahub: " + su - ${user} -c"${script_path}/seahub.sh stop >> ${seahub_init_log} 2>&1" + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/seahub + return $RETVAL +} + +# +# Write a polite log message with date and time +# +echo -e "\n \n About to perform $1 for seahub at `date -Iseconds` \n " >> ${seahub_init_log} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + RETVAL=3 +esac + +exit $RETVAL + +``` + +Next, enable services: + +``` +chmod 550 /etc/init.d/seafile +chmod 550 /etc/init.d/seahub +chkconfig --add seafile +chkconfig --add seahub +chkconfig seahub on +chkconfig seafile on + +``` + +and run: + +``` +service seafile start +service seahub start + +``` + + diff --git a/manual/deploy/upgrade.md b/manual/deploy/upgrade.md new file mode 100644 index 00000000..d3ea5f6c --- /dev/null +++ b/manual/deploy/upgrade.md @@ -0,0 +1,165 @@ +# Upgrade manual + +This page is for users who use the pre-compiled seafile server package. +- If you [build seafile server from source](../build_seafile/server.md), please read the **Upgrading Seafile Server** section on that page, instead of this one. +- After upgrading, you may need to clean [seahub cache](add_memcached.md) if it doesn't behave as expect. +- If you are running a **cluster**, please read [upgrade a Seafile cluster](../deploy_pro/upgrade_a_cluster.md). + +## Upgrade notes +Please check the [upgrade notes](upgrade_notes.md) for any special configuration or changes before/while upgrading. + +--- + +## Major version upgrade (e.g. from 4.x.x to 5.y.y) + + +Suppose you are using version 4.3.0 and like to upgrade to version 5.0.0. First download and extract the new version. You should have a directory layout similar to this: + +``` +haiwen + -- seafile-server-4.3.0 + -- seafile-server-5.0.0 + -- ccnet + -- seafile-data +``` + + +Now upgrade to version 5.0.0. + +1. Shutdown Seafile server if it's running + + ```sh + cd haiwen/seafile-server-4.3.0 + ./seahub.sh stop + ./seafile.sh stop + # or via service + /etc/init.d/seafile-server stop + ``` +2. Check the upgrade scripts in seafile-server-5.0.0 directory. + + ```sh + cd haiwen/seafile-server-5.0.0 + ls upgrade/upgrade_* + ``` + + You will get a list of upgrade files: + + ``` + ... + upgrade/upgrade_4.0_4.1.sh + upgrade/upgrade_4.1_4.2.sh + upgrade/upgrade_4.2_4.3.sh + upgrade/upgrade_4.3_4.4.sh + upgrade/upgrade_4.4_5.0.sh + ``` + +3. Start from your current version, run the script(s one by one) + + ``` + upgrade/upgrade_4.3_4.4.sh + upgrade/upgrade_4.4_5.0.sh + ``` + +4. Start Seafile server + + ```sh + cd haiwen/seafile-server-5.0.0/ + ./seafile.sh start + ./seahub.sh start # or "./seahub.sh start-fastcgi" if you're using fastcgi + # or via service + /etc/init.d/seafile-server start + ``` + +5. If the new version works fine, the old version can be removed + + ```sh + rm -rf seafile-server-4.3.0/ + ``` + +## Minor version upgrade (e.g. from 5.0.x to 5.1.y) + +Suppose you are using version 5.0.0 and like to upgrade to version 5.1.0. First download and extract the new version. You should have a directory layout similar to this: + +``` +haiwen + -- seafile-server-5.0.0 + -- seafile-server-5.1.0 + -- ccnet + -- seafile-data +``` + + +Now upgrade to version 5.1.0. + +1. Shutdown Seafile server if it's running + + ```sh + cd haiwen/seafile-server-5.0.0 + ./seahub.sh stop + ./seafile.sh stop + # or via service + /etc/init.d/seafile-server stop + ``` + +2. Check the upgrade scripts in seafile-server-5.1.0 directory. + + ```sh + cd haiwen/seafile-server-5.1.0 + ls upgrade/upgrade_* + ``` + + You will get a list of upgrade files: + + ``` + ... + upgrade/upgrade_4.0_4.1.sh + upgrade/upgrade_4.1_4.2.sh + upgrade/upgrade_4.2_4.3.sh + upgrade/upgrade_4.3_4.4.sh + upgrade/upgrade_4.4_5.0.sh + upgrade/upgrade_5.0_5.1.sh + ``` + +3. Start from your current version, run the script(s one by one) + + ``` + upgrade/upgrade_5.0_5.1.sh + ``` + +4. Start Seafile server + + ```sh + cd haiwen/seafile-server-5.1.0/ + ./seafile.sh start + ./seahub.sh start # or "./seahub.sh start-fastcgi" if you're using fastcgi + # or via service + /etc/init.d/seafile-server start + ``` + +5. If the new version works, the old version can be removed + + ```sh + rm -rf seafile-server-5.0.0/ + ``` + +## Maintenance version upgrade (e.g. from 5.1.2 to 5.1.3) + +A maintenance upgrade is for example an upgrade from 5.1.2 to 5.1.3. + +1. Shutdown Seafile server if it's running + +2. For this type of upgrade, you only need to update the symbolic links (for avatar and a few other folders). +A script to perform a minor upgrade is provided with Seafile server (for history reasons, the script is called `minor-upgrade.sh`): + + ```sh + cd seafile-server-5.1.3 + upgrade/minor-upgrade.sh + ``` + +3. Start Seafile + +4. If the new version works, the old version can be removed + + ```sh + rm -rf seafile-server-5.1.2/ + ``` diff --git a/manual/deploy/upgrade_notes.md b/manual/deploy/upgrade_notes.md new file mode 100644 index 00000000..eaaa5a08 --- /dev/null +++ b/manual/deploy/upgrade_notes.md @@ -0,0 +1,153 @@ +# Upgrade notes + +These notes give additional information about changes. +Please always follow the [main upgrade guide](./upgrade.md). + +## Summary + +* [Upgrade notes for V6.x.x](#upgrade-notes-v6.x.x) +* [Upgrade notes for V5.x.x](#upgrade-notes-v5.x.x) +* [Upgrade notes for V4.x.x](#upgrade-notes-v4.x.x) + +*This documentation is just done from V4 + !* + +------ + +# Upgrade Notes V6.x.x + +## Important release changes + +From this version, the Wiki module is hidden by default. Users will not be able to turn it on. For compatibility with older versions, it can be turned on by adding the following line to `seahub_settings.py`: + +```python +ENABLE_WIKI = True +``` + +--- + +## V6.1.0 + +### Video Thumbnails + +Enable or disable thumbnail for video. ffmpeg and moviepy should be installed first. +For details, please refer to the [manual](./video_thumbnails.md). + +### OnlyOffice +The system requires some minor changes to support the OnlyOffice document server. +Please follow the instructions [here](./only_office.md). + +### Pip Pillow upgrade + +``` +# for Ubuntu 16.04 +sudo apt-get install libjpeg-dev +pip install --upgrade Pillow +# If the pillow installation fails you may install +# "build-dep python-imaging" instead of just "libjpeg-dev" + +# for Debian 8 +apt-get install libjpeg-dev +pip install --upgrade Pillow + +# If the pillow installation fails you may install +# "build-dep python-imaging" instead of just "libjpeg-dev" + +# for Centos 7 +sudo yum install libjpeg-dev +pip install --upgrade Pillow +``` + +### Seahub does not start + +In case Seahub does not start after the upgrade, install python-requests. + +```bash +sudo apt-get install python-requests +``` + +--- + +## V6.0.0 - V6.0.9 + +There are no other special instructions. + +--- + +# Upgrade Notes V5.x.x + +## Important release changes + +__In Seafile 5.0, we moved all config files to the folder ```/seafile-root/conf```, including:__ + +- seahub_settings.py -> conf/seahub_settings.py +- ccnet/ccnet.conf -> conf/ccnet.conf +- seafile-data/seafile.conf -> conf/seafile.conf +- [pro only] pro-data/seafevents.conf -> conf/seafevents.conf + +------ + +## V5.1.4 + +**Python upgrade** +If you upgrade to 5.1.4+, you need to install the python 3 libs: + +``` +# for Ubuntu 16.04 +sudo apt-get install python-urllib3 + +# for Debian 8 +apt-get install python-urllib3 + +# for Centos 7 +sudo yum install python-urllib3 + +# for Arch Linux +pacman -Sy python2-urllib3 +``` + +--- + +## V5.0.0 - V5.1.3 + +Nothing to be installed/changed. + +------ + +# Upgrade Notes V4.x.x +These notes just give additional information about changes within each major version. +Please always follow the [main installation guide](./upgrade.md). + +## Important release changes + +- [Thumbnail string to number](##V4.3.0) + +--- + +## V4.3.1 - V4.4.6 + +There are no other special instructions. + +--- + +## V4.3.0 + +Change the setting of THUMBNAIL_DEFAULT_SIZE from string to number in ```seahub_settings.py```: + +Use ```THUMBNAIL_DEFAULT_SIZE = 24```, instead of ```THUMBNAIL_DEFAULT_SIZE = '24'```. + +--- + +## V4.2.0 - V4.2.3 + +**Note when upgrading to 4.2:** +If you deploy Seafile in a non-root domain, you need to add the following extra settings in ```seahub_settings.py```: +``` +COMPRESS_URL = MEDIA_URL +STATIC_URL = MEDIA_URL + '/assets/' +``` + +--- + +## V4.0.0 - V4.1.2 + +There are no other special instructions. diff --git a/manual/deploy/upgrade_with_mysql_or_postgresql.md b/manual/deploy/upgrade_with_mysql_or_postgresql.md new file mode 100644 index 00000000..6be912d7 --- /dev/null +++ b/manual/deploy/upgrade_with_mysql_or_postgresql.md @@ -0,0 +1,167 @@ +#Seafile +## Upgrade with MySQL or PostgreSQL + +First, download the new version, for example seafile-server_1.6.0_x86-64.tar.gz, and extract it to the directory where you put all Seafile related staff. You should have a directory layout similar to this: + +``` +haiwen + -- seafile-server-1.5.0 + -- seafile-server-1.6.0 + -- ccnet + -- seafile-data +``` + +## Major Continuous Upgrade (like from 1.5 to 1.6) + +Major continuous upgrade including upgrading from 1.5.0 to 1.6.0 or upgrading from 1.5.0 to 1.6.1. It involves four steps: + +1. Stop Seafile/Seahub +2. Update avatars folder and database tables +3. Update Nginx/Apache configs +4. Restart Seafile/Seahub + +### 2. Update avatars folder and database tables (After Seafile Server 2.1.1 for MySQL) + +Since seafile server 2.1.1, You can upgrade the the avatars folder and the databases using the upgrade scripts. The script's name is like `upgrade_X.X_Y.Y.sh`. For example, assume you are upgrading from seafile server 2.0.0 to seafile server 2.1.1, the you should run the `upgrade_2.0_2.1.sh` script. + +```sh +cd seafile-server-2.1.1/ +./upgrade/upgrade_2.0_2.1.sh +``` + +The script would update the avatars folder and the database tables for you. + +### 2. Update avatars folder and database tables (For PostgreSQL and before Seafile Server 2.1.1) + +Before Seafile Server 2.1.1 or if you are using PostgreSQL, you have to manually: + +- update the avatars folder symbolic link +- update and the database tables + +#### Update avatars symbolic link + +Assume your top level directory is `/data/haiwen/`, and you are upgrading to seafile server version 1.6.0: + +``` +cd /data/haiwen +cp -a seafile-server-1.6.0/seahub/media/avatars/* seahub-data/avatars/ +rm -rf seafile-server-1.6.0/seahub/media/avatars +#the new server avatars' folder will be linked to the updated avatars folder +ln -s -t seafile-server-1.6.0/seahub/media/ ../../../seahub-data/avatars/ +``` + +#### Update database tables + +When a new version of seafile server is released, there may be changes to the database of seafile/seahub/ccnet. We provide the sql statements to update the databases: + +- `upgrade/sql//mysql/seahub.sql`, for changes to seahub database +- `upgrade/sql//mysql/seafile.sql`, for changes to seafile database +- `upgrade/sql//mysql/ccnet.sql`, for changes to ccnet database + +To apply the changes, just execute the sqls in the correspondent database. If any of the sql files above do not exist, it means the new version does not bring changes to the correspondent database. + +```sh +seafile-server-1.6.0 +├── seafile +├── seahub +├── upgrade + ├── sql + ├── 1.6.0 + ├── mysql + ├── seahub.mysql + ├── seafile.mysql + ├── ccnet.mysql +``` + + +### 3. Update Nginx/Apache Config + +For Nginx: + +``` + location /media { + root /data/haiwen/seafile-server-1.6.0/seahub; + } +``` + +For Apache: + +``` +Alias /media /data/haiwen/seafile-server-1.6.0/seahub/media +``` + +**Tip:** +You can create a symbolic link `seafile-server-latest`, and make it point to your current seafile server folder (Since seafile server 2.1.0, the `setup-seafile.sh` script will do this for your). Then, each time you run a upgrade script, it would update the `seafile-server-latest` symbolic link to keep it always point to the latest version seafile server folder. + +In this case, you can write: + +``` + location /media { + root /data/haiwen/seafile-server-latest/seahub; + } +``` + +or For Apache: + +``` +Alias /media /data/haiwen/seafile-server-latest/seahub/media +``` + +This way, you no longer need to update the nginx/apache config file each time you upgrade your seafile server. + + +### 4. Restart Seafile/Seahub/Nginx/Apache + +After done above updating, now restart Seafile/Seahub/Nginx/Apache to see the new version at work! + +## Noncontinuous Upgrade (like from 1.1 to 1.3) + +You may also upgrade a few versions at once, e.g. from 1.1.0 to 1.3.0. +The procedure is: + +1. upgrade from 1.1.0 to 1.2.0; +2. upgrade from 1.2.0 to 1.3.0. + + +## Minor upgrade (like from 1.5.0 to 1.5.1) + +Minor upgrade is like an upgrade from 1.5.0 to 1.5.1. + +Here is our dir strutcutre + +``` +haiwen + -- seafile-server-1.5.0 + -- seafile-server-1.5.1 + -- ccnet + -- seafile-data +``` + +### Update the avatar link + +We provide a script for you, just run it: + +```sh +cd seafile-server-1.5.1 +upgrade/minor-upgrade.sh +``` + +### Update Nginx/Apache Config + +For Nginx: + +``` + location /media { + root /data/haiwen/seafile-server-1.5.1/seahub; + } +``` + +For Apache: + +``` +Alias /media /data/haiwen/seafile-server-1.5.1/seahub/media +``` + +### Restart Seafile/Seahub/Nginx/Apache + +After done above updating, now restart Seafile/Seahub/Nginx/Apache to see the new version at work! diff --git a/manual/deploy/using_firewall.md b/manual/deploy/using_firewall.md new file mode 100644 index 00000000..852fc630 --- /dev/null +++ b/manual/deploy/using_firewall.md @@ -0,0 +1,5 @@ +# Firewall settings + +By default the ports `8000` and `8082` need to be opened in the firewall for incoming TCP connections. + +If you run Seafile behind Nginx/Apache with HTTPS, you only need to open port 443 TCP. diff --git a/manual/deploy/using_fuse.md b/manual/deploy/using_fuse.md new file mode 100644 index 00000000..06ebdb06 --- /dev/null +++ b/manual/deploy/using_fuse.md @@ -0,0 +1,89 @@ +# Seafile +## Using Fuse + +Files in the seafile system are split to blocks, which means what are stored on your seafile server are not complete files, but blocks. This design faciliates effective data deduplication. + +However, administrators sometimes want to access the files directly on the server. You can use seaf-fuse to do this. + +`Seaf-fuse` is an implementation of the [http://fuse.sourceforge.net FUSE] virtual filesystem. In a word, it mounts all the seafile files to a folder (which is called the '''mount point'''), so that you can access all the files managed by seafile server, just as you access a normal folder on your server. + +Seaf-fuse is added since Seafile Server '''2.1.0'''. + +'''Note:''' +* Encrypted folders can't be accessed by seaf-fuse. +* Currently the implementation is '''read-only''', which means you can't modify the files through the mounted folder. +* One debian/centos systems, you need to be in the "fuse" group to have the permission to mount a FUSE folder. + +## How to start seaf-fuse + +Assume we want to mount to `/data/seafile-fuse`. + +#### Create the folder as the mount point + +``` +mkdir -p /data/seafile-fuse +``` + +#### Start seaf-fuse with the script + +'''Note:''' Before start seaf-fuse, you should have started seafile server with `./seafile.sh start`. + +``` +./seaf-fuse.sh start /data/seafile-fuse +``` + +#### Stop seaf-fuse + +``` +./seaf-fuse.sh stop +``` + +## Contents of the mounted folder + +#### The top level folder + +Now you can list the content of `/data/seafile-fuse`. + +``` +$ ls -lhp /data/seafile-fuse + +drwxr-xr-x 2 root root 4.0K Jan 1 1970 abc@abc.com/ +drwxr-xr-x 2 root root 4.0K Jan 1 1970 foo@foo.com/ +drwxr-xr-x 2 root root 4.0K Jan 1 1970 plus@plus.com/ +drwxr-xr-x 2 root root 4.0K Jan 1 1970 sharp@sharp.com/ +drwxr-xr-x 2 root root 4.0K Jan 1 1970 test@test.com/ +``` + +* The top level folder contains many subfolders, each of which corresponds to a user +* The time stamp of files and folders is not preserved. + +#### The folder for each user + +``` +$ ls -lhp /data/seafile-fuse/abc@abc.com + +drwxr-xr-x 2 root root 924 Jan 1 1970 5403ac56-5552-4e31-a4f1-1de4eb889a5f_Photos/ +drwxr-xr-x 2 root root 1.6K Jan 1 1970 a09ab9fc-7bd0-49f1-929d-6abeb8491397_My Notes/ +``` + +From the above list you can see, under the folder of a user there are subfolders, each of which represents a library of that user, and has a name of this format: '''{library_id}-{library-name}'''. + +#### The folder for a library + +``` +$ ls -lhp /data/seafile-fuse/abc@abc.com/5403ac56-5552-4e31-a4f1-1de4eb889a5f_Photos/ + +-rw-r--r-- 1 root root 501K Jan 1 1970 image.png +-rw-r--r-- 1 root root 501K Jan 1 1970 sample.jpng +``` + +#### If you get a "Permission denied" error + +If you get an error message saying "Permission denied" when running `./seaf-fuse.sh start`, most likely you are not in the "fuse group". You should: + +* Add yourself to the fuse group +``` +sudo usermod -a -G fuse +``` +* Logout your shell and login again +* Now try `./seaf-fuse.sh start ` again. diff --git a/manual/deploy/using_ldap.md b/manual/deploy/using_ldap.md new file mode 100644 index 00000000..31bea55c --- /dev/null +++ b/manual/deploy/using_ldap.md @@ -0,0 +1,135 @@ +# Configure Seafile to use LDAP + +Note: This documentation is for the Community Edition. If you're using Pro Edition, please refer to [the Seafile Pro documentation](../deploy_pro/using_ldap_pro.md). + +## How does LDAP User Management work in Seafile + +When Seafile is integrated with LDAP/AD, users in the system can be divided into two tiers: + +- Users within Seafile's internal user database. Some attributes are attached to these users, such as whether it's a system admin user, whether it's activated. This tier includes two types of users: + * Native users: these users are created by the admin on Seafile's system admin interface. These users are stored in the `EmailUser` table of the `ccnet` database. + * Users imported from LDAP/AD server: When a user in LDAP/AD logs into Seafile, its information will be imported from LDAP/AD server into Seafile's database. These users are stored in the `LDAPUsers` table of the `ccnet` database. +- Users in LDAP/AD server. These are all the intended users of Seafile inside the LDAP server. Seafile doesn't manipulate these users directly. It has to import them into its internal database before setting attributes on them. + +When Seafile counts the number of users in the system, it only counts the **activated** users in its internal database. + +When Seafile is integrated with LDAP/AD, it'll look up users from both the internal database and LDAP server. As long as the user exists in one of these two sources, they can log into the system. + +## Basic LDAP/AD Integration + +The only requirement for Seafile to use LDAP/AD for authentication is that there must be a unique identifier for each user in the LDAP/AD server. Seafile can only use email-address-format user identifiers. So there are usually only two options for this unique identifier: + +- Email address: this is the most common choice. Most organizations assign unique email address for each member. +- UserPrincipalName: this is a user attribute only available in Active Directory. It's format is `user-login-name@domain-name`, e.g. `john@example.com`. It's not a real email address, but it works fine as the unique identifier. + +### Connecting to Active Directory + +To use AD to authenticate user, please add the following lines to ccnet.conf. + +If you choose email address as unique identifier: + + [LDAP] + HOST = ldap://192.168.1.123/ + BASE = cn=users,dc=example,dc=com + USER_DN = administrator@example.local + PASSWORD = secret + LOGIN_ATTR = mail + +If you choose UserPrincipalName as unique identifier: + + [LDAP] + HOST = ldap://192.168.1.123/ + BASE = cn=users,dc=example,dc=com + USER_DN = administrator@example.local + PASSWORD = secret + LOGIN_ATTR = userPrincipalName + +Meaning of each config options: + +* HOST: LDAP URL for the host. ldap://, ldaps:// and ldapi:// are supported. You can also include a port number in the URL, like ldap://ldap.example.com:389. To use TLS, you should configure the LDAP server to listen on LDAPS port and specify ldaps:// here. More details about TLS will be covered below. +* BASE: The root distinguished name (DN) to use when running queries against the directory server. **You cannot use the root DN (e.g. dc=example,dc=com) as BASE**. +* USER_DN: The distinguished name of the user that Seafile will use when connecting to the directory server. This user should have sufficient privilege to access all the nodes under BASE. It's recommended to use a user in the administrator group. +* PASSWORD: Password of the above user. +* LOGIN_ATTR: The attribute used for user's unique identifier. Use `mail` or `userPrincipalName`. + +Tips for choosing BASE and USER_DN: + +* To determine the BASE, you first have to navigate your organization hierachy on the domain controller GUI. + * If you want to allow all users to use Seafile, you can use 'cn=users,dc=yourdomain,dc=com' as BASE (with proper adjustment for your own needs). + * If you want to limit users to a certain OU (Organization Unit), you run `dsquery` command on the domain controller to find out the DN for this OU. For example, if the OU is 'staffs', you can run 'dsquery ou -name staff'. More information can be found [here](https://technet.microsoft.com/en-us/library/cc770509.aspx). +* AD supports 'user@domain.name' format for the USER_DN option. For example you can use administrator@example.com for USER_DN. Sometime the domain controller doesn't recognize this format. You can still use `dsquery` command to find out user's DN. For example, if the user name is 'seafileuser', run `dsquery user -name seafileuser`. More information [here](https://technet.microsoft.com/en-us/library/cc725702.aspx). + +### Connecting to other LDAP servers + +Please add the following options to ccnet.conf: + + [LDAP] + HOST = ldap://192.168.1.123/ + BASE = ou=users,dc=example,dc=com + USER_DN = cn=admin,dc=example,dc=com + PASSWORD = secret + LOGIN_ATTR = mail + +The meaning of the options are the same as described in the previous section. With other LDAP servers, you can only use `mail` attribute as user's unique identifier. + +## Advanced LDAP/AD Integration Options + +### Multiple BASE + +Multiple base DN is useful when your company has more than one OUs to use Seafile. You can specify a list of base DN in the "BASE" config. The DNs are separated by ";", e.g. `ou=developers,dc=example,dc=com;ou=marketing,dc=example,dc=com` + +### Additional Search Filter + +Search filter is very useful when you have a large organization but only a portion of people want to use Seafile. The filter can be given by setting "FILTER" config. The value of this option follows standard LDAP search filter syntax (https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx). + +The final filter used for searching for users is `(&($LOGIN_ATTR=*)($FILTER))`. `$LOGIN_ATTR` and `$FILTER` will be replaced by your option values. + +For example, add the following line to LDAP config: + +``` +FILTER = memberOf=CN=group,CN=developers,DC=example,DC=com +``` + +The final search filter would be `(&(mail=*)(memberOf=CN=group,CN=developers,DC=example,DC=com))` + +Note that the case of attribute names in the above example is significant. The `memberOf` attribute is only available in Active Directory. + +### Limiting Seafile Users to a Group in Active Directory + +You can use the FILTER option to limit user scope to a certain AD group. + +1. First, you should find out the DN for the group. Again, we'll use the `dsquery` command on the domain controller. For example, if group name is 'seafilegroup', run `dsquery group -name seafilegroup`. +2. Add the following line to LDAP config: + +``` +FILTER = memberOf={output of dsquery command} +``` + +### Using TLS connection to LDAP/AD server + +To use a TLS connection to the directory server, you should install a valid SSL certificate on the directory server. + +The current version of Seafile Linux server package is compiled on CentOS. We include the ldap client library in the package to maintain compatibility with older Linux distributions. But since different Linux distributions have different path or configuration for OpenSSL library, sometimes Seafile is unable to connect to the directory server with TLS. + +The ldap library (libldap) bundled in the Seafile package is of version 2.4. If your Linux distribution is new enough (like CentOS 6, Debian 7 or Ubuntu 12.04 or above), you can use system's libldap instead. + +On Ubuntu 14.04 and Debian 7/8, moving the bundled ldap related libraries out of the library path should make TLS connection work. + +``` +cd ${SEAFILE_INSTALLATION_DIR}/seafile-server-latest/seafile/lib +mkdir disabled_libs_use_local_ones_instead +mv liblber-2.4.so.2 libldap-2.4.so.2 libsasl2.so.2 libldap_r-2.4.so.2 disabled_libs_use_local_ones_instead/ +``` + +On CentOS 6, you have to move the libnssutil library: + +``` +cd ${SEAFILE_INSTALLATION_DIR}/seafile-server-latest/seafile/lib +mkdir disabled_libs_use_local_ones_instead +mv libnssutil3.so disabled_libs_use_local_ones_instead/ +``` + +This effectively removes the bundled libraries from the library search path. +When the server starts, it'll instead find and use the system libraries (if they are installed). +This change has to be repeated after each update of the Seafile installation. + diff --git a/manual/deploy/using_logrotate.md b/manual/deploy/using_logrotate.md new file mode 100644 index 00000000..e1ee94d6 --- /dev/null +++ b/manual/deploy/using_logrotate.md @@ -0,0 +1,67 @@ +# Set up logrotate for server + +## How it works + +seaf-server, ccnet-server (since version 3.1) and seafile-controller (since version 6.0.8) support reopenning +logfiles by receiving a `SIGUR1` signal. + +This feature is very useful when you need cut logfiles while you don't want +to shutdown the server. All you need to do now is cutting the logfile on the fly. + +## Default logrotate configuration directory + +For debian, the default directory for logrotate should be `/etc/logrotate.d/` + +## Sample configuration + +Assuming your ccnet-server's logfile is `/home/haiwen/logs/ccnet.log` and your +ccnet-server's pidfile for ccnet-server is `/home/haiwen/pids/ccnet.pid`. + +Assuming your seaf-server's logfile is setup to `/home/haiwen/logs/seafile.log` and your +seaf-server's pidfile for seaf-server is setup to `/home/haiwen/pids/seaf-server.pid`: + +The configuration for logrotate could be like this: + +``` +/home/haiwen/logs/seafile.log +{ + daily + missingok + rotate 15 + compress + delaycompress + notifempty + sharedscripts + postrotate + [ ! -f /home/haiwen/pids/seaf-server.pid ] || kill -USR1 `cat /home/haiwen/pids/seaf-server.pid` + endscript +} + +/home/haiwen/logs/ccnet.log +{ + daily + missingok + rotate 15 + compress + delaycompress + notifempty + sharedscripts + postrotate + [ ! -f /home/haiwen/pids/ccnet.pid ] || kill -USR1 `cat /home/haiwen/pids/ccnet.pid` + endscript +} + +/home/haiwen/logs/index.log +{ + monthly + missingok + rotate 15 + compress + delaycompress + notifempty + sharedscripts +} + +``` + +You can save this file, in debian for example, at `/etc/logrotate.d/seafile`. diff --git a/manual/deploy/using_mysql.md b/manual/deploy/using_mysql.md new file mode 100644 index 00000000..90ab235c --- /dev/null +++ b/manual/deploy/using_mysql.md @@ -0,0 +1,361 @@ +# Deploying Seafile with MySQL + +This manual explains how to setup and run Seafile server from a pre-built package with MySQL. + +**Tip:** If you are deploying the Seafile service for the first time, we recommend that you use an [automatic installation script](https://github.com/haiwen/seafile-server-installer) to quickly deploy a Seafile service. + +## Download + +[Download](https://www.seafile.com/en/download) the latest server package. + +## Deploying and Directory Layout + +Supposed you have downloaded `seafile-server_*` into `/opt/seafile/`. We suggest you to use the following layout for your deployment: + +``` +mkdir /opt/seafile +mv seafile-server_* /opt/seafile +cd /opt/seafile +# after moving seafile-server_* to this directory +tar -xzf seafile-server_* +mkdir installed +mv seafile-server_* installed + +``` + +Now you should have the following directory layout + +``` +#tree seafile -L 2 +seafile +├── installed +│   └── seafile-server_7.0.0_x86-64.tar.gz +└── seafile-server-7.0.0 + ├── reset-admin.sh + ├── runtime + ├── seafile + ├── seafile.sh + ├── seahub + ├── seahub.sh + ├── setup-seafile-mysql.sh + └── upgrade + +``` + +The benefit of this layout is that: + +* We can place all the config files for Seafile server inside `/opt/seafile/conf` directory, making it easier to manage. +* When you upgrade to a new version of Seafile, you can simply untar the latest package into `/opt/seafile` directory. In this way you can reuse the existing config files in `/opt/seafile` directory and don't need to configure again. + +## Prepare MySQL Databases + +Three components of Seafile Server need their own databases: + +* ccnet server +* seafile server +* seahub + +See [Seafile Server Components Overview](../overview/components.md) if you want to know more about the Seafile server components. + +There are two ways to intialize the databases: + +* let the `setup-seafile-mysql.sh` script create the databases for you. +* create the databases by yourself, or someone else (the database admin, for example) + +We recommend the first way. The script would ask you for the root password of the mysql server, and it will create: + +* database for ccnet/seafile/seahub. +* a new user to access these databases + +However, sometimes you have to use the second way. If you don't have the root password, you need someone who has the privileges, e.g., the database admin, to create the three databases, as well as a mysql user who can access the three databases for you. For example, to create three databases: `ccnet_db` / `seafile_db` / `seahub_db` for ccnet/seafile/seahub respectively, and a mysql user "seafile" to access these databases run the following SQL queries: + +``` +create database `ccnet_db` character set = 'utf8'; +create database `seafile_db` character set = 'utf8'; +create database `seahub_db` character set = 'utf8'; + +create user 'seafile'@'localhost' identified by 'seafile'; + +GRANT ALL PRIVILEGES ON `ccnet_db`.* to `seafile`@localhost; +GRANT ALL PRIVILEGES ON `seafile_db`.* to `seafile`@localhost; +GRANT ALL PRIVILEGES ON `seahub_db`.* to `seafile`@localhost; + +``` + +## Setting Up Seafile Server + +### Prerequisites + +The Seafile server package requires the following packages to be installed on your system: + +**For Seafile 7.0.x** + +``` +# on Ubuntu 16.04 +apt-get update +apt-get install python2.7 python-setuptools python-mysqldb python-urllib3 python-ldap -y + +``` + +``` +# on CentOS 7 +yum install python python-setuptools MySQL-python python-urllib3 python-ldap -y + +``` + +**For Seafile 7.1.x** + +``` +# on Debian 10/Ubuntu 18.04 +apt-get update +apt-get install python3 python3-setuptools python3-pip -y + +pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \ + django-pylibmc django-simple-captcha python3-ldap + +``` + +``` +# on CentOS 8 +yum install python3 python3-setuptools python3-pip -y + +pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \ + django-pylibmc django-simple-captcha python3-ldap + +``` + +### Setup + +``` +cd seafile-server-* +./setup-seafile-mysql.sh # run the setup script & answer prompted questions + +``` + +If some of the prerequisites are not installed, the Seafile initialization script will ask you to install them. + +The script will guide you through the settings of various configuration options. + +** Seafile configuration options ** + +| Option | Description | Note | +| ------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- | +| server name | Name of this seafile server | 3-15 characters, only English letters, digits and underscore ('\_') are allowed | +| server ip or domain | The IP address or domain name used by this server | Seafile client program will access the server with this address | +| seafile data dir | Seafile stores your data in this directory. By default it'll be placed in the current directory. | The size of this directory will increase as you put more and more data into Seafile. Please select a disk partition with enough free space. | +| fileserver port | The TCP port used by Seafile fileserver | Default is 8082. If it's been used by other service, you can set it to another port. | + +At this moment, you will be asked to choose a way to initialize Seafile databases: + +```sh +------------------------------------------------------- +Please choose a way to initialize Seafile databases: +------------------------------------------------------- + +[1] Create new ccnet/seafile/seahub databases +[2] Use existing ccnet/seafile/seahub databases + +``` + +Which one to choose depends on if you have the root password. + +* If you choose "1", you need to provide the root password. The script would create the databases and a new user to access the databases +* If you choose "2", the ccnet/seafile/seahub databases must have already been created, either by you, or someone else. + +If you choose "\[1] Create new ccnet/seafile/seahub databases", you would be asked these questions: + +| Question | Description | Note | +| ------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------------- | +| mysql server host | the host address of the mysql server | the default is localhost | +| mysql server port | the port of the mysql server | the default is 3306. Almost every mysql server uses this port. | +| root password | the password of mysql root account | the root password is required to create new databases and a new user | +| mysql user for Seafile | the username for Seafile programs to use to access MySQL server | if the user does not exist, it would be created | +| password for Seafile mysql user | the password for the user above | | +| ccnet dabase name | the name of the database used by ccnet, default is "ccnet_db" | the database would be created if not existing | +| seafile dabase name | the name of the database used by Seafile, default is "seafile_db" | the database would be created if not existing | +| seahub dabase name | the name of the database used by seahub, default is "seahub_db" | the database would be created if not existing | + +If you choose "\[2] Use existing ccnet/seafile/seahub databases", you would be asked these questions: + +** related questions for "Use existing ccnet/seafile/seahub databases" ** + +| Question | Description | Note | +| ------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------- | +| mysql server host | the host address of the mysql server | the default is localhost | +| mysql server port | the port of the mysql server | the default is 3306. Almost every mysql server uses this port | +| mysql user for Seafile | the user for Seafile programs to use to access MySQL server | the user must already exists | +| password for Seafile mysql user | the password for the user above | | +| ccnet dabase name | the name of the database used by ccnet, default is "ccnet-db" | this database must already exist | +| seafile dabase name | the name of the database used by Seafile, default is "seafile-db" | this database must already exist | +| seahub dabase name | the name of the database used by Seahub, default is "seahub-db" | this database must already exist | + +If the setup is successful, you'll see the following output + +![server-setup-succesfully](../images/Server-setup-successfully.png) + +Now you should have the following directory layout : + +```sh +#tree seafile -L 2 +seafile +├── ccnet # configuration files +│   ├── mykey.peer +│   ├── PeerMgr +│   └── seafile.ini +├── conf +│ └── ccnet.conf +│ └── seafile.conf +│ └── seahub_settings.py +│ └── gunicorn.conf +├── installed +│   └── seafile-server_7.0.0_x86-64.tar.gz +├── seafile-data +├── seafile-server-7.0.0 # active version +│   ├── reset-admin.sh +│   ├── runtime +│   ├── seafile +│   ├── seafile.sh +│   ├── seahub +│   ├── seahub.sh +│   ├── setup-seafile-mysql.sh +│   └── upgrade +├── seafile-server-latest # symbolic link to seafile-server-7.0.0 +├── seahub-data +│   └── avatars + +``` + +The folder `seafile-server-latest` is a symbolic link to the current Seafile server folder. When later you upgrade to a new version, the upgrade scripts update this link to point to the latest Seafile Server folder. + +## Running Seafile Server + +### Starting Seafile Server and Seahub Website + +Under seafile-server-latest directory, run the following commands + +``` +./seafile.sh start # Start Seafile service +./seahub.sh start # Start seahub website, port defaults to 127.0.0.1:8000 + +``` + +The first time you start Seahub, the script would prompt you to create an admin account for your Seafile Server. + +**Note:** The Seahub service listens on `127.0.0.1:8000` by default. So we recommend that you deploy a reverse proxy service so that other users can access the Seahub service. + +### Deploy a reverse proxy service + +You can choose [Apache](deploy_with_apache.md) or [Nginx](deploy_with_nginx.md) as the reverse proxy service. + +After deployed the reverse proxy service, you may open a web browser and visit Seafile web interface at (assume your server IP is 192.168.1.111): + +``` +http://192.168.1.111/ + +``` + +Congratulations! Now you have successfully setup your private Seafile Server. + +### Run Seahub on another port + +If you want to run Seahub on a port other than the default 8000, say 8001, you must modify the `conf/gunicorn.conf`: + +``` +# default localhost:8000 +bind = "0.0.0.0:8001" + +``` + +Then restart Seafile service: + +``` +./seafile.sh restart +./seahub.sh restart + +``` + +## Stopping and Restarting Seafile and Seahub + +### Stopping + +``` +./seahub.sh stop # stop Seahub website +./seafile.sh stop # stop Seafile processes + +``` + +### Restarting + +``` +./seafile.sh restart +./seahub.sh restart + +``` + +### When the Scripts Fail + +Most of the time, seafile.sh and seahub.sh work fine. But if they fail, you may + +* Use `pgrep` command to check if seafile/seahub processes are still running + + +``` +pgrep -f seafile-controller # check seafile processes +pgrep -f "seahub" # check seahub process + +``` + +* Use `pkill` to kill the processes + + +``` +pkill -f seafile-controller +pkill -f "seahub" + +``` + +## Performance turning + +If you have more than 50 users, we highly recommand you to [add memcached](../deploy/add_memcached.md). This is going to greatly speed up Seahub (the web frontend). + +## Setup in non-interactive way + +Since Seafile Pro Edition version 5.1.4, `setup-seafile-mysql.sh` supports auto mode. You can run the setup script in non-interactive by supplying the needed parameters via script parameters or environment variables. + +```sh +cd seafile-server-* +./setup-seafile-mysql.sh auto [param1] [param2]... + +``` + +Related parameters as follow: + +| Option | Script parameter | Environment variable | Default value | +| ------------------------------- | ---------------- | -------------------- | --------------------------------------------------------------------------------- | +| server name | \-n | SERVER_NAME | hostname -s(short host name) | +| server ip or domain | \-i | SERVER_IP | hostname -i(address for the host name) | +| fileserver port | \-p | FILESERVER_PORT | 8082 | +| seafile data dir | \-d | SEAFILE_DIR | current directory | +| use existing db | \-e | USE_EXISTING_DB | 0(create new db) | +| mysql server host | \-o | MYSQL_HOST | 127.0.0.1 | +| mysql server port | \-t | MYSQL_PORT | 3306 | +| mysql root password | \-r | MYSQL_ROOT_PASSWD | no default value(must be set when create new db) | +| mysql user for seafile | \-u | MYSQL_USER | no default value(must be set) | +| password for seafile mysql user | \-w | MYSQL_USER_PASSWD | no default value(must be set) | +| mysql user host | \-q | MYSQL_USER_HOST | no default value(must be set when create new db and using non local mysql server) | +| ccnet dabase name | \-c | CCNET_DB | ccnet-db | +| seafile dabase name | \-s | SEAFILE_DB | seafile-db | +| seahub dabase name | \-b | SEAHUB_DB | seahub-db | + +**Note: If both script parameter and environment variable assigned, script parameter has higher priority. If neither script parameter nor environment variable assigned, default value will be used.** + +## That's it! + +That's it! Now you may want read more about Seafile. + +* [Deploy Seafile with Nginx](deploy_with_nginx.md) / [Deploy Seafile with Apache](deploy_with_apache.md) +* [Enable Https on Seafile Web with Nginx](https_with_nginx.md) / [Enable Https on Seafile Web with Apache](https_with_apache.md) +* [Configure Seafile to use LDAP](using_ldap.md) +* [How to manage the server](../maintain/README.md) + + diff --git a/manual/deploy/using_sqlite.md b/manual/deploy/using_sqlite.md new file mode 100644 index 00000000..7812c9c8 --- /dev/null +++ b/manual/deploy/using_sqlite.md @@ -0,0 +1,286 @@ +# Deploying Seafile with SQLite + +## Download binary package + +Visit our [download page](http://www.seafile.com/en/download/#server), download the latest server package. + +Choose one of: +- Generic Linux +- Windows +- Server for Raspberry Pi + +``` +#check if your system is x86 (32bit) or x86_64 (64 bit) +uname -m +``` +Click the tarball link and save it. + + +## Deploying and Directory Layout + +NOTE: If you place the Seafile data directory in external storage, such as NFS, CIFS mount, you should not use SQLite as the database, but use MySQL instead. + +Supposed your organization's name is "haiwen", and you've downloaded seafile-server_1.4.0_* into your home directory. We suggest you to use the following layout for your deployment: +```sh +mkdir haiwen +mv seafile-server_* haiwen +cd haiwen +# after moving seafile-server_* to this directory +tar -xzf seafile-server_* +mkdir installed +mv seafile-server_* installed +``` + +Now you should have the following directory layout +```sh +# tree . -L 2 +. +├── installed +│ └── seafile-server_1.4.0_x86-64.tar.gz +└── seafile-server-1.4.0 + ├── reset-admin.sh + ├── runtime + ├── seafile + ├── seafile.sh + ├── seahub + ├── seahub.sh + ├── setup-seafile.sh + └── upgrade +``` + +Benefits of this layout are + + - We can place all the config files for Seafile server inside "haiwen" directory, making it easier to manage. + - When you upgrade to a new version of Seafile, you can simply untar the latest package into "haiwen" directory. In this way you can reuse the existing config files in "haiwen" directory and don't need to configure again. + + +## Setting Up Seafile Server +#### Prerequisites + +The Seafile server package requires the following packages have been installed in your system + +- python 2.7 +- python-setuptools +- python-ldap +- python-urllib3 +- python-requests +- sqlite3 + +``` +#on Debian/Ubuntu 14.04 server +apt-get update +apt-get install python2.7 libpython2.7 python-setuptools python-ldap python-urllib3 sqlite3 python-requests +``` + +``` +# on Ubuntu 16.04 server +# As the default python binary on Ubuntu 16.04 server is python 3, we need to install python (python 2) first. +apt-get update +apt-get install python +apt-get install python2.7 libpython2.7 python-setuptools python-ldap python-urllib3 ffmpeg python-pip sqlite3 python-requests +pip install Pillow==4.3.0 +pip install moviepy # used in movie file thumbnails +``` + +``` +# on CentOS 7 +yum -y install epel-release +rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro +yum -y install MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel python-requests +pip install Pillow==4.3.0 +pip install moviepy # used in movie file thumbnails +``` + +#### Setup + +```sh +cd seafile-server-* +./setup-seafile.sh #run the setup script & answer prompted questions +``` + +If some of the prerequisites are not installed, the Seafile initialization script will ask you to install them. + +The script will guide you through the settings of various configuration options. + +**Seafile configuration options** + +| Option | Description | Note | +| -- | -- | ---- | +| server name | Name of this Seafile server | 3-15 characters, only English letters, digits and underscore ('_') are allowed | +| server ip or domain | The IP address or domain name used by this server | Seafile client program will access the server with this address | +| Seafile data dir | Seafile stores your data in this directory. By default it'll be placed in the current directory. | The size of this directory will increase as you put more and more data into Seafile. Please select a disk partition with enough free space. | +| fileserver port | The TCP port used by Seafile fileserver | Default is 8082. If it's been used by other service, you can set it to another port. | + + +Now you should have the following directory layout: + +```sh +#tree haiwen -L 2 +haiwen +├── ccnet # configuration files +│ ├── mykey.peer +│ ├── PeerMgr +│ └── seafile.ini +├── conf +│ └── ccnet.conf +│ └── seafile.conf +│ └── seahub_settings.py +├── installed +│ └── seafile-server_1.4.0_x86-64.tar.gz +├── seafile-data +├── seafile-server-1.4.0 # active version +│ ├── reset-admin.sh +│ ├── runtime +│ ├── seafile +│ ├── seafile.sh +│ ├── seahub +│ ├── seahub.sh +│ ├── setup-seafile.sh +│ └── upgrade +├── seafile-server-latest # symbolic link to seafile-server-1.4.0 +├── seahub-data +│ └── avatars +├── seahub.db +``` + +The folder seafile-server-latest is a symbolic link to the current Seafile server folder. When later you upgrade to a new version, the upgrade scripts would update this link to keep it always point to the latest Seafile server folder. + +## Running Seafile Server + +#### Before Running + +Since Seafile uses persistent connections between client and server, you should increase Linux file descriptors by ulimit if you have a large number of clients before start Seafile, like: + +``ulimit -n 30000`` + +#### Starting Seafile Server and Seahub Website + +- Start Seafile: +``` +./seafile.sh start # Start Seafile service +``` + +- Start Seahub: +``` +./seahub.sh start # Start Seahub website, port defaults to 8000 +``` + +**Note**: The first time you start Seahub, the script is going to prompt you to create an admin account for your Seafile server. + +After starting the services, you may open a web browser and type in + +``http://192.168.1.111:8000`` + +you will be redirected to the Login page. Just enter the admin username and password. + +**Congratulations!** Now you have successfully setup your private Seafile server. + +#### Run Seahub on another port + +If you want to run Seahub on a port other than the default 8000, say 8001, you must: + +**Seafile 6.2.x and previous versions** + +- stop the Seafile server +``` +./seahub.sh stop +./seafile.sh stop +``` + +- modify the value of SERVICE_URL in the file [ccnet.conf](../config/ccnet-conf.md), like this: (assume your ip or domain is 192.168.1.100). You can also modify SERVICE_URL via web UI in "System Admin->Settings". (**Warning**: if you set the value both via Web UI and ccnet.conf, the setting via Web UI will take precedence.) + +``` +SERVICE_URL = http://192.168.1.100:8001 +``` + +- restart Seafile server +``` +./seafile.sh start +./seahub.sh start 8001 +``` + +See Seafile [Server Configuration Manual](../config/ccnet-conf.md) for more details about ``ccnet.conf``. + +**Seafile 6.3.x and above versions** + +You can assign the port of Seahub by setting the `conf/gunicorn.conf`. + +- stop the Seafile server +``` +./seahub.sh stop +./seafile.sh stop +``` + +- modify the value of SERVICE_URL in the file [ccnet.conf](../config/ccnet-conf.md), like this: (assume your ip or domain is 192.168.1.100). You can also modify SERVICE_URL via web UI in "System Admin->Settings". (**Warning**: if you set the value both via Web UI and ccnet.conf, the setting via Web UI will take precedence.) + +``` +SERVICE_URL = http://192.168.1.100:8001 +``` + +- **modify the conf/gunicorn.conf** + +``` +# default localhost:8000 +bind = "0.0.0.0:8001" +``` + +- restart Seafile server +``` +./seafile.sh start +./seahub.sh start +``` + +See Seafile [Server Configuration Manual](../config/ccnet-conf.md) for more details about ``ccnet.conf``. + +## Manage Seafile and Seahub +#### Stopping +``` +./seahub.sh stop # stop seahub website +./seafile.sh stop # stop seafile processes +``` +#### Restarting +``` +./seafile.sh restart +./seahub.sh restart +``` +#### When the Scripts Fail + +Most of the time, `seafile.sh` and `seahub.sh` work fine. But if they fail, you might want to + +- Use pgrep command to check if Seafile/Seahub processes are still running +``` +pgrep -f seafile-controller # check Seafile processes +pgrep -f "seahub" # check Seahub process +``` + +- Use pkill to kill the processes +``` +pkill -f seafile-controller +pkill -f "seahub" +``` + +## Setup in non-interactive way + +Since Seafile version 5.1.4, `setup-seafile.sh` supports auto mode. You can run the setup script in non-interactive by supply the needed parameters via script parameters or environment variables. + +```sh +cd seafile-server-* +./setup-seafile.sh auto [param1] [param2]... +``` + +Related parameters as follow: + +Option | Script parameter | Environment variable | Default value +--------|--------|--------|-------- +server name | -n | SERVER_NAME | hostname -s(short host name) +server ip or domain | -i |SERVER_IP | hostname -i(address for the host name) +fileserver port | -p | FILESERVER_PORT | 8082 +seafile data dir | -d | SEAFILE_DIR | current directory + +**Note: If both script parameter and environment variable assigned, script parameter has higher priority. If neither script parameter nor environment variable assigned, default value will be used.** + +## That's it! +For a production server we highly recommend to setup with Nginx/Apache and enable SSL/TLS. + +That's it! Now you might want read more about Seafile. +- [Administration](../maintain/README.md) diff --git a/manual/deploy/using_syslog.md b/manual/deploy/using_syslog.md new file mode 100644 index 00000000..1e741b3b --- /dev/null +++ b/manual/deploy/using_syslog.md @@ -0,0 +1,94 @@ +## Configure Seafile to Use Syslog + +Since community edition 5.1.2 and professional edition 5.1.4, Seafile support using Syslog. + +### Configure Syslog for Seafile Controller and Server + +Add following configuration to `general` section in `seafile.conf`: +``` +[general] +enable_syslog = true +``` + +Restart seafile server, you will find follow logs in `/var/log/syslog`: +``` +May 10 23:45:19 ubuntu seafile-controller[16385]: seafile-controller.c(154): starting ccnet-server ... +May 10 23:45:19 ubuntu seafile-controller[16385]: seafile-controller.c(73): spawn_process: ccnet-server -F /home/plt/haiwen/conf -c /home/plt/haiwen/ccnet -f /home/plt/haiwen/logs/ccnet.log -d -P /home/plt/haiwen/pids/ccnet.pid +``` +``` +May 12 01:00:51 ubuntu seaf-server[21552]: ../common/mq-mgr.c(60): [mq client] mq cilent is started +May 12 01:00:51 ubuntu seaf-server[21552]: ../common/mq-mgr.c(106): [mq mgr] publish to hearbeat mq: seaf_server.heartbeat +``` + +### Configure Syslog For Seafevents (Professional Edition only) + +Add following configuration to `seafevents.conf`: +``` +[Syslog] +enabled = true +``` + +Restart seafile server, you will find follow logs in `/var/log/syslog` +``` +May 12 01:00:52 ubuntu seafevents[21542]: [seafevents] database: mysql, name: seahub-pro +May 12 01:00:52 ubuntu seafevents[21542]: seafes enabled: True +May 12 01:00:52 ubuntu seafevents[21542]: seafes dir: /home/plt/pro-haiwen/seafile-pro-server-5.1.4/pro/python/seafes +``` + +### Configure Syslog For Seahub + +Add following configurations to `seahub_settings.py`: + +``` +LOGGING = { + 'version': 1, + 'disable_existing_loggers': True, + 'formatters': { + 'verbose': { + 'format': '%(process)-5d %(thread)d %(name)-50s %(levelname)-8s %(message)s' + }, + 'standard': { + 'format': '%(asctime)s [%(levelname)s] %(name)s:%(lineno)s %(funcName)s %(message)s' + }, + 'simple': { + 'format': '[%(asctime)s] %(name)s %(levelname)s %(message)s', + 'datefmt': '%d/%b/%Y %H:%M:%S' + }, + }, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse', + }, + 'require_debug_true': { + '()': 'django.utils.log.RequireDebugTrue', + }, + }, + 'handlers': { + 'console': { + 'filters': ['require_debug_true'], + 'class': 'logging.StreamHandler', + 'formatter': 'simple' + }, + 'syslog': { + 'class': 'logging.handlers.SysLogHandler', + 'address': '/dev/log', + 'formatter': 'standard' + }, + }, + 'loggers': { + # root logger +        # All logs printed by Seahub and any third party libraries will be handled by this logger. +        '': { + 'handlers': ['console', 'syslog'], + 'level': 'INFO', # Logs when log level is higher than info. Level can be any one of DEBUG, INFO, WARNING, ERROR, CRITICAL. + 'disabled': False + }, + # This logger recorded logs printed by Django Framework. For example, when you see 5xx page error, you should check the logs recorded by this logger. + 'django.request': { + 'handlers': ['console', 'syslog'], + 'level': 'INFO', + 'propagate': False, + }, + }, +} +``` diff --git a/manual/deploy/video_thumbnails.md b/manual/deploy/video_thumbnails.md new file mode 100644 index 00000000..92e04a1c --- /dev/null +++ b/manual/deploy/video_thumbnails.md @@ -0,0 +1,59 @@ +# Video thumbnails + +### Install ffmpeg package + +You need to install ffmpeg package to let the video thumbnail work correctly: + +**Ubuntu 16.04** +``` +# Install ffmpeg +apt-get install ffmpeg + +# Now we need to install some modules +pip install pillow moviepy +``` + +**Centos 7** +``` +# We need to activate the epel repos +yum -y install epel-release +rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro + +# Then update the repo and install ffmpeg +yum -y install ffmpeg ffmpeg-devel + +# Now we need to install some modules +pip install pillow moviepy +``` + +**Debian Jessie** +```python +# Add backports repo to /etc/apt/sources.list +# e.g. the following repo works (June 2017) +deb http://httpredir.debian.org/debian jessie-backports main non-free +deb-src http://httpredir.debian.org/debian jessie-backports main non-free + +# Then update the repo and install ffmpeg +apt-get update +apt-get install ffmpeg + +# Now we need to install some modules +pip install pillow moviepy +``` + +### Configure Seafile to create thumbnails + +Now configure accordingly in `seahub_settings.py` + +```python +# Enable or disable thumbnail for video. ffmpeg and moviepy should be installed first. +# For details, please refer to https://manual.seafile.com/deploy/video_thumbnails.html +# NOTE: since version 6.1 +ENABLE_VIDEO_THUMBNAIL = True + +# Use the frame at 5 second as thumbnail +THUMBNAIL_VIDEO_FRAME_TIME = 5 + +# Absolute filesystem path to the directory that will hold thumbnail files. +THUMBNAIL_ROOT = '/haiwen/seahub-data/thumbnail/thumb/' +``` diff --git a/manual/deploy_pro/README.md b/manual/deploy_pro/README.md new file mode 100644 index 00000000..dda6e3a3 --- /dev/null +++ b/manual/deploy_pro/README.md @@ -0,0 +1,68 @@ +# Deploy Seafile Pro Edition + + +Install Seafile Pro Edition + +- Method 1: [Deploy Seafile with Docker](deploy_with_docker.md) +- Method 2 (For Debian and CentOS 7): [Deploy Seafile with an installation script](https://github.com/haiwen/seafile-server-installer#auto-install-seafile-server-ce-and-pro). The installer offer a quick and easy way to set up a production ready Seafile Server using MariaDB, Memcached and NGINX as a reverse proxy in under 5 minutes. +- Method 3: [Download and Setup Seafile Professional Server Step by Step](download_and_setup_seafile_professional_server.md) + +## LDAP/AD Integration for Pro + +- [Configure LDAP in Seafile Pro](using_ldap_pro.md) +- [Syncing Groups from LDAP/AD](ldap_group_sync.md) +- [Syncing Roles from LDAP/AD](ldap_role_sync.md) + +## Migration and Upgrading + +- [Migrate from Seafile Community Server](migrate_from_seafile_community_server.md) +- [Upgrade Seafile Professional Server](upgrading_seafile_professional_server.md) + +## S3/OpenSwift/Ceph Storage Backends + +- [Setup Seafile Professional Server With Amazon S3](setup_with_amazon_s3.md) +- [Setup Seafile Professional Server With OpenStack Swift](setup_with_swift.md) +- [Setup Seafile Professional Server With Ceph](setup_with_ceph.md) +- [Migrate from File System to Ceph](migrate_to_ceph.md) +- [Storage Backend Encryption](seaf_encrypt.md) +- [Data migration between different backends](migrate.md) + +## Search + +- [Details about File Search](details_about_file_search.md) + +## Online File Preview and Editing + +- [Enable Office/PDF Documents Online Preview](office_documents_preview.md) +- [Integrating with Office Online Server](office_web_app.md) + +## Virus Scan + +- [Virus Scan](virus_scan.md) +- [Virus Scan With Kav4fs](virus_scan_with_kav4fs.md) + +## Cluster + +- [Deploy seafile servers in a cluster](deploy_in_a_cluster.md) +- [Enable search and background tasks in a cluster](enable_search_and_background_tasks_in_a_cluster.md) +- [Setup Seafile cluster with NFS](setup_seafile_cluster_with_nfs.md) +- [Upgrade a cluster](upgrade_a_cluster.md) + +## Advanced User Management + +- [Multi-Institutions Support](multi_institutions.md) +- [Roles and Permissions](roles_permissions.md) + +## Advanced Authentication + +- [Two-factor Authentication](two_factor_authentication.md) +- [ADFS or SAML 2.0](adfs.md) +- [CAS](cas.md) + +## Backup + +- [Real-time Backup Server](real_time_backup.md) + +## Admin Tools + +- [Import Directory to Seafile](seaf_import.md) diff --git a/manual/deploy_pro/adfs.md b/manual/deploy_pro/adfs.md new file mode 100644 index 00000000..622a0056 --- /dev/null +++ b/manual/deploy_pro/adfs.md @@ -0,0 +1,228 @@ +# AD Federation Service or SAML 2.0 Integration + +This documentation describes how to integrate to ADFS with SAML 2.0 protocol. The procedure can also be used to integrate with other SAML 2.0 compliant service with minimal change. + +## Requirements + +To use ADFS to log in to your Seafile, you need the following components: + +1. A Winodws Server with [ADFS](https://technet.microsoft.com/en-us/library/hh831502.aspx) installed. For configuring and installing ADFS you can see [this article](https://msdn.microsoft.com/en-us/library/gg188612.aspx). +2. A valid SSL certificate for ADFS server, and here we use **adfs-server.adfs.com** as the domain name example. +3. A valid SSL certificate for Seafile server, and here we use **demo.seafile.com** as the domain name example. + +## Prepare Certs File + +1、x.509 certs for SP (Service Provider) + +You can generate them by: + +``` +openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout sp.key -out sp.crt + +``` + +These x.509 certs are used to sign and encrypt elements like NameID and Metadata for SAML. + +**Note: Do not use some special characters when generating a certificate** + +2、Then copy these two files to `/seahub-data/certs`. (if the certs folder not exists, create it.) + +1. x.509 cert from IdP (Identity Provider) +2. Log into the ADFS server and open the ADFS management. +3. Double click **Service** and choose **Certificates**. +4. Export the **Token-Signing** certificate: + 1. Right-click the certificate and select **View Certificate**. + 2. Select the **Details** tab. + 3. Click **Copy to File** (select **DER encoded binary X.509**). +5. Convert this certificate to PEM format, rename it to **idp.crt** +6. Then copy it to `/seahub-data/certs`. + +## Prepare IdP Metadata File + +1. Open +2. Save this xml file, rename it to **idp_federation_metadata.xml** +3. Copy it to `/seahub-data/certs`. + +## Install Requirements on Seafile Server + +* For Ubuntu 16.04 + + +``` +sudo apt install libxmlsec1 xmlsec1 +sudo pip install cryptography djangosaml2==0.15.0 + +``` + +## Config Seafile + +Add the following lines to **seahub_settings.py** + +``` +from os import path +import saml2 +import saml2.saml + +CERTS_DIR = '/seahub-data/certs' +SP_SERVICE_URL = 'https://demo.seafile.com' +XMLSEC_BINARY = '/usr/bin/xmlsec1' +ATTRIBUTE_MAP_DIR = '/seafile-server-latest/seahub-extra/seahub_extra/adfs_auth/attribute-maps' +SAML_ATTRIBUTE_MAPPING = { + 'DisplayName': ('display_name', ), + 'ContactEmail': ('contact_email', ), + 'Department': ('department', ), + 'Telephone': ('telephone', ), +} + +ENABLE_ADFS_LOGIN = True +EXTRA_AUTHENTICATION_BACKENDS = ( + 'seahub_extra.adfs_auth.backends.Saml2Backend', +) +SAML_USE_NAME_ID_AS_USERNAME = True +LOGIN_REDIRECT_URL = '/saml2/complete/' +SAML_CONFIG = { + # full path to the xmlsec1 binary programm + 'xmlsec_binary': XMLSEC_BINARY, + + 'allow_unknown_attributes': True, + + # your entity id, usually your subdomain plus the url to the metadata view + 'entityid': SP_SERVICE_URL + '/saml2/metadata/', + + # directory with attribute mapping + 'attribute_map_dir': ATTRIBUTE_MAP_DIR, + + # this block states what services we provide + 'service': { + # we are just a lonely SP + 'sp' : { + "allow_unsolicited": True, + 'name': 'Federated Seafile Service', + 'name_id_format': saml2.saml.NAMEID_FORMAT_EMAILADDRESS, + 'endpoints': { + # url and binding to the assetion consumer service view + # do not change the binding or service name + 'assertion_consumer_service': [ + (SP_SERVICE_URL + '/saml2/acs/', + saml2.BINDING_HTTP_POST), + ], + # url and binding to the single logout service view + # do not change the binding or service name + 'single_logout_service': [ + (SP_SERVICE_URL + '/saml2/ls/', + saml2.BINDING_HTTP_REDIRECT), + (SP_SERVICE_URL + '/saml2/ls/post', + saml2.BINDING_HTTP_POST), + ], + }, + + # attributes that this project need to identify a user + 'required_attributes': ["uid"], + + # attributes that may be useful to have but not required + 'optional_attributes': ['eduPersonAffiliation', ], + + # in this section the list of IdPs we talk to are defined + 'idp': { + # we do not need a WAYF service since there is + # only an IdP defined here. This IdP should be + # present in our metadata + + # the keys of this dictionary are entity ids + 'https://adfs-server.adfs.com/federationmetadata/2007-06/federationmetadata.xml': { + 'single_sign_on_service': { + saml2.BINDING_HTTP_REDIRECT: 'https://adfs-server.adfs.com/adfs/ls/idpinitiatedsignon.aspx', + }, + 'single_logout_service': { + saml2.BINDING_HTTP_REDIRECT: 'https://adfs-server.adfs.com/adfs/ls/?wa=wsignout1.0', + }, + }, + }, + }, + }, + + # where the remote metadata is stored + 'metadata': { + 'local': [path.join(CERTS_DIR, 'idp_federation_metadata.xml')], + }, + + # set to 1 to output debugging information + 'debug': 1, + + # Signing + 'key_file': '', + 'cert_file': path.join(CERTS_DIR, 'idp.crt'), # from IdP + + # Encryption + 'encryption_keypairs': [{ + 'key_file': path.join(CERTS_DIR, 'sp.key'), # private part + 'cert_file': path.join(CERTS_DIR, 'sp.crt'), # public part + }], + + 'valid_for': 24, # how long is our metadata valid +} + +``` + +**Note: Users running the Seafile program should have permission to read all files under **`seahub-data/certs`**.** + +## **Role Map for ADFS** + +Since Pro 7.0.9, you are able to set user role with ADFS as with [Shibboleth](https://download.seafile.com/published/seafile-manual/deploy/shibboleth_config.md#user-content-Affiliation%20and%20user%20role). Details about user role, please refer to [role permissions](https://download.seafile.com/published/seafile-manual/deploy_pro/roles_permissions.md). + +To enable this, add the following configuration information to `seahub_settings.py` to define the role mapping: + +``` +SHIBBOLETH_AFFILIATION_ROLE_MAP = { + 'role@lian-adfs.local': 'can_generate_upload_link_false', + 'role1@lian-adfs.local': 'guest', + 'patterns': ( + ('*@lian-adfs.local', 'guest1'), + ('*@*.local', 'guest2'), + ('*', 'guest3'), + ), +} + +``` + +## Config ADFS Server + +1. Add **Relying Party Trust** + + Relying Party Trust is the connection between Seafile and ADFS. + +1. Log into the ADFS server and open the ADFS management. +2. Double click **Trust Relationships**, then right click **Relying Party Trusts**, select **Add Relying Party Trust…**. +3. Select **Import data about the relying party published online or one a local network**, input `https://demo.seafile.com/saml2/metadata/` in the **Federation metadata address**. +4. Then **Next** until **Finish**. +5. Add **Relying Party Claim Rules** + + Relying Party Claim Rules is used for attribute communication between Seafile and users in Windows Domain. + + **Important**: Users in Windows domain must have the **E-mail** value setted. + +1. Right-click on the relying party trust and select **Edit Claim Rules...** +2. On the Issuance Transform Rules tab select **Add Rules...** +3. Select **Send LDAP Attribute as Claims** as the claim rule template to use. +4. Give the claim a name such as LDAP Attributes. +5. Set the Attribute Store to **Active Directory**, the LDAP Attribute to **E-Mail-Addresses**, and the Outgoing Claim Type to **E-mail Address**. +6. Select **Finish**. +7. Click **Add Rule...** again. +8. Select **Transform an Incoming Claim**. +9. Give it a name such as **Email to Name ID**. +10. Incoming claim type should be **E-mail Address** (it must match the Outgoing Claim Type in rule #1). +11. The Outgoing claim type is **Name ID** (this is requested in Seafile settings policy `'name_id_format': saml2.saml.NAMEID_FORMAT_EMAILADDRESS`). +12. the Outgoing name ID format is **Email**. +13. **Pass through all claim values** and click **Finish**. + +## Test + +After re-starting the services, you may open a web browser and type in `https://demo.seafile.com`, there should be a `ADFS` button in login dialog, click that button will redirect you to the ADFS server (adfs-server.adfs.com), if username and password are correct, you will be redirect back to Seafile home page. + +For descktop client, simply click "Shibboleth Login" in "Add a new account" window, type in `https://demo.seafile.com`, click OK button will open a new window display ADFS server login page, if username and password are correct, the window will be closed and show Seafile libraries panel. + +* +* +* + + diff --git a/manual/deploy_pro/admin_roles_permissions.md b/manual/deploy_pro/admin_roles_permissions.md new file mode 100644 index 00000000..0b220137 --- /dev/null +++ b/manual/deploy_pro/admin_roles_permissions.md @@ -0,0 +1,46 @@ +# Roles and Permissions Support + +Starting from version 6.2.2, you can add/edit roles and permission for administrators. Seafile has four build-in admin roles: + + 1. default_admin, has all permissions. + + 1. system_admin, can only view system info and config system. + + 1. daily_admin, can only view system info, view statistic, manage library/user/group, view user log. + + 1. audit_admin, can only view system info and admin log. + +All administrators will have `default_admin` role with all permissions by default. If you set an administrator to some other admin role, the administrator will **only have the permissions you configured to `True`**. + +Seafile supports eight permissions for now, its configuration is very like common user role, you can custom it by adding the following settings to `seahub_settings.py`. + +``` +ENABLED_ADMIN_ROLE_PERMISSIONS = { + 'system_admin': { + 'can_view_system_info': True, + 'can_config_system': True, + }, + 'daily_admin': { + 'can_view_system_info': True, + 'can_view_statistic': True, + 'can_manage_library': True, + 'can_manage_user': True, + 'can_manage_group': True, + 'can_view_user_log': True, + }, + 'audit_admin': { + 'can_view_system_info': True, + 'can_view_admin_log': True, + }, + 'custom_admin': { + 'can_view_system_info': True, + 'can_config_system': True, + 'can_view_statistic': True, + 'can_manage_library': True, + 'can_manage_user': True, + 'can_manage_group': True, + 'can_view_user_log': True, + 'can_view_admin_log': True, + }, +} +``` diff --git a/manual/deploy_pro/cas.md b/manual/deploy_pro/cas.md new file mode 100644 index 00000000..328a10c1 --- /dev/null +++ b/manual/deploy_pro/cas.md @@ -0,0 +1,35 @@ +# Log In By CAS (Deprecated) + +> New in 2019: CAS is not recommend way for SSO. The third party Python library is not well maintained. SAML2 is much better. + +Since Seafile-pro 6.3.0, Seafile supports CAS single-sign-on protocol. + +NOTE: The support for CAS protocol is deprecated due to low maintenance of third-party library. Please use OAuth or SAML protocol. + +## Requirements + +Supposed you have a usable CAS service, and the service can be accessed by the `https://:/cas/`. + +## configure seahub_settings.py + +* Add the following lines in `conf/seahub_settings.py` + + +``` +ENABLE_CAS = True +CAS_SERVER_URL = 'https://192.168.99.100:8443/cas/' +CAS_LOGOUT_COMPLETELY = True +# Uncomment following line if CAS server is using self-signed certificate +#CAS_SERVER_CERT_VERIFY = False + +``` + +* Restart the seahub + + +``` +./seahub.sh restart + +``` + +Now, you can login to Seafile web interface with CAS authentication. Please click the "Single Sign-on" on the Seafile's login page. diff --git a/manual/deploy_pro/change_default_java.md b/manual/deploy_pro/change_default_java.md new file mode 100644 index 00000000..60104b6f --- /dev/null +++ b/manual/deploy_pro/change_default_java.md @@ -0,0 +1,25 @@ + +When you have both Java 6 and Java 7 installed, the default Java may not be Java 7. + +Do this by typing `java -version`, and check the output. + +- If the output is like **"java version "1.7.0_xx"**, then the default Java is Java 7, which is good. +- If the output is like **"java version "1.6.0_xx"**, then the default Java is Java 6, we need to configure default Java to Java 7. + +If the default Java is Java 6, then do + +On Debian/Ubuntu: +``` +sudo update-alternatives --config java +``` + +On CentOS/RHEL: +``` +sudo alternatives --config java +``` + +The above command will ask you to choose one of the installed Java versions as default. You should choose Java 7 here. + +After that, re-run `java -version` to make sure the change has taken effect. + +[Reference link](http://unix.stackexchange.com/questions/35185/installing-openjdk-7-jdk-does-not-update-java-which-is-still-version-1-6) diff --git a/manual/deploy_pro/config_seafile_with_ADFS.md b/manual/deploy_pro/config_seafile_with_ADFS.md new file mode 100644 index 00000000..8d8cce58 --- /dev/null +++ b/manual/deploy_pro/config_seafile_with_ADFS.md @@ -0,0 +1,221 @@ +### Requirements + +To use ADFS to log in to your Seafile, you need the following components: + +1. A Winodws Server with [ADFS](https://technet.microsoft.com/en-us/library/hh831502.aspx) installed. For configuring and installing ADFS you can see [this article](https://msdn.microsoft.com/en-us/library/gg188612.aspx). + +1. A valid SSL certificate for ADFS server, and here we use **adfs-server.adfs.com** as the domain name example. + +1. A valid SSL certificate for Seafile server, and here we use **demo.seafile.com** as the domain name example. + +### Prepare Certs File + +1. x.509 certs for SP (Service Provider) + + You can generate them by: + + ``` +openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout sp.key -out sp.crt +``` + + These x.509 certs are used to sign and encrypt elements like NameID and Metadata for SAML. + + Then copy these two files to **/seahub-data/certs**. (if the certs folder not exists, create it.) + +2. x.509 cert from IdP (Identity Provider) + + 1. Log into the ADFS server and open the ADFS management. + + 1. Double click **Service** and choose **Certificates**. + + 1. Export the **Token-Signing** certificate: + + 1. Right-click the certificate and select **View Certificate**. + 1. Select the **Details** tab. + 1. Click **Copy to File** (select **DER encoded binary X.509**). + + 1. Convert this certificate to PEM format, rename it to **idp.crt** + + 1. Then copy it to **/seahub-data/certs**. + +### Prepare IdP Metadata File + +1. Open https://adfs-server.adfs.com/federationmetadata/2007-06/federationmetadata.xml + +1. Save this xml file, rename it to **idp_federation_metadata.xml** + +1. Copy it to **/seahub-data/certs**. + +### Install Requirements on Seafile Server + +- For Ubuntu 16.04 +``` +sudo apt install xmlsec1 +sudo pip install cryptography djangosaml2==0.15.0 +``` + +### Config Seafile + +Add the following lines to **seahub_settings.py** + +``` +from os import path +import saml2 +import saml2.saml + +# update following lines according to your situation +CERTS_DIR = '/seahub-data/certs' +SP_SERVICE_URL = 'https://demo.seafile.com' +XMLSEC_BINARY = '/usr/local/bin/xmlsec1' +ATTRIBUTE_MAP_DIR = '/seafile-server-latest/seahub-extra/seahub_extra/adfs_auth/attribute-maps' +SAML_ATTRIBUTE_MAPPING = { + 'DisplayName': ('display_name', ), + 'ContactEmail': ('contact_email', ), + 'Deparment': ('department', ), + 'Telephone': ('telephone', ), +} + +# update the 'idp' section in SAMPL_CONFIG according to your situation, and leave others as default +ENABLE_ADFS_LOGIN = True +EXTRA_AUTHENTICATION_BACKENDS = ( + 'seahub_extra.adfs_auth.backends.Saml2Backend', +) +SAML_USE_NAME_ID_AS_USERNAME = True +LOGIN_REDIRECT_URL = '/saml2/complete/' +SAML_CONFIG = { + # full path to the xmlsec1 binary programm + 'xmlsec_binary': XMLSEC_BINARY, + + 'allow_unknown_attributes': True, + + # your entity id, usually your subdomain plus the url to the metadata view + 'entityid': SP_SERVICE_URL + '/saml2/metadata/', + + # directory with attribute mapping + 'attribute_map_dir': ATTRIBUTE_MAP_DIR, + + # this block states what services we provide + 'service': { + # we are just a lonely SP + 'sp' : { + "allow_unsolicited": True, + 'name': 'Federated Seafile Service', + 'name_id_format': saml2.saml.NAMEID_FORMAT_EMAILADDRESS, + 'endpoints': { + # url and binding to the assetion consumer service view + # do not change the binding or service name + 'assertion_consumer_service': [ + (SP_SERVICE_URL + '/saml2/acs/', + saml2.BINDING_HTTP_POST), + ], + # url and binding to the single logout service view + # do not change the binding or service name + 'single_logout_service': [ + (SP_SERVICE_URL + '/saml2/ls/', + saml2.BINDING_HTTP_REDIRECT), + (SP_SERVICE_URL + '/saml2/ls/post', + saml2.BINDING_HTTP_POST), + ], + }, + + # attributes that this project need to identify a user + 'required_attributes': ["uid"], + + # attributes that may be useful to have but not required + 'optional_attributes': ['eduPersonAffiliation', ], + + # in this section the list of IdPs we talk to are defined + 'idp': { + # we do not need a WAYF service since there is + # only an IdP defined here. This IdP should be + # present in our metadata + + # the keys of this dictionary are entity ids + 'https://adfs-server.adfs.com/federationmetadata/2007-06/federationmetadata.xml': { + 'single_sign_on_service': { + saml2.BINDING_HTTP_REDIRECT: 'https://adfs-server.adfs.com/adfs/ls/idpinitiatedsignon.aspx', + }, + 'single_logout_service': { + saml2.BINDING_HTTP_REDIRECT: 'https://adfs-server.adfs.com/adfs/ls/?wa=wsignout1.0', + }, + }, + }, + }, + }, + + # where the remote metadata is stored + 'metadata': { + 'local': [path.join(CERTS_DIR, 'idp_federation_metadata.xml')], + }, + + # set to 1 to output debugging information + 'debug': 1, + + # Signing + 'key_file': '', + 'cert_file': path.join(CERTS_DIR, 'idp.crt'), # from IdP + + # Encryption + 'encryption_keypairs': [{ + 'key_file': path.join(CERTS_DIR, 'sp.key'), # private part + 'cert_file': path.join(CERTS_DIR, 'sp.crt'), # public part + }], + + 'valid_for': 24, # how long is our metadata valid +} + +``` + +### Config ADFS Server + +1. Add **Relying Party Trust** + + Relying Party Trust is the connection between Seafile and ADFS. + + 1. Log into the ADFS server and open the ADFS management. + + 1. Double click **Trust Relationships**, then right click **Relying Party Trusts**, select **Add Relying Party Trust…**. + + 1. Select **Import data about the relying party published online or one a local network**, input `https://demo.seafile.com/saml2/metadata/ ` in the **Federation metadata address**. + + 1. Then **Next** until **Finish**. + +1. Add **Relying Party Claim Rules** + + Relying Party Claim Rules is used for attribute communication between Seafile and users in Windows Domain. + + **Important**: Users in Windows domain must have the **E-mail** value setted. + + 1. Right-click on the relying party trust and select **Edit Claim Rules...** + + 1. On the Issuance Transform Rules tab select **Add Rules...** + + 1. Select **Send LDAP Attribute as Claims** as the claim rule template to use. + + 1. Give the claim a name such as LDAP Attributes. + + 1. Set the Attribute Store to **Active Directory**, the LDAP Attribute to **E-Mail-Addresses**, and the Outgoing Claim Type to **E-mail Address**. + + 1. Select **Finish**. + + 1. Click **Add Rule...** again. + + 1. Select **Transform an Incoming Claim**. + + 1. Give it a name such as **Email to Name ID**. + + 1. Incoming claim type should be **E-mail Address** (it must match the Outgoing Claim Type in rule #1). + + 1. The Outgoing claim type is **Name ID** (this is requested in Seafile settings policy ` 'name_id_format': saml2.saml.NAMEID_FORMAT_EMAILADDRESS`). + + 1. the Outgoing name ID format is **Email**. + + 1. **Pass through all claim values** and click **Finish**. + +---- + +- https://support.zendesk.com/hc/en-us/articles/203663886-Setting-up-single-sign-on-using-Active-Directory-with-ADFS-and-SAML-Plus-and-Enterprise- + +- http://wiki.servicenow.com/?title=Configuring_ADFS_2.0_to_Communicate_with_SAML_2.0#gsc.tab=0 + +- https://github.com/rohe/pysaml2/blob/master/src/saml2/saml.py diff --git a/manual/deploy_pro/deploy_clamav_as_daemon.md b/manual/deploy_pro/deploy_clamav_as_daemon.md new file mode 100644 index 00000000..03604402 --- /dev/null +++ b/manual/deploy_pro/deploy_clamav_as_daemon.md @@ -0,0 +1,148 @@ +# Run ClamAV as a Daemon + +## For Ubuntu 16.04 + +### Install clamav-daemon & clamav-freshclam + +``` +apt-get install clamav-daemon clamav-freshclam +``` + +You should run Clamd with a root permission to scan any files. +Edit the conf `/etc/clamav/clamd.conf`,change the following line: + +``` +LocalSocketGroup root +User root +``` + +### Start the clamav-daemon + +``` +systemctl start clamav-daemon +``` + +* Test the software + +``` +$ curl https://www.eicar.org/download/eicar.com.txt | clamdscan - +``` + +The output must include: + +``` +stream: Eicar-Test-Signature FOUND +``` + +## For CentOS 7 + +### Install Clamd + +``` +yum install epel-release +yum install clamav-server clamav-data clamav-filesystem clamav-lib clamav-update clamav clamav-devel +``` + +### Run freshclam + +* Configure the freshclam to updating database + +``` +cp /etc/freshclam.conf /etc/freshclam.conf.bak +sed -i '/^Example/d' /etc/freshclam.conf +``` + +* Create the init script + +``` +cat > /usr/lib/systemd/system/clam-freshclam.service << 'EOF' +# Run the freshclam as daemon +[Unit] +Description = freshclam scanner +After = network.target + +[Service] +Type = forking +ExecStart = /usr/bin/freshclam -d -c 4 +Restart = on-failure +PrivateTmp = true + +[Install] +WantedBy=multi-user.target + +EOF +``` + +* Boot up + +``` +systemctl enable clam-freshclam.service +systemctl start clam-freshclam.service +``` + +### Configure Clamd + +``` +cp /usr/share/clamav/template/clamd.conf /etc/clamd.conf +sed -i '/^Example/d' /etc/clamd.conf +``` + +You should run Clamd with a root permission to scan any files. +Edit the `/etc/clamd.conf`,change the following line: + +``` +User root +... +LocalSocket /var/run/clamd.sock +``` + +### Run Clamd + +* Create the init script + +``` +cat > /etc/init.d/clamd << 'EOF' +case "$1" in + start) + echo -n "Starting Clam AntiVirus Daemon... " + /usr/sbin/clamd + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/clamd + ;; + stop) + echo -n "Stopping Clam AntiVirus Daemon... " + pkill clamd + rm -f /var/run/clamav/clamd.sock + rm -f /var/run/clamav/clamd.pid + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/clamd + ;; +esac + +EOF +``` + +``` +chmod +x /etc/init.d/clamd +``` + +* Boot up + +``` +chkconfig clamd on +service clamd start +``` + +* Test the software + +``` +$ curl https://www.eicar.org/download/eicar.com.txt | clamdscan - +``` + +The output must include: + +``` +stream: Eicar-Test-Signature FOUND +``` \ No newline at end of file diff --git a/manual/deploy_pro/deploy_in_a_cluster.md b/manual/deploy_pro/deploy_in_a_cluster.md new file mode 100644 index 00000000..f862ee89 --- /dev/null +++ b/manual/deploy_pro/deploy_in_a_cluster.md @@ -0,0 +1,397 @@ +# Deploy in a cluster + +**Update**: Since Seafile Pro server 6.0.0, cluster deployment requires "sticky session" settings in the load balancer. Otherwise sometimes folder download on the web UI can't work properly. Read the "Load Balancer Setting" section below for details + +## Architecture + +The Seafile cluster solution employs a 3-tier architecture: + +* Load balancer tier: Distribute incoming traffic to Seafile servers. HA can be achieved by deploying multiple load balancer instances. +* Seafile server cluster: a cluster of Seafile server instances. If one instance fails, the load balancer will stop handing traffic to it. So HA is achieved. +* Backend storage: Distributed storage cluster, e.g. S3, Openstack Swift or Ceph. + +This architecture scales horizontally. That means, you can handle more traffic by adding more machines. The architecture is visualized in the following picture. + +![seafile-cluster](../images/seafile-cluster-arch.png) + +There are two main components on the Seafile server node: web server (Nginx/Apache) and Seafile app server. The web server passes requests from the clients to Seafile app server. The Seafile app servers work independently. They don't know about each other's state. That means each app server can fail independently without affecting other app server instances. The load balancer is responsible for detecting failure and re-routing requests. + +Even though Seafile app servers work independently, they still have to share some session information. All shared session information is stored in memcached. Thus, all Seafile app servers have to connect to the same memcached server (cluster). More details about memcached configuration is available later. + +The background server is the workhorse for various background tasks, including full-text indexing, office file preview, virus scanning, LDAP syncing. It should usually be run on a dedicated server for better performance. Currently only one background task server can be running in the entire cluster. If more than one background servers are running, they may conflict with each others when doing some tasks. If you need HA for background task server, you can consider using [Keepalived](http://www.keepalived.org/) to build a hot backup for it. More details can be found in [background server setup](enable_search_and_background_tasks_in_a_cluster.md). + +All Seafile app servers access the same set of user data. The user data has two parts: One in the MySQL database and the other one in the backend storage cluster (S3, Ceph etc.). All app servers serve the data equally to the clients. + +All app servers have to connect to the same database or database cluster. We recommend to use MariaDB Galera Cluster if you need a database cluster. + +There are a few steps to deploy a Seafile cluster: + +1. Prepare hardware, operating systems, memcached and database +2. Setup a single Seafile server node +3. Copy the deployment to other Seafile nodes +4. Setup Nginx/Apache and firewall rules +5. Setup load balancer +6. [Setup backgroup task node](enable_search_and_background_tasks_in_a_cluster.md) + +## Preparation + +### Hardware, Database, Memcached + +At least 3 Linux server with at least 4 cores, 8GB RAM. Two servers work as frontend servers, while one server works as background task server. Virtual machines are sufficient for most cases. + +In small cluster, you can re-use the 3 Seafile servers to run memcached cluster and MariaDB cluster. For larger clusters, you can have 3 more dedicated server to run memcached cluster and MariaDB cluster. Because the load on these two clusters are not high, they can share the hardware to save cost. Documentation about how to setup memcached cluster and MariaDB cluster can be found [here](memcached_mariadb_cluster.md) + +### Install Python libraries + +On each mode, you need to install some python libraries. + +First make sure your have installed Python 2.7, then: + +``` +sudo easy_install pip +sudo pip install boto + +``` + +If you receive an error stating "Wheel installs require setuptools >= ...", run this between the pip and boto lines above + +``` +sudo pip install setuptools --no-use-wheel --upgrade + +``` + +## Configure a Single Node + +You should make sure the config files on every Seafile server are consistent. + +### Get the license + +Put the license you get under the top level diretory. In our wiki, we use the diretory `/data/haiwen/` as the top level directory. + +### Download/Uncompress Seafile Professional Server + +``` +tar xf seafile-pro-server_6.1.3_x86-64.tar.gz + +``` + +Now you have: + +``` +haiwen +├── seafile-license.txt +└── seafile-pro-server-6.1.3/ + +``` + +### Setup Seafile + +Please follow [Download and Setup Seafile Professional Server With MySQL](download_and_setup_seafile_professional_server.md) to setup a single Seafile server node. + +Note: **Use the load balancer's address or domain name for the server address. Don't use the local IP address of each Seafile server machine. This assures the user will always access your service via the load balancers.** + +After the setup process is done, you still have to do a few manual changes to the config files. + +#### seafile.conf + +If you use a single memcached server, you have to add the following configuration to `seafile.conf` + +``` +[cluster] +enabled = true +memcached_options = --SERVER=192.168.1.134 --POOL-MIN=10 --POOL-MAX=100 + +``` + +If you use memcached cluster, the way you setup the memcached cluster and the way to configure it in seafile.conf depend on your Seafile server version. The recommended way to setup memcached clusters can be found [here](memcached_mariadb_cluster.md). + +**Memcached Configuration before Seafile Pro 6.2.11** + +For Seafile server older than 6.2.11, you need to specify all the memcached server addresses in seafile.conf. The format is + +``` +[cluster] +enabled = true +memcached_options = --SERVER=192.168.1.134 --SERVER=192.168.1.135 --SERVER=192.168.1.136 --POOL-MIN=10 --POOL-MAX=100 --RETRY-TIMEOUT=3600 + +``` + +Notice that there is a `--RETRY-TIMEOUT=3600` option in the above config. This option is important for dealing with memcached server failures. After a memcached server in the cluster fails, Seafile server will stop trying to use it for "RETRY-TIMEOUT" (in seconds). You should set this timeout to relatively long time, to prevent Seafile from retrying the failed server frequently, which may lead to frequent request errors for the clients. + +**Memcached Configuration after Seafile Pro 6.2.11** + +Since version 6.2.11, the recommended way to setup memcached cluster has been changed. You'll setup two memcached server, in active/standby mode. A floating IP address will be assigned to the current active memcached node. So you have to configure the address in seafile.conf accordingly. + +``` +[cluster] +enabled = true +memcached_options = --SERVER= --POOL-MIN=10 --POOL-MAX=100 + +``` + +(Optional) The Seafile server also opens a port for the load balancers to run health checks. Seafile by default uses port 11001. You can change this by adding the following config option to `seafile.conf` + +``` +[cluster] +health_check_port = 12345 + +``` + +#### seahub_settings.py + +You must setup and use memcached when deploying Seafile cluster. Refer to ["add memcached"](../deploy/add_memcached.md) to use memcached in Seahub. + +Also add following options to seahub_setting.py. These settings tell Seahub to store avatar in database and cache avatar in memcached, and store css CACHE to local memory. + +``` +AVATAR_FILE_STORAGE = 'seahub.base.database_storage.DatabaseStorage' + +``` + +#### seafevents.conf + +Add following to `seafevents.conf` to disable file indexing service on the local server. The file indexing service should be started on a dedicated background server. + +``` +[INDEX FILES] +external_es_server = true + +``` + +Here is an example `[INDEX FILES]` section: + +``` +[INDEX FILES] +enabled = true +interval = 10m +highlight = fvh # This configuration is only available for Seafile 6.3.0 pro and above. +index_office_pdf = true +external_es_server = true +es_host = background.seafile.com +es_port = 9200 + +``` + +Note: `enable = true` should be left unchanged. For versions older than 6.1, `es_port` was 9500. + +### Update Seahub Database + +In cluster environment, we have to store avatars in the database instead of in a local disk. + +``` +CREATE TABLE `avatar_uploaded` (`filename` TEXT NOT NULL, `filename_md5` CHAR(32) NOT NULL PRIMARY KEY, `data` MEDIUMTEXT NOT NULL, `size` INTEGER NOT NULL, `mtime` datetime NOT NULL); + +``` + +### Backend Storage Settings + +You also need to add the settings for backend cloud storage systems to the config files. + +* For NFS: [Setup Seafile cluster with NFS](setup_seafile_cluster_with_nfs.md) +* For S3: [Setup With Amazon S3](setup_with_amazon_s3.md) +* For OpenStack Swift: [Setup With OpenStackSwift](setup_with_openstackswift.md) +* For Ceph: [Setup With Ceph](setup_with_ceph.md) + +### Run and Test the Single Node + +Once you have finished configuring this single node, start it to test if it runs properly: + +``` +cd /data/haiwen/seafile-server-latest +./seafile.sh start +./seahub.sh start + +``` + +_Note:_ The first time you start seahub, the script would prompt you to create an admin account for your Seafile server. + +Open your browser, visit and login with the admin account. + +## Configure other nodes + +Now you have one node working fine, let's continue to configure more nodes. + +### Copy the config to all Seafile servers + +Supposed your Seafile installation directory is `/data/haiwen`, compress this whole directory into a tarball and copy the tarball to all other Seafile server machines. You can simply uncompress the tarball and use it. + +On each node, run `./seafile.sh` and `./seahub.sh` to start Seafile server. + +## Setup Nginx/Apache and Https + +You'll usually want to use Nginx/Apache and https for web access. You need to set it up on each machine running Seafile server. **Make sure the certificate on all the servers are the same.** + +* For Nginx: + * [Config Seahub with Nginx](../deploy/deploy_with_nginx.md) + * [Enabling Https with Nginx](../deploy/https_with_nginx.md) +* For Apache: + * [Config Seahub with Apache](../deploy/deploy_with_apache.md) + * [Enabling Https with Apache](../deploy/https_with_apache.md) + +## Start Seafile Service on boot + +It would be convenient to setup Seafile service to start on system boot. Follow [this documentation](../deploy/start_seafile_at_system_bootup.md) to set it up on **all nodes**. + +## Firewall Settings + +Beside [standard ports of a seafile server](../deploy/using_firewall.md), there are 2 firewall rule changes for Seafile cluster: + +* On each Seafile server machine, you should open the health check port (default 11001); +* On the memcached server, you should open the port 11211. For security resons only the Seafile servers should be allowed to access this port. + +## Load Balancer Setting + +Now that your cluster is already running, fire up the load balancer and welcome your users. Since version 6.0.0, Seafile Pro requires "sticky session" settings in the load balancer. You should refer to the manual of your load balancer for how to set up sticky sessions. + +### AWS Elastic Load Balancer (ELB) + +In the AWS ELB management console, after you've added the Seafile server instances to the instance list, you should do two more configurations. + +First you should setup HTTP(S) listeners. Ports 443 and 80 of ELB should be forwarded to the ports 80 or 443 of the Seafile servers. + +Then you setup health check + +![elb-health-check](../images/elb-health-check.png) + +Refer to [AWS documentation](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html) about how to setup sticky sessions. + +### HAProxy + +This is a sample `/etc/haproxy/haproxy.cfg`: + +(Assume your health check port is `11001`) + +``` +global + log 127.0.0.1 local1 notice + maxconn 4096 + user haproxy + group haproxy + +defaults + log global + mode http + retries 3 + maxconn 2000 + timeout connect 10000 + timeout client 300000 + timeout server 300000 + +listen seafile 0.0.0.0:80 + mode http + option httplog + option dontlognull + option forwardfor + cookie SERVERID insert indirect nocache + server seafileserver01 192.168.1.165:80 check port 11001 cookie seafileserver01 + server seafileserver02 192.168.1.200:80 check port 11001 cookie seafileserver02 + +``` + +## See how it runs + +Now you should be able to test your cluster. Open in your browser and enjoy. You can also synchronize files with Seafile clients. + +If the above works, the next step would be [Enable search and background tasks in a cluster](enable_search_and_background_tasks_in_a_cluster.md). + +## The final configuration of the front-end nodes + +Here is the summary of configurations at the front-end node that related to cluster setup. + +### 7.0 or older versions + +For **seafile.conf**: + +``` +[cluster] +enabled = true +memcached_options = --SERVER= --POOL-MIN=10 --POOL-MAX=100 + +``` + +The `enabled` option will prevent the start of background tasks by `./seafile.sh start` in the front-end node. The tasks should be explicitly started by `./seafile-background-tasks.sh start` at the back-end node. + +For **seahub_settings.py**: + +``` +AVATAR_FILE_STORAGE = 'seahub.base.database_storage.DatabaseStorage' + +OFFICE_CONVERTOR_ROOT = 'http://' + +``` + +For **seafevents.conf**: + +``` +[INDEX FILES] +enabled = true +interval = 10m +highlight = fvh # This configuration is only available for Seafile 6.3.0 pro and above. +external_es_server = true +es_host = +es_port = 9200 + +[OFFICE CONVERTER] +enabled = true +workers = 1 +## how many pages are allowed to be previewed online. Default is 50 pages +max-pages = 50 +## the max size of documents allowed to be previewed online, in MB. Default is 10 MB +## Previewing a large file (for example >30M) online is likely going to freeze the browser. +max-size = 10 + +``` + +The `[INDEX FILES]` section is needed to let the front-end node know the file search feature is enabled. The `external_es_server = true` is to tell the front-end node not to start the ElasticSearch but to use the ElasticSearch server at the back-end node. + +The `[OFFICE CONVERTER]` section is needed to let the front-end node know the office preview feature is enabled. + +### 7.1+ + +For **seafile.conf**: + +``` +[cluster] +enabled = true +memcached_options = --SERVER= --POOL-MIN=10 --POOL-MAX=100 + +``` + +The `enabled` option will prevent the start of background tasks by `./seafile.sh start` in the front-end node. The tasks should be explicitly started by `./seafile-background-tasks.sh start` at the back-end node. + +For **seahub_settings.py**: + +``` +AVATAR_FILE_STORAGE = 'seahub.base.database_storage.DatabaseStorage' + +OFFICE_CONVERTOR_ROOT = 'http://:6000' + +``` + +For **seafevents.conf**: + +``` +[INDEX FILES] +enabled = true +interval = 10m +highlight = fvh # This configuration is for improving searching speed +external_es_server = true +es_host = +es_port = 9200 + +[OFFICE CONVERTER] +enabled = true +workers = 1 +## the max size of documents allowed to be previewed online, in MB. Default is 10 MB +## Previewing a large file (for example >30M) online is likely going to freeze the browser. +max-size = 10 +host = +port = 6000 + +``` + +The `[INDEX FILES]` section is needed to let the front-end node know the file search feature is enabled. The `external_es_server = true` is to tell the front-end node not to start the ElasticSearch but to use the ElasticSearch server at the back-end node. + +The `[OFFICE CONVERTER]` section is needed to let the front-end node know the office preview feature is enabled. + + diff --git a/manual/deploy_pro/deploy_with_docker.md b/manual/deploy_pro/deploy_with_docker.md new file mode 100644 index 00000000..edee27c9 --- /dev/null +++ b/manual/deploy_pro/deploy_with_docker.md @@ -0,0 +1,261 @@ +## About + +* [Docker](https://docker.com/) is an open source project to pack, ship and run any Linux application in a lighter weight, faster container than a traditional virtual machine. +* Docker makes it much easier to deploy [a Seafile server](https://github.com/haiwen/seafile) on your servers and keep it updated. +* The base image configures Seafile with the Seafile team's recommended optimal defaults. + +If you are not familiar with docker commands, please refer to [docker documentation](https://docs.docker.com/engine/reference/commandline/cli/). + +## For seafile 7.x.x + +Starting with 7.0, we have adjusted seafile-docker image to use multiple containers. The old image runs MariaDB-Server、Memcached and Elasticsearch in the same container with Seafile server. Now, we strip the MariaDB-Server、Memcached and Elasticsearch from the Seafile image and run them in their respective containers. + +If you plan to deploy seafile 7.0, you should refer to the [Deploy Documentation](<../docker/pro-edition/Deploy Seafile-pro with Docker.md>). + +If you plan to upgrade 6.3 to 7.0, you can refer to the [Upgrade Documentation](<../docker/pro-edition/6.3 upgrade to 7.0.md>). + +## For seafile 6.x.x + +### Getting Started + +Login the Seafile private registry: + +```sh +docker login {host} + +``` + +You can find the private registry information on the [customer center download page](https://customer.seafile.com/downloads/) + +To run the seafile server container: + +```sh +docker run -d --name seafile \ + -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ + -v /opt/seafile-data:/shared \ + -p 80:80 \ + {host}/seafileltd/seafile-pro:latest + +``` + +Wait for a few minutes for the first time initialization, then visit `http://seafile.example.com` to open Seafile Web UI. + +This command will mount folder `/opt/seafile-data` at the local server to the docker instance. You can find logs and other data under this folder. + +### Put your licence file + +If you have a `seafile-license.txt` licence file, simply put it in the folder `/opt/seafile-data/seafile/`. In your host machine: + +```sh +mkdir -p /opt/seafile-data/seafile/ +cp /path/to/seafile-license.txt /opt/seafile-data/seafile/ + +``` + +Then restart the container. + +```sh +docker restart seafile + +``` + +### More configuration Options + +#### Custom Admin Username and Password + +The default admin account is `me@example.com` and the password is `asecret`. You can use a different password by setting the container's environment variables: +e.g. + +```sh +docker run -d --name seafile \ + -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ + -e SEAFILE_ADMIN_EMAIL=me@example.com \ + -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ + -v /opt/seafile-data:/shared \ + -p 80:80 \ + {host}/seafileltd/seafile-pro:latest + +``` + +If you forget the admin password, you can add a new admin account and then go to the sysadmin panel to reset user password. + +#### Let's encrypt SSL certificate + +If you set `SEAFILE_SERVER_LETSENCRYPT` to `true`, the container would request a letsencrypt-signed SSL certificate for you automatically. + +e.g. + +```sh +docker run -d --name seafile \ + -e SEAFILE_SERVER_LETSENCRYPT=true \ + -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ + -e SEAFILE_ADMIN_EMAIL=me@example.com \ + -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ + -v /opt/seafile-data:/shared \ + -p 80:80 \ + -p 443:443 \ + {host}/seafileltd/seafile-pro:latest + +``` + +If you want to use your own SSL certificate: + +* create a folder `/opt/seafile-data/ssl`, and put your certificate and private key under the ssl directory. +* Assume your site name is `seafile.example.com`, then your certificate must have the name `seafile.example.com.crt`, and the private key must have the name `seafile.example.com.key`. + +#### Modify Seafile Server Configurations + +The config files are under `shared/seafile/conf`. You can modify the configurations according to [Seafile manual](https://download.seafile.com/published/seafile-manual/home.md) + +After modification, you need to restart the container: + +```sh +docker restart seafile + +``` + +#### Find logs + +The seafile logs are under `/shared/logs/seafile` in the docker, or `/opt/seafile-data/logs/seafile` in the server that run the docker. + +The system logs are under `/shared/logs/var-log`, or `/opt/seafile-data/logs/var-log` in the server that run the docker. + +#### Add a new Admin + +Ensure the container is running, then enter this command: + +```sh +docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh + +``` + +Enter the username and password according to the prompts. You now have a new admin account. + +### Directory Structure + +#### `/shared` + +Placeholder spot for shared volumes. You may elect to store certain persistent information outside of a container, in our case we keep various logfiles and upload directory outside. This allows you to rebuild containers easily without losing important information. + +* /shared/db: This is the data directory for mysql server +* /shared/seafile: This is the directory for seafile server configuration and data. +* /shared/logs: This is the directory for logs. + * /shared/logs/var-log: This is the directory that would be mounted as `/var/log` inside the container. For example, you can find the nginx logs in `shared/logs/var-log/nginx/`. + * /shared/logs/seafile: This is the directory that would contain the log files of seafile server processes. For example, you can find seaf-server logs in `shared/logs/seafile/seafile.log`. +* /shared/ssl: This is directory for certificate, which does not exist by default. + +### Upgrading Seafile Server + +If you plan to upgrade 6.3 to 7.0, you can refer to the [Upgrade Documentation](<../docker/pro-edition/6.3 upgrade to 7.0.md>). + +To upgrade to the latest version of seafile 6.3: + +```sh +docker pull {host}/seafileltd/seafile-pro:latest +docker rm -f seafile +docker run -d --name seafile \ + -e SEAFILE_SERVER_LETSENCRYPT=true \ + -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ + -e SEAFILE_ADMIN_EMAIL=me@example.com \ + -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ + -v /opt/seafile-data:/shared \ + -p 80:80 \ + -p 443:443 \ + {host}/seafileltd/seafile-pro:latest + +``` + +If you are one of the early users who use the `launcher` script, you should refer to [upgrade from old format](https://github.com/haiwen/seafile-docker/blob/master/upgrade_from_old_format.md) document. + +### Backup and Recovery + +#### Struct + +We assume your seafile volumns path is in `/shared`. And you want to backup to `/backup` directory. +You can create a layout similar to the following in /backup directory: + +```struct +/backup +---- databases/ contains database backup files +---- data/ contains backups of the data directory + +``` + +The data files to be backed up: + +```struct +/shared/seafile/conf # configuration files +/shared/seafile/pro-data # data of es +/shared/seafile/seafile-data # data of seafile +/shared/seafile/seahub-data # data of seahub + +``` + +#### Backup + +Steps: + +1. Backup the databases; +2. Backup the seafile data directory; + +[Backup Order: Database First or Data Directory First](../maintain/backup_recovery.md) + +* backing up Database: + + ```bash + # It's recommended to backup the database to a separate file each time. Don't overwrite older database backups for at least a week. + cd /backup/databases + docker exec -it seafile mysqldump -uroot --opt ccnet_db > ccnet_db.sql + docker exec -it seafile mysqldump -uroot --opt seafile_db > seafile_db.sql + docker exec -it seafile mysqldump -uroot --opt seahub_db > seahub_db.sql + + ``` + +* Backing up Seafile library data: + * To directly copy the whole data directory + + ```bash + cp -R /shared/seafile /backup/data/ + cd /backup/data && rm -rf ccnet + + ``` + + * Use rsync to do incremental backup + + ```bash + rsync -az /shared/seafile /backup/data/ + cd /backup/data && rm -rf ccnet + + ``` + +#### Recovery + +* Restore the databases: + + ```bash + cp /backup/data/ccnet_db.sql /shared/ccnet_db.sql + cp /backup/data/seafile_db.sql /shared/seafile_db.sql + cp /backup/data/seahub_db.sql /shared/seahub_db.sql + docker exec -it seafile /bin/sh -c "mysql -uroot ccnet_db < /shared/ccnet_db.sql" + docker exec -it seafile /bin/sh -c "mysql -uroot seafile_db < /shared/seafile_db.sql" + docker exec -it seafile /bin/sh -c "mysql -uroot seahub_db < /shared/seahub_db.sql" + + ``` + +* Restore the seafile data: + + ```bash + cp -R /backup/data/* /shared/seafile/ + + ``` + +### Troubleshooting + +You can run docker commands like "docker exec" to find errors. + +```sh +docker exec -it seafile /bin/bash + +``` + + diff --git a/manual/deploy_pro/details_about_file_search.md b/manual/deploy_pro/details_about_file_search.md new file mode 100644 index 00000000..77e8d3c8 --- /dev/null +++ b/manual/deploy_pro/details_about_file_search.md @@ -0,0 +1,127 @@ +# Details about File Search + +**Note**: Since Seafile Professional Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +## Search Options + +The following options can be set in **seafevents.conf** to control the behaviors of file search. You need to restart seafile and seahub to make them take effect. + +``` +[INDEX FILES] +## must be "true" to enable search +enabled = true + +## The interval the search index is updated. Can be s(seconds), m(minutes), h(hours), d(days) +interval=10m + +## If true, indexes the contents of office/pdf files while updating search index +## Note: If you change this option from "false" to "true", then you need to clear the search index and update the index again. +index_office_pdf=false + +``` + +## Enable full text search for Office/PDF files + +Full text search is not enabled by default to save system resources. If you want to enable it, you need to follow the instructions below. + +First you have to set the value of `index_office_pdf` option in `seafevents.conf` to `true`. + +Then restart seafile server + +``` + cd /data/haiwen/seafile-pro-server-1.7.0/ + ./seafile.sh restart + +``` + +You need to delete the existing search index and recreate it. + +``` + ./pro/pro.py search --clear + ./pro/pro.py search --update + +``` + +## Use existing ElasticSearch server + +The search module uses an Elasticsearch server bundled with the Seafile Professional Server. However, you may have an existing Elasticsearch server or cluster running in your company. In this situation, you can change the config file to use your existing ES server or cluster. + +This feature was added in Seafile Professional Server 2.0.5. + +### Modify the config file + +* Edit `seafevents.conf`, add settings in the section **\[index files]** to specify your ES server host and port: + + +``` +[INDEX FILES] +... +external_es_server = true +es_host = 192.168.1.101 +es_port = 9200 + +``` + +* `external_es_server`: set to `true` so seafile would not start its own elasticsearch server +* `es_host`: The ip address of your ES server +* `es_port`: The listening port of ES server RESTful API. By default it should be `9200` + +## Common problems + +### How to rebuild the index if something went wrong + +You can rebuild search index by running: + +``` +./pro/pro.py search --clear +./pro/pro.py search --update + +``` + +If this does not work, you can try the following steps: + +1. Stop Seafile +2. Remove the old search index `rm -rf pro-data/search` +3. Restart Seafile +4. Wait one minute then run `./pro/pro.py search --update` + +### I get no result when I search a keyword + +The search index is updated every 10 minutes by default. So before the first index update is performed, you get nothing no matter what you search. + + To be able to search immediately, + +* Make sure you have started Seafile Server +* Update the search index manually: + + +``` +cd haiwen/seafile-pro-server-2.0.4 +./pro/pro.py search --update + +``` + +### Encrypted files cannot be searched + +This is because the server cannot index encrypted files, since they are encrypted. + +### Increase the heap size for the java search process + +The search functionality is based on Elasticsearch, which is a java process. You can modify the memory size by modifying the jvm configuration file. For example, modify to 2G memory. Modify the following configuration in the `seafile-server-latest/pro/elasticsearch/config/jvm.options` file: + +```sh +-Xms2g # Minimum available memory +-Xmx2g # Maximum available memory +### It is recommended to set the values of the above two configurations to the same size. + +``` + +Restart the seafile service to make the above changes take effect: + +``` +./seafile.sh restart +./seahub.sh restart + +``` + + diff --git a/manual/deploy_pro/download_and_setup_seafile_professional_server.md b/manual/deploy_pro/download_and_setup_seafile_professional_server.md new file mode 100644 index 00000000..17b44da1 --- /dev/null +++ b/manual/deploy_pro/download_and_setup_seafile_professional_server.md @@ -0,0 +1,201 @@ +# Download and Setup Seafile Professional Server + +## Preparation + +Now when we release a new version, we will always provide 2 compressed files, for example: + +* _seafile-pro-server_7.1.3_x86-64_Ubuntu.tar.gz_, is compiled in Ubuntu 18.04 enviroment. +* _seafile-pro-server_7.1.3_x86-64_CentOS.tar.gz_, is compiled in CentOS 7 enviroment. + +If you are using Ubuntu/Debian server, please use _seafile-pro-server_7.1.3_x86-64_Ubuntu.tar.gz_, for CentOS please use _seafile-pro-server_7.1.3_x86-64.tar.gz_. + +### Install thirdpart Requirements + +The Seafile server package requires the following packages to be installed on your system: + +**For Seafile 7.0.x** + +``` +# on Ubuntu 16.04 +apt-get update +apt-get install python2.7 python-setuptools python-mysqldb python-urllib3 python-ldap -y + +``` + +``` +# on CentOS 7 +yum install python python-setuptools MySQL-python python-urllib3 python-ldap -y + +``` + +**For Seafile 7.1.x** + +``` +# on Debian 10/Ubuntu 18.04 +apt-get update +apt-get install python3 python3-setuptools python3-pip -y + +pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \ + django-pylibmc django-simple-captcha python3-ldap + +``` + +``` +# on CentOS 8 +yum install python3 python3-setuptools python3-pip -y + +pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \ + django-pylibmc django-simple-captcha python3-ldap + +``` + +For more information please see bellow. + +### Minimum System Requirements + +* A Linux server with 2GB RAM + +### Install Java Runtime Environment (JRE) + +On Debian: + +``` +sudo apt-get install openjdk-8-jre + +``` + +On Ubuntu 16.04: + +``` +sudo apt-get install openjdk-8-jre +sudo ln -sf /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java /usr/bin/ + +``` + +On CentOS/Red Hat: + +``` +sudo yum install java-1.8.0-openjdk + +``` + +### Install poppler-utils + +The package poppler-utils is required for full text search of pdf files. + +On Ubuntu/Debian: + +``` +sudo apt-get install poppler-utils + +``` + +On CentOS/Red Hat: + +``` +sudo yum install poppler-utils + +``` + +### Install Python libraries + +First make sure your have installed Python 2.7 + +``` +sudo easy_install pip +sudo pip install boto + +``` + +If you receive an error about "Wheel installs require setuptools >= ...", run this between the pip and boto lines above + +``` +sudo pip install setuptools --no-use-wheel --upgrade + +``` + +### Install all libraries required by the Community Edition + +See [Download and Setup Seafile Server With MySQL](../deploy/using_mysql.md). + +## Download and Setup Seafile Professional Server + +### Get the license + +Put the license you got under the top level diretory. In our wiki, we use the diretory `/data/haiwen/` as the top level directory. If you're using the free Pro Edition with three users you don't need a license file. + +### Download & uncompress Seafile Professional Server + +``` +tar xf seafile-pro-server_7.0.7_x86-64.tar.gz + +``` + +Now you have: + +``` +haiwen +├── seafile-license.txt +└── seafile-pro-server-7.0.7/ + +``` + +--- + +You should notice the difference between the names of the Community Server and Professional Server. Take the 7.0.7 64bit version as an example: + +* Seafile Community Server tarball is `seafile-server_7.0.7_x86-86.tar.gz`; After uncompressing, the folder is `seafile-server-7.0.7` +* Seafile Professional Server tarball is `seafile-pro-server_7.0.7_x86-86.tar.gz`; After uncompressing, the folder is `seafile-pro-server-7.0.7` + +### Setup + +The setup process of Seafile Professional Server is the same as the Seafile Community Server. See [Download and Setup Seafile Server With MySQL](../deploy/using_mysql.md). + +If you have any problem with setting up the service, please check [Common problems in setting up Seafile server](../deploy/common_problems_for_setting_up_server.md). + +After you have succesfully setup Seafile Professional Server, you have a directory layout like this: + +``` +#tree haiwen -L 2 +haiwen +├── seafile-license.txt # license file +├── ccnet # configuration files +│ ├── mykey.peer +│ ├── PeerMgr +│ └── seafile.ini +├── conf +│ └── ccnet.conf +│ └── seafile.conf +│ └── seahub_settings.py +│ └── seafevents.conf +├── pro-data # data specific for professional version +├── seafile-data +├── seafile-pro-server-7.0.7 +│ ├── reset-admin.sh +│ ├── runtime +│ ├── seafile +│ ├── seafile.sh +│ ├── seahub +│ ├── seahub-extra +│ ├── seahub.sh +│ ├── setup-seafile.sh +│ ├── setup-seafile-mysql.py +│ ├── setup-seafile-mysql.sh +│ └── upgrade +├── seahub-data +│ └── avatars # for user avatars +├── seahub.db + +``` + +## Performance tuning + +If you have more than 50 Seafile users, we highly recommend to [add memcached](../deploy/add_memcached.md). This is going to speedup Seahub (the web front end) significantly. + +## Done + +At this point, the basic setup of Seafile Professional Server is done. + +You may want to read more about Seafile Professional Server: + +* [FAQ For Seafile Professional Server](faq_for_seafile_pro_server.md) diff --git a/manual/deploy_pro/enable_search_and_background_tasks_in_a_cluster.md b/manual/deploy_pro/enable_search_and_background_tasks_in_a_cluster.md new file mode 100644 index 00000000..7bd5fe0a --- /dev/null +++ b/manual/deploy_pro/enable_search_and_background_tasks_in_a_cluster.md @@ -0,0 +1,341 @@ +_Note:_ Before you try to deploy file search office documents preview, make sure other parts of your seafile cluster are already working, e.g upload/download files in a web browser. Make sure memcached is configured as described in ["Deploy in a cluster"](./deploy_in_a_cluster.md). + +# Enable search and background tasks in a cluster + +In the seafile cluster, only one server should run the background tasks, including: + +* indexing files for search +* email notification +* office documents converts service +* LDAP sync +* virus scan + +Let's assume you have three nodes in your cluster: A, B, and C. + +* Node A is backend node that run background tasks. +* Node B and C are frontend nodes that serving requests from clients. + +![cluster-nodes](../images/cluster-nodes.png) + +## 7.0 or before + +### Configuring Node A (the backend node) + +If you following the steps on settings up a cluster, node B and node C should have already be configed as frontend node. You can copy the configuration of node B as a base for node A. Then do the following steps: + +#### Install Dependencies (Java, LibreOffice, poppler) + +On Ubuntu/Debian: + +```shell +sudo apt-get install openjdk-8-jre libreoffice poppler-utils python-uno # or python3-uno for ubuntu 16.04+ + +``` + +On CentOS/Red Hat: + +```shell +sudo yum install java-1.8.0-openjdk +sudo yum install libreoffice libreoffice-headless libreoffice-pyuno +sudo yum install poppler-utils + +``` + +Edit **seafevents.conf** and ensure this line does NOT exist: + +``` +external_es_server = true + +``` + +Edit **seahub_settings.py** and add a line: + +```python +OFFICE_CONVERTOR_NODE = True + +``` + +Edit **seafile.conf** to enable virus scan according to [virus scan document](virus_scan.md) + +#### Edit the firewall rules + +In your firewall rules for node A, you should open the port 9200 (for search requests). For versions older than 6.1, `es_port` was 9500. + +### Configure Other Nodes + +On nodes B and C, you need to: + +* Edit `seafevents.conf`, add the following lines: + + +``` +[INDEX FILES] +external_es_server = true +es_host = +es_port = 9200 + +``` + +Edit **seahub_settings.py** and add a line: + +```python +OFFICE_CONVERTOR_ROOT = 'http://' + +``` + +Make sure requests to http\:// is also handled by Seahub. For example, you may need to add this Nginx configuration in the background node: + +``` +server { + listen 80; + server_name ; + location / { + proxy_pass http://127.0.0.1:8000; + ... + } + +``` + +As a simple test, you can use this command to test if you set it up correctly. + +```shell +curl -v http:///office-convert/internal/status/ + +``` + +It should say "400 Bad Request" when you have Nginx config updated. + +### Start the background node + +Type the following commands to start the background node (Note, one additional command `seafile-background-tasks.sh` is needed) + +```shell +./seafile.sh start +./seahub.sh start # or "./seahub.sh start-fastcgi" if you're using fastcgi +./seafile-background-tasks.sh start + +``` + +To stop the background node, type: + +```shell +./seafile-background-tasks.sh stop +./seafile.sh stop +./seahub.sh stop + +``` + +You should also configure Seafile background tasks to start on system bootup. For systemd based OS, you can add `/etc/systemd/system/seafile-background-tasks.service`: + +``` +[Unit] +Description=Seafile Background Tasks Server +After=network.target seahub.service + +[Service] +Type=forking +ExecStart=/opt/seafile/seafile-server-latest/seafile-background-tasks.sh start +ExecStop=/opt/seafile/seafile-server-latest/seafile-background-tasks.sh stop +User=root +Group=root + +[Install] +WantedBy=multi-user.target + +``` + +Then enable this task in systemd: + +``` +systemctl enable seafile-background-tasks.service + +``` + +### The final configuration of the background node + +Here is the summary of configurations at the background node that related to clustering setup. + +For **seafile.conf**: + +``` +[cluster] +enabled = true +memcached_options = --SERVER= --POOL-MIN=10 --POOL-MAX=100 + +``` + +For **seahub_settings.py**: + +``` +OFFICE_CONVERTOR_NODE = True + +AVATAR_FILE_STORAGE = 'seahub.base.database_storage.DatabaseStorage' +COMPRESS_CACHE_BACKEND = 'django.core.cache.backends.locmem.LocMemCache' + +``` + +For **seafevents.conf**: + +``` +[INDEX FILES] +enabled = true +interval = 10m + +[OFFICE CONVERTER] +enabled = true +workers = 1 +## the max size of documents allowed to be previewed online, in MB. Default is 10 MB +## Previewing a large file (for example >30M) online is likely going to freeze the browser. +max-size = 10 + +``` + +## 7.1+ + +### Configuring Node A (the backend node) + +If you following the steps on settings up a cluster, node B and node C should have already be configed as frontend node. You can copy the configuration of node B as a base for node A. Then do the following steps: + +#### Install Dependencies (Java, LibreOffice) + +On Ubuntu/Debian: + +```shell +sudo apt-get install openjdk-8-jre libreoffice python-uno # or python3-uno for ubuntu 16.04+ + +``` + +On CentOS/Red Hat: + +```shell +sudo yum install java-1.8.0-openjdk +sudo yum install libreoffice libreoffice-headless libreoffice-pyuno + +``` + +Edit **seafevents.conf** and ensure this line does NOT exist: + +``` +external_es_server = true + +``` + +Edit **seafevents.conf**, adding the following configuration: + +``` +[OFFICE CONVERTER] +enabled = true +host = +port = 6000 + +``` + +host is the IP address of background node, make sure the front end nodes can access the background node via IP:6000 . + +Edit **seafile.conf** to enable virus scan according to [virus scan document](virus_scan.md) + +#### Edit the firewall rules + +In your firewall rules for node A, you should open the port 9200 (for search requests) and port 6000 for office converter. For versions older than 6.1, `es_port` was 9500. + + + +### Configure Other Nodes + +On nodes B and C, you need to: + +Edit `seafevents.conf`, add the following lines: + +``` +[INDEX FILES] +external_es_server = true +es_host = +es_port = 9200 + +[OFFICE CONVERTER] +enabled = true +host = +port = 6000 + +``` + +Edit **seahub_settings.py** and add a line: + +```python +OFFICE_CONVERTOR_ROOT = 'http://:6000' + +``` + +### Start the background node + +Type the following commands to start the background node (Note, one additional command `seafile-background-tasks.sh` is needed) + +```shell +./seafile.sh start +./seafile-background-tasks.sh start + +``` + +To stop the background node, type: + +```shell +./seafile-background-tasks.sh stop +./seafile.sh stop + +``` + +You should also configure Seafile background tasks to start on system bootup. For systemd based OS, you can add `/etc/systemd/system/seafile-background-tasks.service`: + +``` +[Unit] +Description=Seafile Background Tasks Server +After=network.target seahub.service + +[Service] +Type=forking +ExecStart=/opt/seafile/seafile-server-latest/seafile-background-tasks.sh start +ExecStop=/opt/seafile/seafile-server-latest/seafile-background-tasks.sh stop +User=root +Group=root + +[Install] +WantedBy=multi-user.target + +``` + +Then enable this task in systemd: + +``` +systemctl enable seafile-background-tasks.service + +``` + +### The final configuration of the background node + +Here is the summary of configurations at the background node that related to clustering setup. + +For **seafile.conf**: + +``` +[cluster] +enabled = true +memcached_options = --SERVER= --POOL-MIN=10 --POOL-MAX=100 + +``` + +For **seafevents.conf**: + +``` +[INDEX FILES] +enabled = true +interval = 10m +highlight = fvh # this is for improving the search speed + +[OFFICE CONVERTER] +enabled = true +host = +port = 6000 + +``` + + diff --git a/manual/deploy_pro/ldap_group_sync.md b/manual/deploy_pro/ldap_group_sync.md new file mode 100644 index 00000000..6b640cd0 --- /dev/null +++ b/manual/deploy_pro/ldap_group_sync.md @@ -0,0 +1,148 @@ +# Importing Groups from LDAP/AD + +Since version 4.1.0, the Pro Edition supports importing (syncing) groups from LDAP or Active Directory. + +## How It Works + +The importing or syncing process maps groups from LDAP directory server to groups in Seafile's internal database. This process is one-way. + +* Any changes to groups in the database won't propagate back to LDAP; +* Any changes to groups in the database, except for "setting a member as group admin", will be overwritten in the next LDAP sync operation. If you want to add or delete members, you can only do that on LDAP server. +* The creator of imported groups will be set to the system admin. + +There are two modes of operation: + +* Periodical: the syncing process will be executed in a fixed interval +* Manual: there is a script you can run to trigger the syncing once + +## Prerequisite + +You have to install python-ldap library in your system. + +For Debian or Ubuntu + +``` +sudo apt-get install python-ldap + +``` + +For CentOS or RedHat + +``` +sudo yum install python-ldap + +``` + +## Syncing Groups + +### Configuration + +Before enabling LDAP group sync, you should have configured LDAP authentication. See [Configure Seafile to use LDAP](using_ldap_pro.md) for details. + +The following are LDAP group sync related options. They're in the "\[ldap_sync]" section of [ccnet.conf](../config/ccnet-conf.md). + +Below are summary of options for syncing groups: + +* **ENABLE_GROUP_SYNC**: set to "true" if you want to enable ldap group syncing +* **GROUP_OBJECT_CLASS**: This is the name of the class used to search for group objects. In Active Directory, it's usually "group"; in OpenLDAP or others, you may use "groupOfNames","groupOfUniqueNames" or "posixGroup", depends on your LDAP server. The default value is "group". +* **SYNC_INTERVAL**: The interval to sync. Unit is minutes. You can set it to 60, which means that data is synchronized from the LDAP/AD server every 60 minutes. +* **GROUP_FILTER**: An additional filter to use when searching group objects. If it's set, the final filter used to run search is "(&(objectClass=GROUP_OBJECT_CLASS)(GROUP_FILTER))"; otherwise the final filter would be "(objectClass=GROUP_OBJECT_CLASS)". +* **GROUP_MEMBER_ATTR**: The attribute field to use when loading the group's members. For most directory servers, the attributes is "member", which is the default value.For "posixGroup", it should be set to "memberUid". +* **USER_ATTR_IN_MEMBERUID**: The user attribute set in 'memberUid' option, which is used in "posixGroup".The default value is "uid". +* **DEL_GROUP_IF_NOT_FOUND**: set to "true", will deleted the groups if not found it in LDAP/AD server; need Seafile-pro-6.3.0 and above version +* **SYNC_GROUP_AS_DEPARTMENT**: In 6.3.8 version, a new option SYNC_GROUP_AS_DEPARTMENT is added. If this option is set to "true", the groups will be synced as top-level departments in Seafile, instead of simple groups. Learn more about departments in Seafile [here](https://help.seafile.com/en/sharing_collaboration/departments.html). +* **CREATE_DEPARTMENT_LIBRARY**: If you decide to sync the group as a department, you can set this option to "true". In this way, when the group is synchronized for the first time, a library is automatically created for the department, and the library's name is the department's name. +* **DEFAULT_DEPARTMENT_QUOTA**: If you decide to sync the group as a department, you can set a default space quota for each department when you synchronize a group for the first time. The quota is set to unlimited if this option is not set. Unit is MB. +* **DEPT_NAME_ATTR**: Get the department name. You can set this configuration item to an AD field that represents the "department" name, such as "description". The name of the department created by Seafile will be the department name set in the AD field instead of the OU name. Requires Seafile-pro-7.0.11 and above. +* **DEPT_REPO_PERM: **Set the permissions of the department repo. The default permission is 'rw'. Set permissions for the department repo created during AD synchronization. Requires Seafile-pro-7.0.11 and above. + +The search base for groups is the "BASE_DN" set in "\[ldap]" section of ccnet.conf. + +Some LDAP server, such as Active Directory, allows a group to be a member of another group. This is called "group nesting". If we find a nested group B in group A, we should recursively add all the members from group B into group A. And group B should still be imported a separate group. That is, all members of group B are also members in group A. + +In some LDAP server, such as OpenLDAP, it's common practice to use Posix groups to store group membership. To import Posix groups as Seafile groups, set GROUP_OBJECT_CLASS option to posixGroup . A posixGroup object in LDAP usually contains a multi-value attribute for the list of member UIDs. The name of this attribute can be set with the GROUP_MEMBER_ATTR option. It's MemberUid by default. The value of the MemberUid attribute is an ID that can be used to identify a user, which corresponds to an attribute in the user object. The name of this ID attribute is usually uid , but can be set via the USER_ATTR_IN_MEMBERUID option. Note that posixGroup doesn't support nested groups. + +### Example Configurations + +Here is an example configuration for syncing nested groups in Active Directory: + +``` +[LDAP] +HOST = ldap://192.168.1.123/ +BASE = cn=users,dc=example,dc=com +USER_DN = administrator@example.local +PASSWORD = secret +LOGIN_ATTR = mail + +[LDAP_SYNC] +ENABLE_GROUP_SYNC = true +SYNC_INTERVAL = 60 + +``` + +For AD, you usually don't need to configure other options except for "ENABLE_GROUP_SYNC". That's because the default values for other options are the usual values for AD. If you have special settings in your LDAP server, just set the corresponding options. + +Here is an example configuration for syncing nested groups (but not PosixGroups) in OpenLDAP: + +``` +[LDAP] +HOST = ldap://192.168.1.123/ +BASE = ou=users,dc=example,dc=com +USER_DN = cn=admin,dc=example,dc=com +PASSWORD = secret +LOGIN_ATTR = mail + +[LDAP_SYNC] +ENABLE_GROUP_SYNC = true +SYNC_INTERVAL = 60 +GROUP_OBJECT_CLASS = groupOfNames + +``` + +## Sync OU as Departments + +A department in Seafile is a special group. In addition to what you can do with a group, there are two key new features for departments: + +* Department supports hierarchy. A department can have any levels of sub-departments. +* Department can have storage quota. + +Seafile supports syncing OU (Organizational Units) from AD/LDAP to departments. The sync process keeps the hierarchical structure of the OUs. + +Options for syncing departments from OU: + +* **SYNC_DEPARTMENT_FROM_OU**: set to "true" to enable syncing departments from OU. +* **SYNC_INTERVAL**: The interval to sync. Unit is minutes. You can set it to 60, which means that data is synchronized from the LDAP/AD server every 60 minutes. +* **DEL_DEPARTMENT_IF_NOT_FOUND**: If set to "true", sync process will delete a department if the corresponding OU is not found in AD/LDAP server. +* **CREATE_DEPARTMENT_LIBRARY**: set to "true", if you want to automatically create a department library with the OU name. +* **DEFAULT_DEPARTMENT_QUOTA**: default quota for the imported departments in MB. The quota is set to unlimited if this option is not set. +* **DEPT_NAME_ATTR**: Get the department name. You can set this configuration item to an AD field that represents the "department" name, such as "description". The name of the department created by Seafile will be the department name set in the AD field instead of the OU name. Requires Seafile-pro-7.0.11 and above. +* **DEPT_REPO_PERM: **Set the permissions of the department repo. The default permission is 'rw'. Set permissions for the department repo created during AD synchronization. Requires Seafile-pro-7.0.11 and above. + +**NOTE**: Before 6.3.8, an old configuration syntax is used for syncing OU as departments. That syntax is no long supported. The old syntax cannot support syncing both groups and OU from AD/LDAP at the same time. However this is necessary for many situations. With the new syntax, you can sync both. + +## Periodical and Manual Sync + +Periodical sync won't happen immediately after you restart seafile server. It gets scheduled after the first sync interval. For example if you set sync interval to 30 minutes, the first auto sync will happen after 30 minutes you restarts. To sync immediately, you need to manually trigger it. + +After the sync is run, you should see log messages like the following in logs/seafevents.log. And you should be able to see the groups in system admin page. + +``` +[2015-03-30 18:15:05,109] [DEBUG] create group 1, and add dn pair CN=DnsUpdateProxy,CN=Users,DC=Seafile,DC=local<->1 success. +[2015-03-30 18:15:05,145] [DEBUG] create group 2, and add dn pair CN=Domain Computers,CN=Users,DC=Seafile,DC=local<->2 success. +[2015-03-30 18:15:05,154] [DEBUG] create group 3, and add dn pair CN=Domain Users,CN=Users,DC=Seafile,DC=local<->3 success. +[2015-03-30 18:15:05,164] [DEBUG] create group 4, and add dn pair CN=Domain Admins,CN=Users,DC=Seafile,DC=local<->4 success. +[2015-03-30 18:15:05,176] [DEBUG] create group 5, and add dn pair CN=RAS and IAS Servers,CN=Users,DC=Seafile,DC=local<->5 success. +[2015-03-30 18:15:05,186] [DEBUG] create group 6, and add dn pair CN=Enterprise Admins,CN=Users,DC=Seafile,DC=local<->6 success. +[2015-03-30 18:15:05,197] [DEBUG] create group 7, and add dn pair CN=dev,CN=Users,DC=Seafile,DC=local<->7 success. + +``` + +To trigger LDAP sync manually, + +``` +cd seafile-server-lastest +./pro/pro.py ldapsync + +``` + + diff --git a/manual/deploy_pro/ldap_role_sync.md b/manual/deploy_pro/ldap_role_sync.md new file mode 100644 index 00000000..677f38c6 --- /dev/null +++ b/manual/deploy_pro/ldap_role_sync.md @@ -0,0 +1,45 @@ +# Importing Roles from LDAP/AD + +Since version 6.1.5, the Pro Edition supports syncing roles from LDAP or Active Directory. + +To enable this feature, add config option `ROLE_NAME_ATTR` to ccnet.conf + +``` +[LDAP_SYNC] +ROLE_NAME_ATTR = title + +``` + +`ROLE_NAME_ATTR` is the attribute field to configure roles in LDAP . +We provide a user-defined function to map the role:Create `custom_functions.py` under conf/ and edit it like: + +``` +#coding=utf-8 +import sys +reload(sys) +sys.setdefaultencoding('utf8') + +def ldap_role_mapping(role): + if 'staff' in role: + return 'Staff' + if 'guest' in role: + return 'Guest' + if 'manager' in role: + return 'Manager' + +``` + +you can rewrite this function (in python) to make your own mapping rules. If the file or function doesn't exist, all roles in `ROLE_NAME_ATTR` will be synced. + +** NOTE: **Make sure that ccnet-server keeps running while doing LDAP role sync. + +Note: If you are using 7.1 version or later, and with Python 3, you should remove the following code from \`custom_functions.py\`: + +``` +import sys +reload(sys) +sys.setdefaultencoding('utf8') + +``` + + diff --git a/manual/deploy_pro/memcached_mariadb_cluster.md b/manual/deploy_pro/memcached_mariadb_cluster.md new file mode 100644 index 00000000..b37f6b61 --- /dev/null +++ b/manual/deploy_pro/memcached_mariadb_cluster.md @@ -0,0 +1,172 @@ +# Setup Memcached Cluster and MariaDB Galera Cluster + +For high availability, it is recommended to set up a memcached cluster and MariaDB Galera cluster for Seafile cluster. This documentation will provide information on how to do this with 3 servers. You can either use 3 dedicated servers or use the 3 Seafile server nodes. + +## Setup Memcached Cluster + +Seafile servers share session information within memcached. So when you set up a Seafile cluster, there needs to be a memcached server (cluster) running. + +The simplest way is to use a single-node memcached server. But when this server fails, some functions in the web UI of Seafile cannot work. So for HA, it's usually desirable to have more than one memcached servers. + +### For Seafile Server bofore 6.2.11 version + +For Seafile servers before 6.2.11 version, we recommend to use an architecture in which the cache items are distributed across all memcached nodes. + +Unlike other cluster architecture, when you create a memcached cluster with multiple nodes, the key distribution in memcached cluster is controlled by the memcached clients. So there is no special configuration on the memcached server for building a cluster. But there are a few things to take care when building a memcached cluster: + +- Make sure all the seafile server nodes connects to all the memcached nodes. The memcached servers should be listed in the same order in Seafile's config files. +- After one memcached server gets shut down and restarted, sometimes the Seafile servers' views on the memcached cluster will become inconsistent. This is due to limitation of the memcached cluster architecture. You may notice some errors in the web UI functionalities. You have to restart the Seafile server processes to make their views consistent again. Typical error messages you can find in seafile.log are: + * `SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY` + * `SERVER IS MARKED DEAD` + +Seafile servers, work as memcached clients, are designed to automatically migrate keys to living memcached nodes when a memcached node fails. But there are some tricky cases when the Seafile servers cannot automatically recover from errors of memcahced servers. That's why we change the recommended architecture since 6.3 version. + +### Seafile server 6.2.11 or newer + +In this new recommended architecture, you setup two independent memcached servers, in active/standby mode. A floating IP address (or Virtual IP address in some context) is assigned to the current active node. When the active node goes down, Keepalived will migrate the virtual IP to the standby node. So you actually use a single node memcahced, but use Keepalived (or other alternatives) to provide high availability. + +After installing memcahced on each server, you need to make some modification to the memcached config file. + +``` +# Under Ubuntu +vi /etc/memcached.conf + +# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default +# Note that the daemon will grow to this size, but does not start out holding this much +# memory +# -m 64 +-m 256 + +# Specify which IP address to listen on. The default is to listen on all IP addresses +# This parameter is one of the only security measures that memcached has, so make sure +# it's listening on a firewalled interface. +-l 0.0.0.0 + +service memcached restart +``` + +``` +# Under CentOS 7 +vim /etc/sysconfig/memcached + +PORT="11211" +USER="memcached" +MAXCONN="1024" +CACHESIZE="64" +OPTIONS="-l 0.0.0.0 -m 256" + +systemctl restart memcached +systemctl enable memcached +``` + +**NOTE: Please configure memcached to start on system startup.** + +Install and configure Keepalived. + +``` +# For Ubuntu +sudo apt-get install keepalived -y + +# For CentOS +sudo yum install keepalived -y +``` + +Modify keepalived config file `/etc/keepalived/keepalived.conf`. + +On active node +``` +cat /etc/keepalived/keepalived.conf + +! Configuration File for keepalived + +global_defs { + notification_email { + root@localhost + } + notification_email_from keepalived@localhost + smtp_server 127.0.0.1 + smtp_connect_timeout 30 + router_id node1 + vrrp_mcast_group4 224.0.100.19 +} +vrrp_script chk_memcached { + script "killall -0 memcached && exit 0 || exit 1" + interval 1 + weight -5 +} + +vrrp_instance VI_1 { + state MASTER + interface ens33 + virtual_router_id 51 + priority 100 + advert_int 1 + authentication { + auth_type PASS + auth_pass hello123 + } + virtual_ipaddress { + 192.168.1.113/24 dev ens33 + } + track_script { + chk_memcached + } +} +``` + +On standby node +``` +cat /etc/keepalived/keepalived.conf + +! Configuration File for keepalived + +global_defs { + notification_email { + root@localhost + } + notification_email_from keepalived@localhost + smtp_server 127.0.0.1 + smtp_connect_timeout 30 + router_id node2 + vrrp_mcast_group4 224.0.100.19 +} +vrrp_script chk_memcached { + script "killall -0 memcached && exit 0 || exit 1" + interval 1 + weight -5 +} + +vrrp_instance VI_1 { + state BACKUP + interface ens33 + virtual_router_id 51 + priority 98 + advert_int 1 + authentication { + auth_type PASS + auth_pass hello123 + } + virtual_ipaddress { + 192.168.1.113/24 dev ens33 + } + track_script { + chk_memcached + } +} +``` + +**NOTE: Please adjust the network device names accordingly. virtual_ipaddress is the floating IP address in use.** + +### Setup MariaDB Cluster + +MariaDB cluster helps you to remove single point of failure from the cluster architecture. Every update in the database cluster is synchronously replicated to all instances. + +You can choose between two different setups: + +- For a small cluster with 3 nodes, you can run MariaDB cluster directly on the Seafile server nodes. Each Seafile server access its local instance of MariaDB. +- For larger clusters, it's preferable to have 3 dedicated MariaDB nodes to form a cluster. You have to set up a HAProxy in front of the MariaDB cluster. Seafile will access database via HAProxy. + +We refer to the documentation from MariaDB team: + +- [Setting up MariaDB cluster on CentOS 7](https://mariadb.com/resources/blog/setting-mariadb-enterprise-cluster-part-2-how-set-mariadb-cluster) +- [Setting up HAProxy for MariaDB Galera Cluster](https://mariadb.com/resources/blog/setup-mariadb-enterprise-cluster-part-3-setup-ha-proxy-load-balancer-read-and-write-pools). Note that Seafile doesn't use read/write isolation techniques. So you don't need to setup read and write pools. diff --git a/manual/deploy_pro/migrate.md b/manual/deploy_pro/migrate.md new file mode 100644 index 00000000..b1dacf1c --- /dev/null +++ b/manual/deploy_pro/migrate.md @@ -0,0 +1,112 @@ +# Migrate data between different backends + +Seafile supports data migration between filesystem, s3, ceph, swift and Alibaba oss (migrating from swift is not supported yet, this support will be added in the future). If you enabled storage backend encryption feature, migration is not supported at the moment. + +Data migration takes 3 steps: + +1. Create a new temporary seafile.conf +2. Run migrate.sh to initially migrate objects +3. Run final migration +4. Replace the original seafile.conf + +## Create a new temporary seafile.conf + +We need to add new backend configurations to this file (including `[block_backend]`, `[commit_object_backend]`, `[fs_object_backend]` options) and save it under a readable path. +Let's assume that we are migrating data to S3 and create temporary seafile.conf under `/opt` + +``` +cat > seafile.conf << EOF +[commit_object_backend] +name = s3 +bucket = seacomm +key_id = ****** +key = ****** + +[fs_object_backend] +name = s3 +bucket = seafs +key_id = ****** +key = ****** + +[block_backend] +name = s3 +bucket = seablk +key_id = ****** +key = ****** +EOF + +mv seafile.conf /opt + +``` + +Repalce the configurations with your own choice. + +## Migrating large number of objects + +If you have millions of objects in the storage (especially fs objects), it may take quite long time to migrate all objects. More than half of the time is spent on checking whether an object exists in the destination storage. **Since Pro edition 7.0.8**, a feature is added to speed-up the checking. + +Before running the migration script, please set this env variable: + +``` +export OBJECT_LIST_FILE_PATH=/path/to/object/list/file + +``` + +3 files will be created: `/path/to/object/list/file.commit`,`/path/to/object/list/file.fs`, `/path/to/object/list/file.blocks`. + +When you run the script for the first time, the object list file will be filled with existing objects in the destination. Then, when you run the script for the second time, it will load the existing object list from the file, instead of querying the destination. And newly migrated objects will also be added to the file. During migration, the migration process checks whether an object exists by checking the pre-loaded object list, instead of asking the destination, which will greatly speed-up the migration process. + +It's suggested that you don't interrupt the script during the "fetch object list" stage when you run it for the first time. Otherwise the object list in the file will be incomplete. + +Another trick to speed-up the migration is to increase the number of worker threads and size of task queue in the migration script. You can modify the `nworker` and `maxsize` variables in the following code: + +``` +class ThreadPool(object): + +def __init__(self, do_work, nworker=20): + self.do_work = do_work + self.nworker = nworker + self.task_queue = Queue.Queue(maxsize = 2000) + +``` + +The number of workers can be set to relatively large values, since they're mostly waiting for I/O operations to finished. + +## Run migrate.sh to initially migrate objects + +This step will migrate **most of** objects from the source storage to the destination storage. You don't need to stop Seafile service at this stage as it may take quite long time to finish. Since the service is not stopped, some new objects may be added to the source storage during migration. Those objects will be handled in the next step. + +We assume you have installed seafile pro server under `~/haiwen`, enter `~/haiwen/seafile-server-latest` and run migrate.sh with parent path of temporary seafile.conf as parameter, here is `/opt`. + +``` +cd ~/haiwen/seafile-server-latest +./migrate.sh /opt + +``` + +Please note that this script is completely reentrant. So you can stop and restart it, or run it many times. It will check whether an object exists in the destination before sending it. + +## Run final migration + +New objects added during the last migration step will be migrated in this step. To prevent new objects being added, you have to stop Seafile service during the final migration operation. This usually take short time. If you have large number of objects, please following the optimization instruction in previous section. + +You just have to stop Seafile and Seahub service, then run the migration script again. + +``` +cd ~/haiwen/seafile-server-latest +./migrate.sh /opt + +``` + +## Replace the original seafile.conf + +After running the script, we need replace the original seafile.conf with new one: + +``` +mv /opt/seafile.conf ~/haiwen/conf + +``` + +now we only have configurations about backend, more config options, e.g. memcache and quota, can then be copied from the original seafile.conf file. + +After replacing seafile.conf, you can restart seafile server and access the data on the new backend. diff --git a/manual/deploy_pro/migrate_from_seafile_community_server.md b/manual/deploy_pro/migrate_from_seafile_community_server.md new file mode 100644 index 00000000..9d5fcd80 --- /dev/null +++ b/manual/deploy_pro/migrate_from_seafile_community_server.md @@ -0,0 +1,196 @@ +# Migrate from Seafile Community Server + +## Restriction + +It's quite likely you have deployed the Seafile Community Server and want to switch to the [Professional Server](http://seafile.com/en/product/private_server/), or vice versa. But there are some restrictions: + +* You can only switch between Community Server and Professional Server of the same minor version. + +That means, if you are using Community Server version 1.6, and want to switch to the Professional Server 1.7, you must first upgrade to Community Server version 1.7, and then follow the guides below to switch to the Professional Server 1.7. (The last tiny version number in 1.7.x is not important.) + +## Preparation + +### Install Java Runtime Environment (JRE) + +Java 8 or higher is required. + +On Ubuntu/Debian: + +``` +sudo apt-get install openjdk-8-jre + +``` + +On CentOS/Red Hat: + +``` +sudo yum install java-1.8.0-openjdk + +``` + +_Note_: Since version 7.0.0, java 1.8 is required, please check your java version by `java -version`. + +### Install poppler-utils + +The package poppler-utils is required for full text search of pdf files. + +On Ubuntu/Debian: + +``` +sudo apt-get install poppler-utils + +``` + +On CentOS/Red Hat: + +``` +sudo yum install poppler-utils + +``` + +## Do the migration + +We assume you already have deployed Seafile Community Server 1.8.0 under `/data/haiwen/seafile-server-1.8.0`. + +### Get the license + +Put the license file you get under the top level directory of your Seafile installation. In our example, it is `/data/haiwen/`. + +### Download & uncompress Seafile Professional Server + +You should uncompress the tarball to the top level directory of your installation, in our example it is `/data/haiwen`. + +``` +tar xf seafile-pro-server_1.8.0_x86-64.tar.gz + +``` + +Now you have: + +``` +haiwen +├── seafile-license.txt +├── seafile-pro-server-1.8.0/ +├── seafile-server-1.8.0/ +├── ccnet/ +├── seafile-data/ +├── seahub-data/ +├── seahub.db +└── seahub_settings.py + +``` + +--- + +You should notice the difference between the names of the Community Server and Professional Server. Take the 1.8.0 64bit version as an example: + +* Seafile Community Server tarball is `seafile-server_1.8.0_x86-86.tar.gz`; After uncompressing, the folder is `seafile-server-1.8.0` +* Seafile Professional Server tarball is `seafile-pro-server_1.8.0_x86-86.tar.gz`; After uncompressing, the folder is `seafile-pro-server-1.8.0` + + +### Do the migration + +* Stop Seafile Community Server if it's running + + +``` +cd haiwen/seafile-server-1.8.0 +./seafile.sh stop +./seahub.sh stop + +``` + +* Run the migration script + + +``` +cd haiwen/seafile-pro-server-1.8.0/ +./pro/pro.py setup --migrate + +``` + +The migration script is going to do the following for you: + +* ensure your have all the prerequisites met +* create necessary extra configurations +* update the avatar directory +* create extra database tables + +Now you have: + +``` +haiwen +├── seafile-license.txt +├── seafile-pro-server-1.8.0/ +├── seafile-server-1.8.0/ +├── ccnet/ +├── seafile-data/ +├── seahub-data/ +├── seahub.db +├── seahub_settings.py +└── pro-data/ + +``` + +> **!Note:** If you upgraded from CE 6.3 to CE 7.0 first, then migrated to Pro 7.0. You also need to log in to MySQL server and create the following data tables in `seafile-db` . + +``` +FileLockTimestamp +FileLocks +FolderGroupPerm +FolderPermTimestamp +FolderUserPerm +GCID +LastGCID +OrgGroupRepo +OrgInnerPubRepo +OrgRepo +OrgSharedRepo +RepoStorageId +RoleQuota + +``` + +For the table statement, please check [table statement](./seafile-sql.md). + +### Start Seafile Professional Server + +``` +cd haiwen/seafile-pro-server-1.8.0 +./seafile.sh start +./seahub.sh start + +``` + +## Switch Back to Community Server + +* Stop Seafile Professional Server if it's running + + +``` +cd haiwen/seafile-pro-server-1.8.0/ +./seafile.sh stop +./seahub.sh stop + +``` + +* Update the avatar directory link just like in [Minor Upgrade](https://github.com/haiwen/seafile/wiki/Upgrading-Seafile-Server#minor-upgrade-like-from-150-to-151) + + +``` +cd haiwen/seafile-server-1.8.0/ +./upgrade/minor-upgrade.sh + +``` + +* Start Seafile Community Server + + +``` +cd haiwen/seafile-server-1.8.0/ +./seafile.sh start +./seahub.sh start + +``` + + diff --git a/manual/deploy_pro/migrate_to_ceph.md b/manual/deploy_pro/migrate_to_ceph.md new file mode 100644 index 00000000..7407d6ff --- /dev/null +++ b/manual/deploy_pro/migrate_to_ceph.md @@ -0,0 +1,191 @@ +# Migrate from File System Backend to Ceph + +Ceph is a scalable distributed storage system. Seafile can use Ceph's RADOS object storage layer for storage backend. + +By default, a typical Seafile server deployment uses file system as storage backend (e.g. Ext4). Later you may want to switch to more scalable storage solution like Ceph. This documentation shows you how to migrate your existing date from file system to Ceph and connect to Ceph. If you're deploying a fresh install with Ceph backend, please refer to [setup with Ceph](setup_with_ceph.md). + +## Copy ceph conf file and client keyring + +Seafile acts as a client to Ceph/RADOS, so it needs to access ceph cluster's conf file and keyring. You have to copy these files from a ceph admin node's /etc/ceph directory to the seafile machine. + +``` +seafile-machine# sudo scp user@ceph-admin-node:/etc/ceph/ /etc +``` + +## Install and enable memcached + +For best performance, Seafile requires install memcached and enable memcache for objects. + +We recommend to allocate 128MB memory for memcached. Edit /etc/memcached.conf + +``` +# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default +# Note that the daemon will grow to this size, but does not start out holding this much +# memory +# -m 64 +-m 128 +``` + +## Install Python Ceph Library + +File search and WebDAV functions rely on Python Ceph library installed in the system. + +On Debian/Ubuntu: + +``` +sudo apt-get install python-ceph +``` + +On RedHat/CentOS: + +``` +sudo yum install python-rados +``` + +## Create Pools for Seafile in Ceph + +It's recommended to create separate pools for commit, fs, and block objects. + +``` +ceph-admin-node# rados mkpool seafile-blocks +ceph-admin-node# rados mkpool seafile-commits +ceph-admin-node# rados mkpool seafile-fs +``` + +## Migrate Existing Data to Ceph + +The migration process involves 3 steps: + +1. Create a Seafile config folder for Ceph +2. Run the migration script +3. Update seafile.conf + +### Create a Seafile Config Folder for Ceph + +In the Seafile installation folder (e.g. `haiwen`), + +``` +cd haiwen +mkdir ceph-conf +cp conf/seafile.conf ceph-conf +``` + +Edit `ceph-conf/seafile.conf`, add the following lines: + +``` +[block_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +pool = seafile-blocks +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[commit_object_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +pool = seafile-commits +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[fs_object_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +pool = seafile-fs +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 +``` + +Now there are two seafile.conf files, one under `conf` folder and the other under `ceph-conf` folder. + +### Run Migration Script + +From Pro edition 6.0.0 on, the migration scripts are included in the package. For older versions, you have to download the two scripts into `seafile-server-latest` folder: + +- https://github.com/haiwen/seafile-server/blob/master/scripts/seafobj_migrate.py +- https://github.com/haiwen/seafile-server/blob/master/scripts/migrate-to-ceph.sh + +You can run the migration script when your Seafile server is still running. + +``` +cd haiwen/seafile-server-latest +./migrate-to-ceph.sh ../ceph-conf +``` + +If there is any error in the migration process, the script will stop. After you check and fix the errors, you can run the script again. The script is designed to be idempotent to multiple runs. It only copies non-existing objects to Ceph. The script won't delete any objects from the file system backend. + +***After the initial migration completes successfully, you need to shutdown the Seafile server and run the script again to migrate the data that's added when you run the initial migration.*** Since the script won't migrate objects that have been migrated, this phase should finish in a short time. + +### Update seafile.conf + +After migration is done. You need to update `conf/seafile.conf` to make Seafile server use Ceph as backend in the future. + +``` +cp -R conf conf-backup +cp ceph-conf/seafile.conf conf/seafile.conf +``` + +After restart, Seafile server will use Ceph as backend. + +### Using memcached cluster + +In a cluster environment, you may want to use a memcached cluster. In the above configuration, you have to specify all the memcached server node addresses in seafile.conf + +``` +memcached_options = --SERVER=192.168.1.134 --SERVER=192.168.1.135 --SERVER=192.168.1.136 --POOL-MIN=10 --POOL-MAX=100 --RETRY-TIMEOUT=3600 +``` + +Notice that there is a `--RETRY-TIMEOUT=3600` option in the above config. This option is important for dealing with memcached server failures. After a memcached server in the cluster fails, Seafile server will stop trying to use it for "RETRY-TIMEOUT" (in seconds). You should set this timeout to relatively long time, to prevent Seafile from retrying the failed server frequently, which may lead to frequent request errors for the clients. + +## Notes for Ubuntu 16.04 + +Since version 5.1.0 version, we upgraded the bundled Ceph rados library to 0.94.6. On Ubuntu 16.04, this causes some incompatibility. To work around this issue, you have to install librados 0.94.6 in the Ubuntu system (from Ceph's official repositories) and let Seafile use the library from system. To do this, you have to remove a few bundled libraries: + +``` +cd seafile-server-latest/seafile/lib +rm librados.so.2 libstdc++.so.6 libnspr4.so +``` + +## Use arbitary Ceph user + +The above configuration will use the default (client.admin) user to connect to Ceph. +You may want to use some other Ceph user to connect. This is supported in Seafile. +To specify the Ceph user, you have to add a `ceph_client_id` option to seafile.conf, as the following: + +``` +[block_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +# Sepcify Ceph user for Seafile here +ceph_client_id = seafile +pool = seafile-blocks +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[commit_object_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +# Sepcify Ceph user for Seafile here +ceph_client_id = seafile +pool = seafile-commits +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[fs_object_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +# Sepcify Ceph user for Seafile here +ceph_client_id = seafile +pool = seafile-fs +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 +``` + +You can create a ceph user for seafile on your ceph cluster like this: + +``` +ceph auth add client.seafile \ + mds 'allow' \ + mon 'allow r' \ + osd 'allow rwx pool=seafile-blocks, allow rwx pool=seafile-commits, allow rwx pool=seafile-fs' +``` + +You also have to add this user's keyring path to /etc/ceph/ceph.conf: + +``` +[client.seafile] +keyring = +``` diff --git a/manual/deploy_pro/multi_institutions.md b/manual/deploy_pro/multi_institutions.md new file mode 100644 index 00000000..4c7584ac --- /dev/null +++ b/manual/deploy_pro/multi_institutions.md @@ -0,0 +1,40 @@ +# Multiple Organization/Institution User Management + +Starting from version 5.1, you can add institutions into Seafile and assign users into institutions. Each institution can have one or more administrators. This feature is to ease user administration when multiple organizations (universities) share a single Seafile instance. Unlike multi-tenancy, the users are not-isolated. A user from one institution can share files with another institution. + +## Turn on the feature + +In `seahub_settings.py`, add `MULTI_INSTITUTION = True` to enable multi-institution feature. And add + +``` +EXTRA_MIDDLEWARE_CLASSES += ( + 'seahub.institutions.middleware.InstitutionMiddleware', +) +``` + +or + +``` +EXTRA_MIDDLEWARE_CLASSES = ( + 'seahub.institutions.middleware.InstitutionMiddleware', +) +``` + +if `EXTRA_MIDDLEWARE_CLASSES` is not defined. + +## Add institutions and institution admins + +After restarting Seafile, a system admin can add institutions by adding institution name in admin panel. He can also click into an institution, which will list all users whose `profile.institution` match the name. + +## Assign users to institutions + +If you are using Shibboleth, you can map a Shibboleth attribute into institution. For example, the following configuration maps organization attribute to institution. + +``` +SHIBBOLETH_ATTRIBUTE_MAP = { + "givenname": (False, "givenname"), + "sn": (False, "surname"), + "mail": (False, "contact_email"), + "organization": (False, "institution"), +} +``` diff --git a/manual/deploy_pro/multi_tenancy.md b/manual/deploy_pro/multi_tenancy.md new file mode 100644 index 00000000..10828757 --- /dev/null +++ b/manual/deploy_pro/multi_tenancy.md @@ -0,0 +1,27 @@ +Multi-tenancy feature is designed for hosting providers that what to host several customers in a single Seafile instance. You can create multi-organizations. Organizations is separated from each other. Users can't share libraries between organizations. + +## Seafile Config ## + +#### seafile.conf + +``` +[general] +multi_tenancy = true +``` + +#### seahub_settings.py + +``` +CLOUD_MODE = True +MULTI_TENANCY = True + +ORG_MEMBER_QUOTA_ENABLED = True +``` + +## Usage + +An organization can be created via system admin in “admin panel->organization->Add organization”. + +Every organization has an URL prefix. This field is *for future usage*. When a user create an organization, an URL like org1 will be automatically assigned. + +After creating an organization, the first user will become the admin of that organization. The organization admin can add other users. Note, the system admin can't add users. diff --git a/manual/deploy_pro/multiple_storage_backends.md b/manual/deploy_pro/multiple_storage_backends.md new file mode 100644 index 00000000..214083f1 --- /dev/null +++ b/manual/deploy_pro/multiple_storage_backends.md @@ -0,0 +1,230 @@ +# Multiple Storage Backend + +There are some use cases that supporting multiple storage backends in Seafile server is needed. Such as: + +1. Store different types of files into different storage backends. For example, normal files can be stored in primary storage (disks, SSD); Archived files can be stored in cold storage (tapes or other backup systems). +2. Combine multiple storage backends to extend storage scalability. For example, a single NFS volume may be limited by size; a single S3 bucket of Ceph RGW may suffer performance decrease when the number of objects become very large. + +The library data in Seafile server are spreaded into multiple storage backends in the unit of libraries. All the data in a library will be located in the same storage backend. The mapping from library to its storage backend is stored in a database table. Different mapping policies can be chosen based on the use case. + +To use this feature, you need to: + +1. Define storage classes in seafile.conf. +2. Enable multiple backend feature in seahub and choose a mapping policy. + +## Defining Storage Classes + +In Seafile server, a storage backend is represented by the concept of "storage class". A storage class is defined by specifying the following information: + +* `storage_id`: an internal string ID to identify the storage class. It's not visible to users. For example "primary storage". +* `name`: A user visible name for the storage class. +* `is_default`: whether this storage class is the default. This option are effective in two cases: + * If the chosen mapping policy allows users to choose storage class for a library, this would be the default if the user doesn't choose one. + * For other mapping policies, this option only takes effect when you have some existing libraries before enabling multiple storage backend feature. For existing libraries, the system will automatically map them to the default storage backend. So in this case you have to set the existing storage backend as the default one. +* `commits`:the storage for storing the commit objects for this class. It can be any storage that Seafile supports, like file system, ceph, s3. +* `fs`:the storage for storing the fs objects for this class. It can be any storage that Seafile supports, like file system, ceph, s3. +* `blocks`:the storage for storing the block objects for this class. It can be any storage that Seafile supports, like file system, ceph, s3. + +commit, fs, and blocks can be stored in different storages. This provides the most flexible way to define storage classes. + +As Seafile server before 6.3 version doesn't support multiple storage classes, you have to explicitely enable this new feature and define storage classes with a different syntax than how we define storage backend before. + +First, you have to enable this feature in seafile.conf. + +``` +[storage] +enable_storage_classes = true +storage_classes_file = /opt/seafile_storage_classes.json + +[memcached] +memcached_options = --SERVER= --POOL-MIN=10 --POOL-MAX=100 + +``` + +* enable_storage_classes :If this is set to true, storage class feature is enabled. You have to define the storage classes in a JSON file provided in the next configuration option. +* storage_classes_file:Specifies the path for the JSON file that contains storage class definition. + +The JSON file is an array of objects. Each object defines a storage class. The fields in the definition corresponds to the information we need to specify for a storage class. Below is an example: + +``` +[ +{ +"storage_id": "hot_storage", +"name": "Hot Storage", +"is_default": true, +"commits": {"backend": "s3", "bucket": "seafile-commits", "key": "ZjoJ8RPNDqP1vcdD60U4wAHwUQf2oJYqxN27oR09", "key_id": "AKIAIOT3GCU5VGCCL44A"}, +"fs": {"backend": "s3", "bucket": "seafile-fs", "key": "ZjoJ8RPNDqP1vcdD60U4wAHwUQf2oJYqxN27oR09", "key_id": "AKIAIOT3GCU5VGCCL44A"}, +"blocks": {"backend": "s3", "bucket": "seafile-blocks", "key": "ZjoJ8RPNDqP1vcdD60U4wAHwUQf2oJYqxN27oR09", "key_id": "AKIAIOT3GCU5VGCCL44A"} +}, + +{ +"storage_id": "cold_storage", +"name": "Cold Storage", +"is_default": false, +"fs": {"backend": "fs", "dir": "/storage/seafile/seafile-data"}, +"commits": {"backend": "fs", "dir": "/storage/seafile/seafile-data"}, +"blocks": {"backend": "fs", "dir": "/storage/seafile/seaflle-data"} +}, + +{ +"storage_id": "swift_storage", +"name": "Swift Storage", +"fs": {"backend": "swift", "tenant": "adminTenant", "user_name": "admin", "password": "openstack", "container": "seafile-commits", "auth_host": "192.168.56.31:5000", "auth_ver": "v2.0"}, +"commits": {"backend": "swift", "tenant": "adminTenant", "user_name": "admin", "password": "openstack", "container": "seafile-fs", "auth_host": "192.168.56.31:5000", "auth_ver": "v2.0"}, +"blocks": {"backend": "swift", "tenant": "adminTenant", "user_name": "admin", "password": "openstack", "container": "seafile-blocks", "auth_host": "192.168.56.31:5000", "auth_ver": "v2.0", "region": "RegionTwo"} +} + +{ +"storage_id": "ceph_storage", +"name": "ceph Storage", +"fs": {"backend": "ceph", "ceph_config": "/etc/ceph/ceph.conf", "pool": "seafile-fs"}, +"commits": {"backend": "ceph", "ceph_config": "/etc/ceph/ceph.conf", "pool": "seafile-commits"}, +"blocks": {"backend": "ceph", "ceph_config": "/etc/ceph/ceph.conf", "pool": "seafile-blocks"} +} +] + +``` + +As you may have seen, the `commits`, `fs` and `blocks` information syntax is similar to what used in `[commit_object_backend]`, `[fs_object_backend]` and `[block_backend]` section of seafile.conf. + +If you use file system as storage for `fs`, `commits` or `blocks`, you have to explicitely provide the path for the `seafile-data` directory. The objects will be stored in `storage/commits`, `storage/fs`, `storage/blocks` under this path. + +_Note_: Currently file system, S3 and Swift backends are supported. Ceph/RADOS is supported since version 7.0.14. + +## Library Mapping Policies + +Library mapping policies decide the storage class a library uses. Currently we provide 3 policies for 3 different use cases. The storage class of a library is decided on creation and stored in a database table. The storage class of a library won't change if the mapping policy is changed later. + +Before choosing your mapping policy, you need to enable storage classes feature in seahub_settings.py: + +``` +ENABLE_STORAGE_CLASSES = True + +``` + +### User Chosen + +This policy lets the users to choose which storage class to use when creating a new library. The users can select any storage class that's been defined in the JSON file. + +To use this policy, add following options in seahub_settings.py: + +``` +STORAGE_CLASS_MAPPING_POLICY = 'USER_SELECT' + +``` + +If you enable storage class support but don't explicitely set `STORAGE_CLASS_MAPPING_POLIICY` in seahub_settings.py, this policy is used by default. + +### Role-based Mapping + +Due to storage cost or management consideration, sometimes system admin wants to make different type of users to use different storage backends (or classes). You can configure user's storage classes based on their roles. + +A new option `storage_ids` is added to the role configuration in `seahub_settings.py` to assign storage classes to each role. If only one storage class is assigned to a role, the users with this role cannot choose storage class for libraries; otherwise, the users can choose storage class if more than one classes are assigned. If no storage class is assigned to a role, the default class specified in the JSON file will be used. + +Here is sample options in seahub_settings.py to use this policy: + +``` +ENABLE_STORAGE_CLASSES = True +STORAGE_CLASS_MAPPING_POLICY = 'ROLE_BASED' + +ENABLED_ROLE_PERMISSIONS = { + 'default': { + 'can_add_repo': True, + 'can_add_group': True, + 'can_view_org': True, + 'can_use_global_address_book': True, + 'can_generate_share_link': True, + 'can_generate_upload_link': True, + 'can_invite_guest': True, + 'can_connect_with_android_clients': True, + 'can_connect_with_ios_clients': True, + 'can_connect_with_desktop_clients': True, + 'storage_ids': ['old_version_id', 'hot_storage', 'cold_storage', 'a_storage'], + }, + 'guest': { + 'can_add_repo': True, + 'can_add_group': False, + 'can_view_org': False, + 'can_use_global_address_book': False, + 'can_generate_share_link': False, + 'can_generate_upload_link': False, + 'can_invite_guest': False, + 'can_connect_with_android_clients': False, + 'can_connect_with_ios_clients': False, + 'can_connect_with_desktop_clients': False, + 'storage_ids': ['hot_storage', 'cold_storage'], + }, +} + +``` + +### Library ID Based Mapping + +This policy maps libraries to storage classes based on its library ID. The ID of a library is an UUID. In this way, the data in the system can be evenly districuted among the storage classes. + +Note that this policy is not a designed to be a complete distributed storage solution. It doesn't handle automatical migration of library data between storage classes. If you need to add more storage classes to the configuration, existing libraries will stay in their original storage classes. New libraries can be distributed among the new storage classes (backends). You still have to plan about the total storage capacity of your system at the beginning. + +To use this policy, you first add following options in seahub_settings.py: + +``` +STORAGE_CLASS_MAPPING_POLICY = 'REPO_ID_MAPPING' + +``` + +Then you can add option `for_new_library` to the backends which are expected to store new libraries in json file: + +``` +[ +{ +"storage_id": "new_backend", +"name": "New store", +"for_new_library": true, +"is_default": false, +"fs": {"backend": "fs", "dir": "/storage/seafile/new-data"}, +"commits": {"backend": "fs", "dir": "/storage/seafile/new-data"}, +"blocks": {"backend": "fs", "dir": "/storage/seafile/new-data"} +} +] + +``` + +## Multiple Storage Backend Data Migration + +Run the `migrate-repo.sh` script to migrate library data between different storage backends. + +``` +./migrate-repo.sh [repo_id] origin_storage_id destination_storage_id + +``` + +* repo_id: migrated library id +* origin_storage_id: migrated origin storage id +* destination_storage_id: migrated destination storage id + +repo_id is optional, if not specified, all libraries will be migrated. + +Before running the migration script, you can set the `OBJECT_LIST_FILE_PATH` environment variable to specify a path prefix to store the migrated object list. + +For example: + +``` +export OBJECT_LIST_FILE_PATH=/opt/test + +``` + +This will create three files in the specified path (/opt): `test_4c731e5c-f589-4eaa-889f-14c00d4893cb.fs` `test_4c731e5c-f589-4eaa-889f-14c00d4893cb.commits` `test_4c731e5c-f589-4eaa-889f-14c00d4893cb.blocks` +Setting the `OBJECT_LIST_FILE_PATH` environment variable has two purposes: + +1. If the migrated library is very large, you need to run the migration script multiple times. Setting this environment variable can skip the previously migrated objects. +2. After the migration is complete, if you need to delete the objects in the origin storage, you must set this environment variable. + +### Delete All Objects In a Library In The Specified Storage Backend + +Run the `remove-objs.sh` script (before migration, you need to set the OBJECT_LIST_FILE_PATH environment variable) to delete all objects in a library in the specified storage backend. + +``` +./remove-objs.sh repo_id storage_id + +``` + + diff --git a/manual/deploy_pro/office_documents_preview.md b/manual/deploy_pro/office_documents_preview.md new file mode 100644 index 00000000..406c56ea --- /dev/null +++ b/manual/deploy_pro/office_documents_preview.md @@ -0,0 +1,219 @@ +# Office Documents Preview with LibreOffice + +Seafile Professional Server supports previewing office documents online by converting them to PDF. You can follow these steps to use the feature. If you'd like to edit office files online, you can integrate Seafile with Microsoft Office Online server, LibreOffice online or OnlyOffice. + +## Version 7.0 or below + +### Install Libreoffice/UNO + +Libreoffice 4.1+ and Python-uno library are required to enable office files online preview. + +On Ubuntu/Debian: + +```bash +sudo apt-get install libreoffice libreoffice-script-provider-python + +``` + +> For older version of Ubuntu: `sudo apt-get install libreoffice python-uno` + +On Centos/RHEL: + +```bash +sudo yum install libreoffice libreoffice-headless libreoffice-pyuno + +``` + +For other Linux distributions: [Installation of LibreOffice on Linux](https://wiki.documentfoundation.org/Documentation/Install/Linux#Terminal-Based_Install) + +Also, you may need to install fonts for your language, especially for Asians, otherwise the office/pdf document may not display correctly. + +For example, Chinese users may wish to install the WenQuanYi series of truetype fonts: + +```bash +# For ubuntu/debian +sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy + +``` + +### Install poppler-utils + +The package poppler-utils is also required. + +On Ubuntu/Debian: + +```bash +sudo apt-get install poppler-utils + +``` + +On CentOS/Red Hat: + +```bash +sudo yum install poppler-utils + +``` + +### Enable Office Preview + +1. Open file `seafevents.conf`, in the `OFFICE CONVERTER` section: + +```conf +[OFFICE CONVERTER] +enabled = true + +``` + +1. After modifying and saving `seafevents.conf`, restart seafile server by `./seafile.sh restart` +2. Open a doc/ppt/xls/pdf file on seahub, you should be about the previewing it in your browser. + +### Other Configurable Options + +Here are full list of options you can fine tune: + +```conf +[OFFICE CONVERTER] + +## must be "true" to enable office/pdf file online preview +enabled = true + +## How many libreoffice worker processes to run concurrenlty +workers = 1 + +## where to store the converted office/pdf files. Deafult is /tmp/. +outputdir = /tmp/ + +``` + +## Version 7.1+ + +### Install Libreoffice/UNO + +Libreoffice 4.1+ and Python-uno library are required to enable office files online preview. + +On Ubuntu/Debian: + +```bash +sudo apt-get install libreoffice libreoffice-script-provider-python + +``` + +> For older version of Ubuntu: `sudo apt-get install libreoffice python-uno` + +On Centos/RHEL, you need to first remove the default libreoffice in the distribution: + +``` +yum remove --setopt=clean_requirements_on_remove=0 libreoffice-* + +``` + +Then install version 6.4 or newer ([Installation of LibreOffice on Linux](https://wiki.documentfoundation.org/Documentation/Install/Linux#Terminal-Based_Install)). + +Also, you may need to install fonts for your language, especially for Asians, otherwise the office document may not display correctly. + +### Enable Office Preview + +Open file `seafevents.conf`, in the `OFFICE CONVERTER` section: + +```conf +[OFFICE CONVERTER] +enabled = true +host = 127.0.0.1 +port = 6000 + +``` + +After modifying and saving `seafevents.conf`, restart seafile server by `./seafile.sh restart` + +The office converter process will be started and listen on 127.0.0.1:6000 + +In `seahub_settings.py`, add the following config + +``` +OFFICE_CONVERTOR_ROOT = 'http://127.0.0.1:6000/' + +``` + +Open a doc/ppt/xls file on Seahub, you should be about the previewing it in your browser. + +### Other Configurable Options + +Here are full list of options you can fine tune: + +```conf +[OFFICE CONVERTER] + +## must be "true" to enable office file online preview +enabled = true + +## How many libreoffice worker processes to run concurrenlty +workers = 1 + +## where to store the converted office/pdf files. Deafult is /tmp/. +outputdir = /tmp/ + +host = 127.0.0.1 +port = 6000 + +``` + +## FAQ about Office document preview + +* Document preview doesn't work, where to find more information? + + You can check the log at logs/seafevents.log + +* My server is CentOS, and I see errors like "/usr/lib64/libreoffice/program/soffice.bin X11 error: Can't open display", how could I fix it? + + This error indicates you have not installed the `libreoffice-headless` package. Install it by `"sudo yum install libreoffice-headless"`. + +* Document preview doesn't work on my Ubuntu/Debian server, what can I do? + +Current office online preview works with libreoffice 4.0-4.2. If the version of libreoffice installed by `apt-get` is too old or too new, you can solve this by: + +Remove the installed libreoffice: + +``` +sudo apt-get remove libreoffice* python-uno python3-uno + +``` + +Download libreoffice packages from [libreoffice official site](https://downloadarchive.documentfoundation.org/libreoffice/old/) + +Install the downloaded pacakges: + +``` +tar xf LibreOffice_4.1.6_Linux_x86-64_deb.tar.gz +cd LibreOffice_4.1.6.2_Linux_x86-64_deb +cd DEBS +sudo dpkg -i *.deb + +``` + +Restart your seafile server and try again. It should work now. + +``` +./seafile.sh restart + +``` + +* The browser displays "document conversion failed", and in the logs I see messages like `[WARNING] failed to convert xxx to ...`, what should I do? + + Sometimes the libreoffice process need to be restarted, especially if it's the first time seafile server is running on the server. + + Try to kill the libreoffice process: + + ```sh + pkill -f soffice.bin + + ``` + + Now try re-opening the preview page in the brower again. + + Also if you are deploying seafile in cluster mode, make sure memcached is working on each server. + +* The above solution does not solve my problem. + + Please check whether the user you run Seafile can correctly start the libreoffice process. There may be permission problems. For example, if you use www-data user to run Seafile, make sure www-data has a home directory and can write to the home directory. + + diff --git a/manual/deploy_pro/office_web_app.md b/manual/deploy_pro/office_web_app.md new file mode 100644 index 00000000..0b17c143 --- /dev/null +++ b/manual/deploy_pro/office_web_app.md @@ -0,0 +1,82 @@ +# Office Online Server + +In Seafile Professional Server Version 4.4.0 (or above), you can use Microsoft Office Online Server (formerly named Office Web Apps) to preview documents online. Office Online Server provides the best preview for all Office format files. It also support collaborative editing of Office files directly in the web browser. For organizations with Microsoft Office Volume License, it's free to use Office Online Server. For more information about Office Online Server and how to deploy it, please refer to . + +**Notice**: Seafile only supports Office Online Server 2016 and above. + +Seafile's own Office file preview is still the default. To use Office Online Server for preview, please add following config option to seahub_settings.py. + +```python +# Enable Office Online Server +ENABLE_OFFICE_WEB_APP = True + +# Url of Office Online Server's discovery page +# The discovery page tells Seafile how to interact with Office Online Server when view file online +# You should change `http://example.office-web-app.com` to your actual Office Online Server server address +OFFICE_WEB_APP_BASE_URL = 'http://example.office-web-app.com/hosting/discovery' + +# Expiration of WOPI access token +# WOPI access token is a string used by Seafile to determine the file's +# identity and permissions when use Office Online Server view it online +# And for security reason, this token should expire after a set time period +WOPI_ACCESS_TOKEN_EXPIRATION = 60 * 60 * 24 # seconds + +# List of file formats that you want to view through Office Online Server +# You can change this value according to your preferences +# And of course you should make sure your Office Online Server supports to preview +# the files with the specified extensions +OFFICE_WEB_APP_FILE_EXTENSION = ('ods', 'xls', 'xlsb', 'xlsm', 'xlsx','ppsx', 'ppt', + 'pptm', 'pptx', 'doc', 'docm', 'docx') + +# Enable edit files through Office Online Server +ENABLE_OFFICE_WEB_APP_EDIT = True + +# types of files should be editable through Office Online Server +# Note, Office Online Server 2016 is needed for editing docx +OFFICE_WEB_APP_EDIT_FILE_EXTENSION = ('xlsx', 'pptx', 'docx') + + +# HTTPS authentication related (optional) + +# Server certificates +# Path to a CA_BUNDLE file or directory with certificates of trusted CAs +# NOTE: If set this setting to a directory, the directory must have been processed using the c_rehash utility supplied with OpenSSL. +OFFICE_WEB_APP_SERVER_CA = '/path/to/certfile' + + +# Client certificates +# You can specify a single file (containing the private key and the certificate) to use as client side certificate +OFFICE_WEB_APP_CLIENT_PEM = 'path/to/client.pem' + +# or you can specify these two file path to use as client side certificate +OFFICE_WEB_APP_CLIENT_CERT = 'path/to/client.cert' +OFFICE_WEB_APP_CLIENT_KEY = 'path/to/client.key' + +``` + +Then restart + +``` +./seafile.sh restart +./seahub.sh restart + +``` + +After you click the document you specified in seahub_settings.py, you will see the new preview page. + +![office-web-app](../images/office-web-app.png) + +## Trouble shooting + +Understanding how the web app integration works is going to help you debugging the problem. When a user visits a file page: + +1. (seahub->browser) Seahub will generate a page containing an iframe and send it to the browser +2. (browser->office online server) With the iframe, the browser will try to load the file preview page from the office online server +3. (office online server->seahub) office online server receives the request and sends a request to Seahub to get the file content +4. (office online server->browser) office online server sends the file preview page to the browser. + +Please check the Nginx log for Seahub (for step 3) and Office Online Server to see which step is wrong. + +### Notes on Windows paging files + +You should make sure you have configured at least a few GB of paging files in your Windows system. Otherwise the IIS worker processes may die randomly when handling Office Online requests. diff --git a/manual/deploy_pro/real_time_backup.md b/manual/deploy_pro/real_time_backup.md new file mode 100644 index 00000000..7beeae07 --- /dev/null +++ b/manual/deploy_pro/real_time_backup.md @@ -0,0 +1,184 @@ +# Seafile Real-Time Backup Server + +Backup is the procedure that copies data from a primary server (which is running production service) to a backup server. + +Backup is an important procedure to keep data safe. The basic backup procedure described in [this documentation](../maintain/backup_recovery.md) has a few drawbacks: + +- The backup is done in fixed "backup windows" (once per day or a few times per day). The latest data written between two backup windows will be lost if the primary server storage is damaged. +- The backup procedure backup database and data directory separately. In the backup server, some entries in the database may become inconsistent with the data directory. This causes some libraries become "corrupted" after restore. + +The real-time backup server uses a syncing algorithm similar to the Seafile desktop client to retrieve data from the primary server. It works as follows: + +- Whenever a library is updated, the primary server notifies the backup server to retrieve the changed data. With a delta syncing algorithm, this procedure runs quickly and updates the backup server in nearly real-time. +- The backup server also checks all libraries on the primary server at a fixed period. Any new or updated libraries will be synced to the backup server. This will pick up any legged updates due to glitches in the above real-time sync procedure. +- The backup server always keep the database and data directory consistent. So no libraries on the backup server will be in corrupted state (unless they're already corrupted on the primary server). +- The full history of all libraries will be backed up. This is not like the desktop client, which only syncs the latest state of a library. + +There are two sets of data that need to be backup: + +- The seafile-data directory and the core library metadata tables in the seafile database. This data is the core data structures of the libraries in Seafile. They're synced to the backup server with Seafile's syncing algorithm. In this procedure, the metadata tables are kept consistent with the seafile-data directory. +- All other tables in the database (including seafile, ccnet and seahub databases) are backup with mysqldump. mysqldump can't backup the database in real time. You can setup a crontab for mysqldump at regular intervals. The latency of backup for these tables doesn't affect the integrity of library data. + +In the following discussion, we'll use "primary server" and "master server", "backup server" and "slave server" interchangeably. + +## Configure Real-Time Backup Server + +We assume you already have a primary server running, and now you want to setup a backup server. + +The steps to setup the backup server are: + +1. Install Seafile on the backup server +2. Configure Seafile syncing between the primary server and the backup server +3. Backup the tables in the database by `mysqldump` at regular intervals + +### Install Seafile on the Backup Server + +You should install Seafile Pro Edition on the backup server according to [this documentation](../deploy_pro/download_and_setup_seafile_professional_server.md). Since the real-time backup feature is only available for 5.1.0 or later, you also have to upgrade your primary server to 5.1.0 version or later. + +When installing Seafile on the backup server, you have to notice: + +- The database names (ccnet, seafile and seahub database) should be the same as the names on the primary server. +- You don't need to enable other Pro features, such as Office file preview, search indexing, file auditing etc. +- You can't start the seahub progress on backup server. It means that usually the Seafile backup server can't provide service. + +### Configure Real-time Backup in Seafile + +On the primary server, add following options to seafile.conf: + +``` +[backup] +backup_url = http://backup-server +sync_token = c7a78c0210c2470e14a20a8244562ab8ad509734 +``` + +On the backup server, add following options to seafile.conf: + +``` +[backup] +primary_url = http://primary-server +sync_token = c7a78c0210c2470e14a20a8244562ab8ad509734 +sync_poll_interval = 3 +``` + +- `backup_url`: the backup server's address in url format. You can use http or https. +- `primary_url`: the primary server's address in url format. +- `sync_token`: a secret that shared between the primary and backup server. It's 40 character SHA1 generated by the system admin. You can use `uuidgen | openssl sha1` command to generate a random token. +- `sync_poll_interval`: The backup server polls all libraries of the primary server periodically. You can set the poll interval in the unit of hours. The default interval is 1 hour, which mean the backup server will poll the primary every hour. You should choose larger intervals if you have large number of libraries. + +If you use https to sync between primary and backup servers, you have to use the correct Seafile server package for your system. If you run CentOS, you should use the Seafile package named without "Ubuntu" suffix; if you run Debian or Ubuntu, you should use the Seafile package named with "Ubuntu" suffix. Otherwise you may meet CA error in https requests. + +After saving the configuration, restart seafile service on the primary and backup servers. The backup server will automatically start backup on restart. + +**Note**: Don't start the seahub progress on the Seafile backup server. + +### Backup the Databases + +Backup data from the databases on the primary server's MySQL with mysqldump: + +``` +mysqldump -u -p --databases \ +--ignore-table=.Repo \ +--ignore-table=.Branch \ +--ignore-table=.RepoHead \ + > dbdump.sql +``` + +You should replace ``, `` with your MySQL admin user and password. You should replace ``, `` and `` with your database names. + +The three ignored tables are core tables related to library data and are synced by Seafile backup server in a real-time manner. They're kept in the seafile database of the backup server and are separated from the mysqldump process. + +**You should setup crontab to run the mysqldump at regular intervals.** + +If you want to backup the tables (except for the 3 tables synced by Seafile) in a more real-time manner, you can deploy the master-slave replication for the MySQL/MariaDB database from the primary node to another database server. **The database running on the backup server must not be used as the target of this replication.** Otherwise you'll end up with replication conflicts, since the db on backup server will also be updated by Seafile backup process too. + +### Checking Backup Status + +After the above setup, you should now have the below layout of your backup data: + +* Library data is backed up and managed by Seafile backup server. The data can be stored on external storage, object storage, or local disk, depending on your setup for the backup server. +* Database tables are splited into two parts: + * 3 core library tables are backup in real-time to the backup node's MySQL database. + * Other tables are regularly dumped to a file with mysqldump. The backup files are stored somewhere other than the primary server. + +`seaf-backup-cmd.sh` provides `status` command to view the backup status. The output is like: + +``` +# ./seaf-backup-cmd.sh status +Total number of libraries: xxx +Number of synchronized libraries: xxx +Number of libraries waiting for sync: xxx +Number of libraries syncing: xxx +Number of libraries failed to sync: xxx + +List of syncing libraries: +xxx +xxx + +List of libraries failed to sync: +xxx +xxx +``` + +There are a few reasons that may fail the backup of a library: + +- Some data in the primary server is corrupted. The data may be in the latest state or in history. Since the backup procedure syncs the full history, corruption in history will fail the backup. +- The primary server has run seaf-fsck, which may restore a library back to an older state. + +## Restore from the Backup Server + +In the unfortunate situation of severe data corruptoin happens on the primary server, you can restore your service quickly directly on the backup server. The recovered service can directly be run on the backup server. + +There are tow steps to restore on the backup server: + +- Import the latest mysql dump file into the Seafile backup server's MySQL database. +- Enable other Pro features on the Seafile backup server, and start seahub progress `./seahub.sh start`. + +#### Step1: Import mysql dump file into backup server + +Importing the latest mysql dump file into the backup server's database: + +``` +mysql -u -p < dbdump.sql +``` + +Replace `` and `` with your MySQL admin user name and password. + +#### Step2: Start the backup server's seahub + +Copy the seafile's configuration to the backup server, then start the seahub progress on the backup server. + +``` +./seahub.sh start +``` + +## Setup Backup Server for Seafile Cluster + +If your primary service runs as a Seafile cluster, you have two points to notice when setting up a backup server: + +1. You should only use one MySQL instance as the replication master, if you're using MariaDB cluster. +2. You have to change seafile.conf and set the `backup_url` and `sync_token` options on each Seafile node. The configuration on all primary Seafile node should be the same. They all point to the same backup server. + +Currently you cannot deploy the backup service **as** a cluster. That is, you can only use a single node as backup server. This support may be added in the future. + +## Managing the Real-time Backup Server + +`seaf-backup-cmd.sh` script is the tool for managing the backup server. The `seaf-backup-cmd.sh` script provides the following commands: + +### Manually Trigger Syncing a Library + +You can use the `sync` command to manually schedule backup of a library: + +``` +# ./seaf-backup-cmd.sh sync +``` + +The command will block until the backup is finished. + +### Handling Backup Errors + +The `--force` option of `sync` command can be used to force failing backup to complete. Permanent backup failures are usually caused by data corruption of a library in the primary server. The `--force` option asks the backup to skip corrupted objects and finish the backup. + +When you find a backup error, follow two steps: + +1. Run seaf-fsck on the primary server, for the failing libraries. Fsck fixes any corruption for the latest state of the libraries. +2. Run `seaf-backup-cmd.sh sync --force ` on the backup server. diff --git a/manual/deploy_pro/roles_permissions.md b/manual/deploy_pro/roles_permissions.md new file mode 100644 index 00000000..5c26f914 --- /dev/null +++ b/manual/deploy_pro/roles_permissions.md @@ -0,0 +1,159 @@ +# Roles and Permissions Support + +Starting from version 6.0, you can add/edit roles and permission for users. A role is just a group of users with some pre-defined permissions, you can toggle user roles in user list page at admin panel. + +In version 6.0, we support 10 permissions, more permissions will be added later. + +In version 6.1, we added a new permission `role_quota` which can be used to set quota for a certain role of users. For example, we can set the quota of employee to 100G by adding `'role_quota': '100g'`, and leave other role of users to the default quota. + +Since version 6.3.6, we added a new permission `can_add_public_repo`(whether or not you can create a public library, default is "False"). + +**Note:**The `can_add_public_repo` option will not take effect if you configure global `CLOUD_MODE = True`. + +Seafile comes with two build-in roles `default` and `guest`, a default user is a normal user with permissions as followings: +``` + 'default': { + 'can_add_repo': True, + 'can_add_group': True, + 'can_view_org': True, + 'can_use_global_address_book': True, + 'can_generate_share_link': True, + 'can_generate_upload_link': True, + 'can_invite_guest': False, + 'can_connect_with_android_clients': True, + 'can_connect_with_ios_clients': True, + 'can_connect_with_desktop_clients': True, + 'role_quota': '', + 'can_publish_repo': True, + }, +``` + +While a guest user can only read files/folders in the system, here are the permissions for a guest user: +``` + 'guest': { + 'can_add_repo': False, + 'can_add_group': False, + 'can_view_org': False, + 'can_use_global_address_book': False, + 'can_generate_share_link': False, + 'can_generate_upload_link': False, + 'can_invite_guest': False, + 'can_connect_with_android_clients': False, + 'can_connect_with_ios_clients': False, + 'can_connect_with_desktop_clients': False, + 'role_quota': '', + 'can_publish_repo': False, + }, +``` + +## Edit build-in roles + +If you want to edit the permissions of build-in roles, e.g. default users can invite guest, guest users can view repos in organization, you can add following lines to `seahub_settings.py` with corresponding permissions set to `True`. + +``` +ENABLED_ROLE_PERMISSIONS = { + 'default': { + 'can_add_repo': True, + 'can_add_group': True, + 'can_view_org': True, + 'can_use_global_address_book': True, + 'can_generate_share_link': True, + 'can_generate_upload_link': True, + 'can_invite_guest': True, + 'can_connect_with_android_clients': True, + 'can_connect_with_ios_clients': True, + 'can_connect_with_desktop_clients': True, + 'role_quota': '', + 'can_publish_repo': True, + }, + 'guest': { + 'can_add_repo': False, + 'can_add_group': False, + 'can_view_org': True, + 'can_use_global_address_book': False, + 'can_generate_share_link': False, + 'can_generate_upload_link': False, + 'can_invite_guest': False, + 'can_connect_with_android_clients': False, + 'can_connect_with_ios_clients': False, + 'can_connect_with_desktop_clients': False, + 'role_quota': '', + 'can_publish_repo': False, + } +} +``` + +### More about guest invitation feature + +An user who has `can_invite_guest` permission can invite people outside of the organization as guest. + +In order to use this feature, in addition to granting `can_invite_guest` permission to the user, add the following line to `seahub_settings.py`, + +``` +ENABLE_GUEST_INVITATION = True +``` + +After restarting, users who have `can_invite_guest` permission will see "Invite People" section at sidebar of home page. + +Users can invite a guest user by providing his/her email address, system will email the invite link to the user. + +**Tip:** If you want to block certain email addresses for the invitation, you can define a blacklist, e.g. + +``` +INVITATION_ACCEPTER_BLACKLIST = ["a@a.com", "*@a-a-a.com", r".*@(foo|bar).com", ] +``` + +After that, email address "a@a.com", any email address ends with "@a-a-a.com" and any email address ends with "@foo.com" or "@bar.com" will not be allowed. + + +## Add custom roles + +If you want to add a new role and assign some users with this role, e.g. new role `employee` can invite guest and can create public library and have all other permissions a default user has, you can add following lines to `seahub_settings.py` + +``` +ENABLED_ROLE_PERMISSIONS = { + 'default': { + 'can_add_repo': True, + 'can_add_group': True, + 'can_view_org': True, + 'can_use_global_address_book': True, + 'can_generate_share_link': True, + 'can_generate_upload_link': True, + 'can_invite_guest': False, + 'can_connect_with_android_clients': True, + 'can_connect_with_ios_clients': True, + 'can_connect_with_desktop_clients': True, + 'role_quota': '', + 'can_publish_repo': True, + }, + 'guest': { + 'can_add_repo': False, + 'can_add_group': False, + 'can_view_org': False, + 'can_use_global_address_book': False, + 'can_generate_share_link': False, + 'can_generate_upload_link': False, + 'can_invite_guest': False, + 'can_connect_with_android_clients': False, + 'can_connect_with_ios_clients': False, + 'can_connect_with_desktop_clients': False, + 'role_quota': '', + 'can_publish_repo': False, + }, + 'employee': { + 'can_add_repo': True, + 'can_add_group': True, + 'can_view_org': True, + 'can_use_global_address_book': True, + 'can_generate_share_link': True, + 'can_generate_upload_link': True, + 'can_invite_guest': True, + 'can_connect_with_android_clients': True, + 'can_connect_with_ios_clients': True, + 'can_connect_with_desktop_clients': True, + 'role_quota': '', + 'can_add_public_repo': True, + 'can_publish_repo': True, + }, +} +``` diff --git a/manual/deploy_pro/seaf_encrypt.md b/manual/deploy_pro/seaf_encrypt.md new file mode 100644 index 00000000..60b1800d --- /dev/null +++ b/manual/deploy_pro/seaf_encrypt.md @@ -0,0 +1,91 @@ +# Seafile Storage Encryption Backend + +Since Seafile Professional Server 5.1.3, we support storage enryption backend functionality. When enabled, all seafile objects (commit, fs, block) will be encrypted with AES 256 CBC algorithm, before writing them to the storage backend. Currently supported backends are: file system, Ceph, Swift and S3. + +Note that all objects will be encrypted with the same global key/iv pair. The key/iv pair has to be generated by the system admin and stored safely. If the key/iv pair is lost, all data cannot be recovered. + +## Configure Storage Backend Encryption + +### Generate Key and IV + +Go to /seafile-server-latest, execute `./seaf-gen-key.sh -h`. it will print the following usage information: + +``` +usage : +seaf-gen-key.sh + -p +``` + +By default, the key/iv pair will be saved to a file named seaf-key.txt in the current directory. You can use '-p' option to change the path. + +### Configure a freshly installed Seafile Server + +Add the following configuration to seafile.conf: + +``` +[store_crypt] +key_path = +``` + +Now the encryption feature should be working. + +### Migrating Existing Seafile Server + +If you have existing data in the Seafile server, you have to migrate/encrypt the existing data. **You must stop Seafile server before migrating the data.** + +#### Create Directories for Encrypted Data + +Create new configuration and data directories for the encrypted data. + +``` +cd seafile-server-latest +cp -r conf conf-enc +mkdir seafile-data-enc +cp -r seafile-data/library-template seafile-data-enc +# If you use SQLite database +cp seafile-data/seafile.db seafile-data-enc/ +``` + +#### Edit Config Files + +If you configured S3/Swift/Ceph backend, edit /conf-enc/seafile.conf. You must use a different bucket/container/pool to store the encrypted data. + +Then add the following configuration to /conf-enc/seafile.conf + +``` +[store_crypt] +key_path = +``` + +#### Migrate the Data + +Go to /seafile-server-latest, use the seaf-encrypt.sh script to migrate the data. + +Run `./seaf-encrypt.sh -f ../conf-enc -e ../seafile-data-enc`, + +``` +Starting seaf-encrypt, please wait ... +[04/26/16 06:59:40] seaf-encrypt.c(444): Start to encrypt 57 block among 12 repo. +[04/26/16 06:59:40] seaf-encrypt.c(444): Start to encrypt 102 fs among 12 repo. +[04/26/16 06:59:41] seaf-encrypt.c(454): Success encrypt all fs. +[04/26/16 06:59:40] seaf-encrypt.c(444): Start to encrypt 66 commit among 12 repo. +[04/26/16 06:59:41] seaf-encrypt.c(454): Success encrypt all commit. +[04/26/16 06:59:41] seaf-encrypt.c(454): Success encrypt all block. +seaf-encrypt run done +Done. +``` + +If there are error messages after executing seaf-encrypt.sh, you can fix the problem and run the script again. Objects that have already been migrated will not be copied again. + +#### Clean Up + +Go to , execute following commands: + +``` +mv conf conf-bak +mv seafile-data seafile-data-bak +mv conf-enc conf +mv seafile-data-enc seafile-data +``` + +Restart Seafile Server. If everything works okay, you can remove the backup directories. diff --git a/manual/deploy_pro/seaf_import.md b/manual/deploy_pro/seaf_import.md new file mode 100644 index 00000000..4f0b09d7 --- /dev/null +++ b/manual/deploy_pro/seaf_import.md @@ -0,0 +1,30 @@ +# Import Directory To Seafile + +Since seafile 5.1.3 pro edition, we support importing a local directory on the server to seafile. It's a handy tool for the system admin to import files from existing file servers (NFS, Samba etc.). + +To import a directory, use the `seaf-import.sh` script in seafile-server-latest directory. + +``` +usage : +seaf-import.sh + -p + -n + -u +``` + +The specified directory will be imported into Seafile as a library. You can set the name and owner of the imported library. + +Run `./seaf-import.sh -p -n -u `, + +``` +Starting seaf-import, please wait ... +[04/26/16 03:36:23] seaf-import.c(79): Import file ./runtime/seahub.pid successfully. +[04/26/16 03:36:23] seaf-import.c(79): Import file ./runtime/error.log successfully. +[04/26/16 03:36:23] seaf-import.c(79): Import file ./runtime/seahub.conf successfully. +[04/26/16 03:36:23] seaf-import.c(79): Import file ./runtime/access.log successfully. +[04/26/16 03:36:23] seaf-import.c(183): Import dir ./runtime/ to repo 5ffb1f43 successfully. + run done +Done. +``` + +Login to seafile server with the specified library owner, you will find a new library with the specified name. diff --git a/manual/deploy_pro/seafile-sql.md b/manual/deploy_pro/seafile-sql.md new file mode 100644 index 00000000..7c2a2e7e --- /dev/null +++ b/manual/deploy_pro/seafile-sql.md @@ -0,0 +1,114 @@ +``` +CREATE TABLE IF NOT EXISTS FileLockTimestamp ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + repo_id CHAR(40), + update_time BIGINT NOT NULL, + UNIQUE INDEX(repo_id) +); + +CREATE TABLE IF NOT EXISTS FileLocks ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + repo_id CHAR(40) NOT NULL, + path TEXT NOT NULL, + user_name VARCHAR(255) NOT NULL, + lock_time BIGINT, + expire BIGINT, + KEY(repo_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS FolderGroupPerm ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + repo_id CHAR(36) NOT NULL, + path TEXT NOT NULL, + permission CHAR(15), + group_id INTEGER NOT NULL, + INDEX(repo_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS FolderPermTimestamp ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + repo_id CHAR(36), + timestamp BIGINT, + UNIQUE INDEX(repo_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS FolderUserPerm ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + repo_id CHAR(36) NOT NULL, + path TEXT NOT NULL, + permission CHAR(15), + user VARCHAR(255) NOT NULL, + INDEX(repo_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS GCID ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + repo_id CHAR(36), + gc_id CHAR(36), + UNIQUE INDEX(repo_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS LastGCID ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + repo_id CHAR(36), + client_id VARCHAR(128), + gc_id CHAR(36), + UNIQUE INDEX(repo_id, client_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS OrgGroupRepo ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + org_id INTEGER, + repo_id CHAR(37), + group_id INTEGER, + owner VARCHAR(255), + permission CHAR(15), + UNIQUE INDEX(org_id, group_id, repo_id), + INDEX (repo_id), INDEX (owner) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS OrgInnerPubRepo ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + org_id INTEGER, + repo_id CHAR(37), + UNIQUE INDEX(org_id, repo_id), + permission CHAR(15) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS OrgRepo ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + org_id INTEGER, + repo_id CHAR(37), + user VARCHAR(255), + UNIQUE INDEX(org_id, repo_id), + UNIQUE INDEX (repo_id), + INDEX (org_id, user), + INDEX(user) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS OrgSharedRepo ( + id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, + org_id INT, + repo_id CHAR(37) , + from_email VARCHAR(255), + to_email VARCHAR(255), + permission CHAR(15), + INDEX(repo_id), + INDEX (org_id, repo_id), + INDEX(from_email), INDEX(to_email) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS RepoStorageId ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + repo_id CHAR(40) NOT NULL, + storage_id VARCHAR(255) NOT NULL, + UNIQUE INDEX(repo_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS RoleQuota ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + role VARCHAR(255), + quota BIGINT, + UNIQUE INDEX(role) +) ENGINE=INNODB; +``` \ No newline at end of file diff --git a/manual/deploy_pro/seafile_professional_sdition_software_license_agreement.md b/manual/deploy_pro/seafile_professional_sdition_software_license_agreement.md new file mode 100644 index 00000000..b9a8e45f --- /dev/null +++ b/manual/deploy_pro/seafile_professional_sdition_software_license_agreement.md @@ -0,0 +1,54 @@ +# Seafile Professional Edition Software License Agreement + +Seafile Professional Edition +SOFTWARE LICENSE AGREEMENT + +NOTICE: READ THE FOLLOWING TERMS AND CONDITIONS CAREFULLY BEFORE YOU DOWNLOAD, INSTALL OR USE Seafile Ltd.'S PROPRIETARY SOFTWARE. BY INSTALLING OR USING THE SOFTWARE, YOU AGREE TO BE BOUND BY THE FOLLOWING TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO THE FOLLOWING TERMS AND CONDITIONS, DO NOT INSTALL OR USE THE SOFTWARE. + +## 1. DEFINITIONS + +"Seafile Ltd." means Seafile Ltd. + +"You and Your" means the party licensing the Software hereunder. + +"Software" means the computer programs provided under the terms of this license by Seafile Ltd. together with any documentation provided therewith. + +## 2. GRANT OF RIGHTS + +### 2.1 General +The License granted for Software under this Agreement authorizes You on a non-exclusive basis to use the Software. The Software is licensed, not sold to You and Seafile Ltd. reserves all rights not expressly granted to You in this Agreement. The License is personal to You and may not be assigned by You to any third party. + +### 2.2 License Provisions +Subject to the receipt by Seafile Ltd. of the applicable license fees, You have the right use the Software as follows: + +* You may use and install the Software on an unlimited number of computers that are owned, leased, or controlled by you. +* Nothing in this Agreement shall permit you, or any third party to disclose or otherwise make available to any third party the licensed Software, source code or any portion thereof. +* You agree to indemnify, hold harmless and defend Seafile Ltd. from and against any claims or lawsuits, including attorney's fees, that arise as a result from the use of the Software; +* You do not permit further redistribution of the Software by Your end-user customers + +## 3. NO DERIVATIVE WORKS +The inclusion of source code with the License is explicitly not for your use to customize a solution or re-use in your own projects or products. The benefit of including the source code is for purposes of security auditing. You may modify the code only for emergency bug fixes that impact security or performance and only for use within your enterprise. You may not create or distribute derivative works based on the Software or any part thereof. If you need enhancements to the software features, you should suggest them to Seafile Ltd. for version improvements. + +## 4. OWNERSHIP +You acknowledge that all copies of the Software in any form are the sole property of Seafile Ltd.. You have no right, title or interest to any such Software or copies thereof except as provided in this Agreement. + +## 5. CONFIDENTIALITY +You hereby acknowledge and agreed that the Software constitute and contain valuable proprietary products and trade secrets of Seafile Ltd., embodying substantial creative efforts and confidential information, ideas, and expressions. You agree to treat, and take precautions to ensure that your employees and other third parties treat, the Software as confidential in accordance with the confidentiality requirements herein. + +## 6. DISCLAIMER OF WARRANTIES +EXCEPT AS OTHERWISE SET FORTH IN THIS AGREEMENT THE SOFTWARE IS PROVIDED TO YOU "AS IS", AND Seafile Ltd. MAKES NO EXPRESS OR IMPLIED WARRANTIES WITH RESPECT TO ITS FUNCTIONALITY, CONDITION, PERFORMANCE, OPERABILITY OR USE. WITHOUT LIMITING THE FOREGOING, Seafile Ltd. DISCLAIMS ALL IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR FREEDOM FROM INFRINGEMENT. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU. THE LIMITED WARRANTY HEREIN GIVES YOU SPECIFIC LEGAL RIGHTS, AND YOU MAY ALSO HAVE OTHER RIGHTS THAT VARY FROM ONE JURISDICTION TO ANOTHER. + +## 7. LIMITATION OF LIABILITY +YOU ACKNOWLEDGE AND AGREE THAT THE CONSIDERATION WHICH Seafile Ltd. IS CHARGING HEREUNDER DOES NOT INCLUDE ANY CONSIDERATION FOR ASSUMPTION BY Seafile Ltd. OF THE RISK OF YOUR CONSEQUENTIAL OR INCIDENTAL DAMAGES WHICH MAY ARISE IN CONNECTION WITH YOUR USE OF THE SOFTWARE. ACCORDINGLY, YOU AGREE THAT Seafile Ltd. SHALL NOT BE RESPONSIBLE TO YOU OR ANY THIRD PARTY FOR ANY LOSS-OF-PROFIT, LOST SAVINGS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF A LICENSING OR USE OF THE SOFTWARE. + +## 8. INDEMNIFICATION +You agree to defend, indemnify and hold Seafile Ltd. and its employees, agents, representatives and assigns harmless from and against any claims, proceedings, damages, injuries, liabilities, costs, attorney's fees relating to or arising out of Your use of the Software or any breach of this Agreement. + +## 9. TERMINATION +Your license is effective until terminated. You may terminate it at any time by destroying the Software or returning all copies of the Software to Seafile Ltd.. Your license will terminate immediately without notice if You breach any of the terms and conditions of this Agreement, including non or incomplete payment of the license fee. Upon termination of this Agreement for any reason: You will uninstall all copies of the Software; You will immediately cease and desist all use of the Software; and will destroy all copies of the software in your possession. + +## 10. UPDATES AND SUPPORT +Seafile Ltd. has the right, but no obligation, to periodically update the Software, at its complete discretion, without the consent or obligation to You or any licensee or user. + + +YOU HEREBY ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. diff --git a/manual/deploy_pro/setup_seafile_cluster_with_nfs.md b/manual/deploy_pro/setup_seafile_cluster_with_nfs.md new file mode 100644 index 00000000..fe350883 --- /dev/null +++ b/manual/deploy_pro/setup_seafile_cluster_with_nfs.md @@ -0,0 +1,27 @@ +# Setup Seafile cluster with NFS + +In a Seafile cluster, one common way to share data among the Seafile server instances is to use NFS. You should only share the files objects on NFS. Here we'll provide a tutorial about how and what to share. + +How to setup nfs server and client is beyond the scope of this wiki. Here are few references: + +* Ubuntu: https://help.ubuntu.com/community/SettingUpNFSHowTo +* CentOS: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-nfs.html + +Supposed your seafile server installation directory is `/data/haiwen`, after you run the setup script there should be a `seafile-data` directory in it. And supposed you mount the NFS drive on `/seafile-nfs`, you should follow a few steps: + +* Move the `seafile-data` folder to `/seafile-nfs`: + +``` +mv /data/haiwen/seafile-data /seafile-nfs/ +``` + + +* On every node in the cluster, make a symbolic link to the shared seafile-data folder + +``` +cd /data/haiwen +ln -s /seafile-nfs/seafile-data /data/haiwen/seafile-data +``` + + +This way the instances will share the same `seafile-data` folder. All other config files and log files will remain independent. diff --git a/manual/deploy_pro/setup_with_amazon_s3.md b/manual/deploy_pro/setup_with_amazon_s3.md new file mode 100644 index 00000000..5296da52 --- /dev/null +++ b/manual/deploy_pro/setup_with_amazon_s3.md @@ -0,0 +1,160 @@ +# Setup With Amazon S3 + +**Note**: Since Seafile Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +## Prepare + +To setup Seafile Professional Server with Amazon S3: + +- Setup the basic Seafile Professional Server following the guide on [Download and setup Seafile Professional Server](download_and_setup_seafile_professional_server.md) +- Install the python `boto` library. It's needed to access S3 service. +``` +sudo easy_install boto +``` +- Install and configure memcached. For best performance, Seafile requires install memcached and enable memcache for objects. We recommend to allocate 128MB memory for memcached. Edit /etc/memcached.conf + +``` +# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default +# Note that the daemon will grow to this size, but does not start out holding this much +# memory +# -m 64 +-m 128 +``` + +## Modify Seafile.conf + +Edit `seafile.conf`, add the following lines: + +``` +[commit_object_backend] +name = s3 +# bucket name can only use lowercase characters, numbers, periods and dashes. Period cannot be used in Frankfurt region. +bucket = my-commit-objects +key_id = your-key-id +key = your-secret-key +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[fs_object_backend] +name = s3 +# bucket name can only use lowercase characters, numbers, periods and dashes. Period cannot be used in Frankfurt region. +bucket = my-fs-objects +key_id = your-key-id +key = your-secret-key +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[block_backend] +name = s3 +# bucket name can only use lowercase characters, numbers, periods and dashes. Period cannot be used in Frankfurt region. +bucket = my-block-objects +key_id = your-key-id +key = your-secret-key +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 +``` + +It's recommended to create separate buckets for commit, fs, and block objects. +The key_id and key are required to authenticate you to S3. You can find the key_id and key in the "security credentials" section on your AWS account page. + +When creating your buckets on S3, please first read [S3 bucket naming rules][1]. Note especially not to use **UPPERCASE** letters in bucket names (don't use camel style names, such as MyCommitOjbects). + +### Use S3 in newer regions + +After Januaray 2014, new regions of AWS will only support authentication signature version 4 for S3. At this time, new region includes Frankfurt and China. + +To use S3 backend in these regions, add following options to commit_object_backend, fs_object_backend and block_backend section in seafile.conf + +``` +use_v4_signature = true +# eu-central-1 for Frankfurt region +aws_region = eu-central-1 +``` + +For file search and webdav to work with the v4 signature mechanism, you need to add following lines to ~/.boto + +``` +[s3] +use-sigv4 = True +``` + +### Using memcached cluster + +In a cluster environment, you may want to use a memcached cluster. In the above configuration, you have to specify all the memcached server node addresses in seafile.conf + +``` +memcached_options = --SERVER=192.168.1.134 --SERVER=192.168.1.135 --SERVER=192.168.1.136 --POOL-MIN=10 --POOL-MAX=100 --RETRY-TIMEOUT=3600 +``` + +Notice that there is a `--RETRY-TIMEOUT=3600` option in the above config. This option is important for dealing with memcached server failures. After a memcached server in the cluster fails, Seafile server will stop trying to use it for "RETRY-TIMEOUT" (in seconds). You should set this timeout to relatively long time, to prevent Seafile from retrying the failed server frequently, which may lead to frequent request errors for the clients. + +### Use HTTPS connections to S3 + +Since Pro 5.0.4, you can use HTTPS connections to S3. Add the following options to seafile.conf: + +``` +[commit_object_backend] +name = s3 +...... +use_https = true + +[fs_object_backend] +name = s3 +...... +use_https = true + +[block_backend] +name = s3 +...... +use_https = true +``` + +Because the server package is built on CentOS 6, if you're using Debian/Ubuntu, you have to copy the system CA bundle to CentOS's CA bundle path. Otherwise Seafile can't find the CA bundle so that the SSL connection will fail. + +``` +sudo mkdir -p /etc/pki/tls/certs +sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt +sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/cert.pem +``` + +Another important note is that you **must not use '.' in your bucket names**. Otherwise the wildcard certificate for AWS S3 cannot be resolved. This is a limitation on AWS. + +## Use S3-compatible Object Storage + +Many object storage systems are now compatible with the S3 API, such as OpenStack Swift and Ceph's RADOS Gateway. You can use these S3-compatible storage systems as backend for Seafile. Here is an example config: + +``` +[commit_object_backend] +name = s3 +bucket = my-commit-objects +key_id = your-key-id +key = your-secret-key +host = 192.168.1.123:8080 +path_style_request = true +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[fs_object_backend] +name = s3 +bucket = my-fs-objects +key_id = your-key-id +key = your-secret-key +host = 192.168.1.123:8080 +path_style_request = true +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[block_backend] +name = s3 +bucket = my-block-objects +key_id = your-key-id +key = your-secret-key +host = 192.168.1.123:8080 +path_style_request = true +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 +``` + +`host` is the address and port of the S3-compatible service. You cannot prepend "http" or "https" to the `host` option. By default it'll use http connections. If you want to use https connection, please set `use_https = true` option. + +`path_style_request` asks Seafile to use URLs like `https://192.168.1.123:8080/bucketname/object` to access objects. In Amazon S3, the default URL format is in virtual host style, such as `https://bucketname.s3.amazonaws.com/object`. But this style relies on advanced DNS server setup. So most S3-compatible storage systems only implement the path style format. + +## Run and Test ## + +Now you can start Seafile by `./seafile.sh start` and `./seahub.sh start` and visit the website. + + [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html "the bucket naming rules" diff --git a/manual/deploy_pro/setup_with_ceph.md b/manual/deploy_pro/setup_with_ceph.md new file mode 100644 index 00000000..cd523de7 --- /dev/null +++ b/manual/deploy_pro/setup_with_ceph.md @@ -0,0 +1,166 @@ +# Setup With Ceph + +**Note**: Since Seafile Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +Ceph is a scalable distributed storage system. It's recommended to use Ceph's S3 Gateway (RGW) to integarte with Seafile. Seafile can also use Ceph's RADOS object storage layer for storage backend. But using RADOS requires to link with librados library, which may introduce library incompatibility issues during deployment. Furthermore the S3 Gateway provides easier to manage HTTP based interface. If you want to integrate with S3 gateway, please refer to "Use S3-compatible Object Storage" section in [this documentation](./setup_with_amazon_s3.md). The documentation below is for integrating with RADOS. + +## Copy ceph conf file and client keyring + +Seafile acts as a client to Ceph/RADOS, so it needs to access ceph cluster's conf file and keyring. You have to copy these files from a ceph admin node's /etc/ceph directory to the seafile machine. + +``` +seafile-machine# sudo scp user@ceph-admin-node:/etc/ceph/ /etc + +``` + +## Install and enable memcached + +For best performance, Seafile requires install memcached and enable memcache for objects. + +We recommend to allocate 128MB memory for memcached. Edit /etc/memcached.conf + +``` +# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default +# Note that the daemon will grow to this size, but does not start out holding this much +# memory +# -m 64 +-m 128 + +``` + +## Install Python Ceph Library + +File search and WebDAV functions rely on Python Ceph library installed in the system. + +On Debian/Ubuntu (Seafile 7.1+): + +``` +sudo apt-get install python3-rados + +``` + +On Debian/Ubuntu (Seafile 7.0 or below): + +``` +sudo apt-get install python-ceph + +``` + +On RedHat/CentOS (Seafile 7.0 or below): + +``` +sudo yum install python-rados + +``` + +## Edit seafile configuration + +Edit `seafile.conf`, add the following lines: + +``` +[block_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +pool = seafile-blocks +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[commit_object_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +pool = seafile-commits +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[fs_object_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +pool = seafile-fs +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +``` + +It's recommended to create separate pools for commit, fs, and block objects. + +``` +ceph-admin-node# rados mkpool seafile-blocks +ceph-admin-node# rados mkpool seafile-commits +ceph-admin-node# rados mkpool seafile-fs + +``` + +### Using memcached cluster + +In a cluster environment, you may want to use a memcached cluster. In the above configuration, you have to specify all the memcached server node addresses in seafile.conf + +``` +memcached_options = --SERVER=192.168.1.134 --SERVER=192.168.1.135 --SERVER=192.168.1.136 --POOL-MIN=10 --POOL-MAX=100 --RETRY-TIMEOUT=3600 + +``` + +Notice that there is a `--RETRY-TIMEOUT=3600` option in the above config. This option is important for dealing with memcached server failures. After a memcached server in the cluster fails, Seafile server will stop trying to use it for "RETRY-TIMEOUT" (in seconds). You should set this timeout to relatively long time, to prevent Seafile from retrying the failed server frequently, which may lead to frequent request errors for the clients. + +## Notes for Ubuntu 16.04 and 18.04 + +Since version 5.1.0 version, we upgraded the bundled Ceph rados library to 0.94.6. On Ubuntu 16.04, this causes some incompatibility. To work around this issue, you have to install librados 0.94.6 in the Ubuntu system (from Ceph's official repositories) and let Seafile use the library from system. + +As of version 7.1.0, the librados we packaged into the bundle is older than the one provided in system repositories. This leads to incompatibility with the python-rados package on **Ubuntu 18.04**. So it's also needed to remove the bundle librados libraries. + +To do this, you have to remove a few bundled libraries: + +``` +cd seafile-server-latest/seafile/lib +rm librados.so.2 libstdc++.so.6 libnspr4.so + +``` + +## Use arbitary Ceph user + +The above configuration will use the default (client.admin) user to connect to Ceph. +You may want to use some other Ceph user to connect. This is supported in Seafile. +To specify the Ceph user, you have to add a `ceph_client_id` option to seafile.conf, as the following: + +``` +[block_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +# Sepcify Ceph user for Seafile here +ceph_client_id = seafile +pool = seafile-blocks +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[commit_object_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +# Sepcify Ceph user for Seafile here +ceph_client_id = seafile +pool = seafile-commits +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[fs_object_backend] +name = ceph +ceph_config = /etc/ceph/ceph.conf +# Sepcify Ceph user for Seafile here +ceph_client_id = seafile +pool = seafile-fs +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +``` + +You can create a ceph user for seafile on your ceph cluster like this: + +``` +ceph auth add client.seafile \ + mds 'allow' \ + mon 'allow r' \ + osd 'allow rwx pool=seafile-blocks, allow rwx pool=seafile-commits, allow rwx pool=seafile-fs' + +``` + +You also have to add this user's keyring path to /etc/ceph/ceph.conf: + +``` +[client.seafile] +keyring = + +``` + + diff --git a/manual/deploy_pro/setup_with_openstackswift.md b/manual/deploy_pro/setup_with_openstackswift.md new file mode 100644 index 00000000..5dddae28 --- /dev/null +++ b/manual/deploy_pro/setup_with_openstackswift.md @@ -0,0 +1,163 @@ +# Setup With OpenStackSwift + +**Note**: Since Seafile Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +Note: This documentation is obsolete. Please refer to [the new documentation about how to use Swift](setup_with_swift.md). + +Starting from professional server 2.0.5, Seafile can use S3-compatible cloud storage (such as OpenStack/Swift) as backend. This document will use Swift as example. + +## Seafile Server Preparation + +To setup Seafile Professional Server with OpenStack Swift: + +- Setup the basic Seafile Professional Server following the guide on [Download and Setup Seafile Professional Server](download_and_setup_seafile_professional_server.md) +- Install the python `boto` library. It's needed to access Swift. +``` +sudo easy_install boto +``` + +For best performance, Seafile requires install memcached and enable memcache for objects. + +We recommend to allocate 128MB memory for memcached. Edit /etc/memcached.conf + +``` +# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default +# Note that the daemon will grow to this size, but does not start out holding this much +# memory +# -m 64 +-m 128 +``` + +## Swift Preparation + +In a production environment, you'll configure Swift with S3 middleware and use Keystone for authentication. The following instructions assumes you've already setup Swift with Keystone authentication. We'll focus on the change you need to make Swift work with S3 middleware. + +### Install Swift3 + +This middleware implements S3 API for Swift. + +``` +git clone https://github.com/fujita/swift3.git +cd swift3 +sudo python setup.py install +``` + +### Install keystonmiddleware + +This middleware contains the `s3token` filter for authentication between S3 API and Keystone. If you've configured Swift to work with Keystone, you should have this middleware installed already. + +``` +git clone https://github.com/openstack/keystonemiddleware.git +cd keystonmiddleware +sudo pip install -r requirements.txt +sudo python setup.py install +``` + +### Modify proxy-server.conf for Swift + +On Ubuntu, the config file is `/etc/swift/proxy-server.conf`. + +First check whether you've replaced `tempauth` with `authtoken keystoneauth` in the main pipeline. This should have been done if you configured Swift to work with Keystone. + +Add `swift3 s3token` to `[pipeline:main]`: + +``` +[pipeline:main] +pipeline = [...] swift3 s3token authtoken keystoneauth proxy-server +``` + +Add filters: + +``` +[filter:swift3] +use = egg:swift3#swift3 + +[filter:s3token] +paste.filter_factory = keystonemiddleware.s3_token:filter_factory +auth_port = 35357 +auth_host = [keystone-ip] +auth_protocol = http +``` + +### Restart Swift + +``` +swift-init proxy restart +``` + +### Accessing Swift via S3 API + +To access it via S3 API, you'll need AWS-like access key id and secret access key. Generate it with the following command for your specific tenant and user (You should change the tenant-id and user-id): + +``` +keystone ec2-credentials-create --tenant-id=d6fdc8460c7b46d0ad24aa23667b85c3 --user-id=b66742a744eb4fc98abd945781bf969d +``` + +After successfully setup S3 middleware, you should be able to access it with any S3 clients. The next thing you need to do is to create buckets for Seafile. With Python boto library you can do as follows (replace `key_id` and `secret_key` with your own): + +``` +import boto +import boto.s3.connection + +connection = boto.connect_s3( + aws_access_key_id='', + aws_secret_access_key='', + port=8080, + host='swift-proxy-server-address', + is_secure=False, + calling_format=boto.s3.connection.OrdinaryCallingFormat()) +connection.create_bucket('seafile-commits') +connection.create_bucket('seafile-fs') +connection.create_bucket('seafile-blocks') +``` + +Each S3 bucket maps to a container in Swift. So you can use native Swift command line to check the containers. For example: + +``` +swift -V 2 -A http://[keystone_ip]:5000/v2.0 -U [tenant]:[user] -K [pas] list +``` + +## Modify seafile.conf + +Append the following lines to `seafile.conf` (replace `key_id` and `secret_key` with your own) + +``` +[block_backend] +name = s3 +bucket = seafile-blocks +key_id = +key = +host = :8080 +path_style_request = true +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[commit_object_backend] +name = s3 +bucket = seafile-commits +key_id = +key = +host = :8080 +path_style_request = true +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 + +[fs_object_backend] +name = s3 +bucket = seafile-fs +key_id = +key = +host = :8080 +path_style_request = true +memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 +``` + +### Using memcached cluster + +In a cluster environment, you may want to use a memcached cluster. In the above configuration, you have to specify all the memcached server node addresses in seafile.conf + +``` +memcached_options = --SERVER=192.168.1.134 --SERVER=192.168.1.135 --SERVER=192.168.1.136 --POOL-MIN=10 --POOL-MAX=100 +``` + +## Run and Test ## + +Now you can start Seafile by `./seafile.sh start` and `./seahub.sh start` and visit the website. diff --git a/manual/deploy_pro/setup_with_swift.md b/manual/deploy_pro/setup_with_swift.md new file mode 100644 index 00000000..b3f12db6 --- /dev/null +++ b/manual/deploy_pro/setup_with_swift.md @@ -0,0 +1,105 @@ +# Setup With OpenStack Swift + +Seafile supports OpenStack Swift as storage backend since 5.1.0. This backend uses the native Swift API. Previously users can only use the S3-compatibility layer of Swift. That way is obsolete now. The old documentation is still available [here](setup_with_openstackswift.md). + +Since version 6.3, OpenStack Swift v3.0 API is supported. + +## Prepare + +To setup Seafile Professional Server with Swift: + +* Setup the basic Seafile Professional Server following the guide on [Download and setup Seafile Professional Server](download_and_setup_seafile_professional_server.md) +* Install and configure memcached. For best performance, Seafile requires install memcached and enable memcache for objects. We recommend to allocate 128MB memory for memcached. Edit /etc/memcached.conf + + +``` +# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default +# Note that the daemon will grow to this size, but does not start out holding this much +# memory +# -m 64 +-m 128 + +``` + +## Modify Seafile.conf + +Edit `seafile.conf`, add the following lines: + +``` +[block_backend] +name = swift +tenant = yourTenant +user_name = user +password = secret +container = seafile-blocks +auth_host = 192.168.56.31:5000 +auth_ver = v3.0 +region = yourRegion +memcached_options = --SERVER=192.168.1.134:11211 --POOL-MIN=10 --POOL-MAX=100 + +[commit_object_backend] +name = swift +tenant = yourTenant +user_name = user +password = secret +container = seafile-commits +auth_host = 192.168.56.31:5000 +auth_ver = v3.0 +region = yourRegion +memcached_options = --SERVER=192.168.1.134:11211 --POOL-MIN=10 --POOL-MAX=100 + +[fs_object_backend] +name = swift +tenant = yourTenant +user_name = user +password = secret +container = seafile-fs +auth_host = 192.168.56.31:5000 +auth_ver = v3.0 +region = yourRegion +memcached_options = --SERVER=192.168.1.134:11211 --POOL-MIN=10 --POOL-MAX=100 + +``` + +The above config is just an example. You should replace the options according to your own environment. + +Seafile supports Swift with Keystone as authentication mechanism. The `auth_host` option is the address and port of Keystone service.The `region` option is used to select publicURL,if you don't configure it, use the first publicURL in returning authenticated information. + +Seafile also supports Tempauth and Swauth since professional edition 6.2.1. The `auth_ver` option should be set to `v1.0`, `tenant` and `region` are no longer needed. + +It's recommended to create separate containers for commit, fs, and block objects. + +### Use HTTPS connections to Swift + +Since Pro 5.0.4, you can use HTTPS connections to Swift. Add the following options to seafile.conf: + +``` +[commit_object_backend] +name = swift +...... +use_https = true + +[fs_object_backend] +name = swift +...... +use_https = true + +[block_backend] +name = swift +...... +use_https = true + +``` + +Because the server package is built on CentOS 6, if you're using Debian/Ubuntu, you have to copy the system CA bundle to CentOS's CA bundle path. Otherwise Seafile can't find the CA bundle so that the SSL connection will fail. + +``` +sudo mkdir -p /etc/pki/tls/certs +sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt +sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/cert.pem + +``` + +## Run and Test + +Now you can start Seafile by `./seafile.sh start` and `./seahub.sh start` and visit the website. diff --git a/manual/deploy_pro/terms_and_conditions.md b/manual/deploy_pro/terms_and_conditions.md new file mode 100644 index 00000000..bcfc65b1 --- /dev/null +++ b/manual/deploy_pro/terms_and_conditions.md @@ -0,0 +1,10 @@ +# Terms and Conditions + +Starting from version 6.0, system admin can add T&C at admin panel, all users need to accept that before using the site. + +In order to use this feature, please add following line to `seahub_settings.py`, +``` +ENABLE_TERMS_AND_CONDITIONS = True +``` + +After restarting, there will be "Terms and Conditions" section at sidebar of admin panel. diff --git a/manual/deploy_pro/two_factor_authentication.md b/manual/deploy_pro/two_factor_authentication.md new file mode 100644 index 00000000..fce85bac --- /dev/null +++ b/manual/deploy_pro/two_factor_authentication.md @@ -0,0 +1,41 @@ +# Two-Factor Authentication + +Starting from version 6.0, we added Two-Factor Authentication to enhance account security. + +There are two ways to enable this feature: + +* System admin can tick the check-box at the "Password" section of the system settings page, or + +* just add `ENABLE_TWO_FACTOR_AUTH = True` to `seahub_settings.py` and restart service. + +After that, there will be a "Two-Factor Authentication" section in the user profile page. + +Users can use the Google Authenticator app on their smart-phone to scan the QR code. + + +## Twilio intergration + +We also support text message methods by using the Twilio service. + +First you need to install the Twilio python library by + +``` +sudo pip install twilio==5.7.0 +``` + +After that, append the following lines to `seahub_settings.py`, + +``` +TWO_FACTOR_SMS_GATEWAY = 'seahub.two_factor.gateways.twilio.gateway.Twilio' +TWILIO_ACCOUNT_SID = '' +TWILIO_AUTH_TOKEN = '' +TWILIO_CALLER_ID = '' +EXTRA_MIDDLEWARE_CLASSES = ( + 'seahub.two_factor.gateways.twilio.middleware.ThreadLocals', +) +``` + +**Note**: if you have already defined `EXTRA_MIDDLEWARE_CLASSES`, please replace `EXTRA_MIDDLEWARE_CLASSES = (` with `EXTRA_MIDDLEWARE_CLASSES += (` + + +After restarting, there will be a "text message" method when users enable Two-Factor Authentication for their account. diff --git a/manual/deploy_pro/upgrade_a_cluster.md b/manual/deploy_pro/upgrade_a_cluster.md new file mode 100644 index 00000000..d17b647a --- /dev/null +++ b/manual/deploy_pro/upgrade_a_cluster.md @@ -0,0 +1,204 @@ +# Upgrade a Seafile cluster + +## Major and minor version upgrade + +Seafile adds new features in major and minor versions. It is likely that some database tables need to be modified or the search index need to be updated. In general, upgrading a cluster contains the following steps: + +1. Upgrade the database +2. Update symbolic link at frontend and backend nodes to point to the newest version +3. Update configuration files at each node +4. Update search index in the backend node + +In general, to upgrade a cluster, you need: + +1. Run the upgrade script (for example, ./upgrade/upgrade_4_0_4_1.sh) in one frontend node +2. Run the minor upgrade script (./upgrade/minor_upgrade.sh) in all other nodes to update symbolic link +3. Update configuration files at each node according to the documentation for each version +4. Delete old search index in the backend node if needed + +## Maintanence upgrade + +Doing maintanence upgrading is simple, you only need to run the script `./upgrade/minor_upgrade.sh` at each node to update the symbolic link. + +## Specific instructions for each version + +### From 7.0 to 7.1 + +In the background node, Seahub no longer need to be started. Nginx is not needed too. + +The way of how office converter work is changed. The Seahub in front end nodes directly access a service in background node. + +#### For front-end nodes + +**seahub_settings.py** + +``` +OFFICE_CONVERTOR_ROOT = 'http://' +⬇️ +OFFICE_CONVERTOR_ROOT = 'http://:6000' + +``` + +**seafevents.conf** + +``` +[OFFICE CONVERTER] +enabled = true +workers = 1 +max-size = 10 + +⬇️ +[OFFICE CONVERTER] +enabled = true +workers = 1 +max-size = 10 +host = +port = 6000 + +``` + +#### For backend node + +**seahub_settings.py is not needed. **But you can leave it unchanged. + +**seafevents.conf** + +``` +[OFFICE CONVERTER] +enabled = true +workers = 1 +max-size = 10 + +⬇️ +[OFFICE CONVERTER] +enabled = true +workers = 1 +max-size = 10 +host = +port = 6000 + +``` + +### From 6.3 to 7.0 + +No special upgrade operations. + +### From 6.2 to 6.3 + +In version 6.2.11, the included Django was upgraded. The memcached configuration needed to be upgraded if you were using a cluster. If you upgrade from a version below 6.1.11, don't forget to change your memcache configuration. If the configuration in your `seahub_settings.py` is: + +``` +CACHES = { + 'default': { + 'BACKEND': 'django_pylibmc.memcached.PyLibMCCache', + 'LOCATION': ':11211', + } +} + +COMPRESS_CACHE_BACKEND = 'django.core.cache.backends.locmem.LocMemCache' + +``` + +Now you need to change to: + +``` +CACHES = { + 'default': { + 'BACKEND': 'django_pylibmc.memcached.PyLibMCCache', + 'LOCATION': ':11211', + }, + 'locmem': { + 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', + }, +} +COMPRESS_CACHE_BACKEND = 'locmem' + +``` + +### From 6.1 to 6.2 + +No special upgrade operations. + +### From 6.0 to 6.1 + +In version 6.1, we upgraded the included ElasticSearch server. The old server listen on port 9500, new server listen on port 9200. Please change your firewall settings. + +### From 5.1 to 6.0 + +In version 6.0, the folder download mechanism has been updated. This requires that, in a cluster deployment, seafile-data/httptemp folder must be in an NFS share. You can make this folder a symlink to the NFS share. + +``` +cd /data/haiwen/ +ln -s /nfs-share/seafile-httptemp seafile-data/httptemp + +``` + +The httptemp folder only contains temp files for downloading/uploading file on web UI. So there is no reliability requirement for the NFS share. You can export it from any node in the cluster. + +### From v5.0 to v5.1 + +Because Django is upgraded to 1.8, the COMPRESS_CACHE_BACKEND should be changed + +``` + - COMPRESS_CACHE_BACKEND = 'locmem://' + + COMPRESS_CACHE_BACKEND = 'django.core.cache.backends.locmem.LocMemCache' + +``` + +### From v4.4 to v5.0 + +v5.0 introduces some database schema change, and all configuration files (ccnet.conf, seafile.conf, seafevents.conf, seahub_settings.py) are moved to a central config directory. + +Perform the following steps to upgrade: + +* Run the upgrade script at one fronend node to upgrade the database. + + +``` +./upgrade/upgrade_4.4_5.0.sh + +``` + +* Then, on all other frontend nodes and the background node, run the upgrade script with `SEAFILE_SKIP_DB_UPGRADE` environmental variable turned on: + + +``` +SEAFILE_SKIP_DB_UPGRADE=1 ./upgrade/upgrade_4.4_5.0.sh + +``` + +After the upgrade, you should see the configuration files has been moved to the conf/ folder. + +``` +conf/ + |__ ccnet.conf + |__ seafile.conf + |__ seafevent.conf + |__ seafdav.conf + |__ seahub_settings.conf + +``` + +### From v4.3 to v4.4 + +There are no database and search index upgrade from v4.3 to v4.4. Perform the following steps to upgrade: + +1. Run the minor upgrade script at frontend and backend nodes + +### From v4.2 to v4.3 + +v4.3 contains no database table change from v4.2. But the old search index will be deleted and regenerated. + +A new option COMPRESS_CACHE_BACKEND = 'django.core.cache.backends.locmem.LocMemCache' should be added to seahub_settings.py + +The secret key in seahub_settings.py need to be regenerated, the old secret key lack enough randomness. + +Perform the following steps to upgrade: + +1. Run the upgrade script at one fronend node to modify the seahub_settings.py +2. Modify seahub_settings.py at each node, replacing the old secret key with the new one and add option COMPRESS_CACHE_BACKEND +3. Run the minor upgrade script at frontend and backend nodes +4. Delete the old search index (the folder pro-data/search) at the backend node +5. Delete the old office preview output folder (/tmp/seafile-office-output) at the backend node + + diff --git a/manual/deploy_pro/upgrading_seafile_professional_server.md b/manual/deploy_pro/upgrading_seafile_professional_server.md new file mode 100644 index 00000000..36bb6c97 --- /dev/null +++ b/manual/deploy_pro/upgrading_seafile_professional_server.md @@ -0,0 +1,3 @@ +# Upgrading Seafile Professional Server + +Upgrading Seafile Professional Server works like [upgrading a Seafile Community Server](../deploy/upgrade.md) diff --git a/manual/deploy_pro/using_ldap_pro.md b/manual/deploy_pro/using_ldap_pro.md new file mode 100644 index 00000000..0d32cbb2 --- /dev/null +++ b/manual/deploy_pro/using_ldap_pro.md @@ -0,0 +1,355 @@ +# Configure Seafile Pro Edition to use LDAP + +## How does LDAP User Management works with Seafile + +When Seafile is integrated with LDAP/AD, users in the system can be divided into two tiers: + +* Users within Seafile's internal user database. Some attributes are attached to these users, such as whether it's a system admin user, whether it's activated. This tier includes two types of users: + * Native users: these users are created by the admin on Seafile's system admin interface and are stored in the `EmailUser` table of the `ccnet` database. + * Users imported from LDAP/AD server: When a user in LDAP/AD logs into Seafile, its information will be imported from LDAP/AD server into Seafile's database. These users are stored in the `LDAPUsers` table of the `ccnet` database. +* Users in LDAP/AD server. These are all the intended users of Seafile inside the LDAP server. Seafile doesn't manipulate these users directly. It has to import them into its internal database before setting attributes on them. + +When Seafile counts the user number in the system, it only counts the **activated** users in its internal database. + +When Seafile is integrated with LDAP/AD, it'll look up users from both the internal database and LDAP server. As long as the user exists in one of these two sources, he/she can log into the system. + +## Basic LDAP/AD Integration + +The only requirement for Seafile to use LDAP/AD for authentication is that there must be a unique identifier for each user in the LDAP/AD server. Seafile can only use email-address-format user identifiers. So there are usually only two options for this unique identifier: + +* Email address: this is the most common choice. Most organizations assign a unique email address for each member. +* UserPrincipalName: this is a user attribute only available in Active Directory. It's format is `user-login-name@domain-name`, e.g. `john@example.com`. It's not a real email address, but it works fine as the unique identifier. + +### Connecting to Active Directory + +To use AD to authenticate a user, please add the following lines to ccnet.conf. + +If you choose email address as unique identifier: + +``` +[LDAP] +HOST = ldap://192.168.1.123/ +BASE = cn=users,dc=example,dc=com +USER_DN = administrator@example.local +PASSWORD = secret +LOGIN_ATTR = mail + +``` + +If you choose UserPrincipalName as unique identifier: + +``` +[LDAP] +HOST = ldap://192.168.1.123/ +BASE = cn=users,dc=example,dc=com +USER_DN = administrator@example.local +PASSWORD = secret +LOGIN_ATTR = userPrincipalName + +``` + +Meaning of each config options: + +* HOST: LDAP URL for the host. ldap://, ldaps:// and ldapi:// are supported. You can also include port number in the URL, like ldap://ldap.example.com:389. To use TLS, you should configure the LDAP server to listen on LDAPS port and specify ldaps:// here. More details about TLS are covered below. +* BASE: The distinguished name (DN) of the search base when running queries against the directory server. If you want to use the root DN as search base (e.g. dc=example,dc=com), you need to add `FOLLOW_REFERRALS = false` to the configuration. The meaning of this option will be explained in following sections. +* USER_DN: The distinguished name of the user that Seafile will use when connecting to the directory server. This user should have sufficient privileges to access all the nodes under BASE. It's recommended to use a user in the administrator group. +* PASSWORD: Password of the above user. +* LOGIN_ATTR: The attribute used for user's unique identifier. Use `mail` or `userPrincipalName`. + +Tips for choosing BASE and USER_DN: + +* To determine the BASE, you first have to navigate your organization hierachy on the domain controller GUI. + * If you want to allow all users to use Seafile, you can use 'cn=users,dc=yourdomain,dc=com' as BASE (with proper adjustment for your own needs). + * If you want to limit users to a certain OU (Organization Unit), you run `dsquery` command on the domain controller to find out the DN for this OU. For example, if the OU is 'staffs', you can run 'dsquery ou -name staff'. More information can be found [here](https://technet.microsoft.com/en-us/library/cc770509.aspx). +* AD supports 'user@domain.name' format for the USER_DN option. For example you can use administrator@example.com for USER_DN. Sometimes the domain controller doesn't recognize this format. You can still use `dsquery` command to find out user's DN. For example, if the user name is 'seafileuser', run `dsquery user -name seafileuser`. More information [here](https://technet.microsoft.com/en-us/library/cc725702.aspx). + +### Connecting to other LDAP servers + +Please add the following options to ccnet.conf: + +``` +[LDAP] +HOST = ldap://192.168.1.123/ +BASE = ou=users,dc=example,dc=com +USER_DN = cn=admin,dc=example,dc=com +PASSWORD = secret +LOGIN_ATTR = mail + +``` + +The meaning of these options is the same as described in the previous section. With other LDAP servers, you can only use `mail` attribute as user's unique identifier. + +### Testing your LDAP Configuration + +Since 5.0.0 Pro Edition, we provide a command line tool for checking your LDAP configuration. + +To use this tool, make sure you have `python-ldap` package installed on your system. + +``` +sudo apt-get install python-ldap + +``` + +Then you can run the test: + +``` +cd seafile-server-latest +./pro/pro.py ldapsync --test + +``` + +The test script checks your LDAP settings under the `[LDAP]` section of ccnet.conf. If everything works, it'll print the first ten users of the search results. Otherwise, it'll print out possible errors in your config. + +## Setting Up LDAP/AD User Sync (optional) + +In Seafile Pro, except for importing users into internal database when they log in, you can also configure Seafile to periodically sync user information from LDAP/AD server into the internal database. + +* User's full name, department and contact email address can be synced to internal database. Users can use this information to more easily search for a specific user. +* User's Windows or Unix login id can be synced to the internal database. This allows the user to log in with its familiar login id. +* When a user is removed from LDAP/AD, the corresponding user in Seafile will be deactivated. Otherwise, he could still sync files with Seafile client or access the web interface. + +After synchronization is complete, you can see the user's full name, department and contact email on its profile page. + +### Active Directory + +If you're using Active Directory, add the following options to ccnet.conf: + +``` +[LDAP] +...... + +[LDAP_SYNC] +ENABLE_USER_SYNC = true +DEACTIVE_USER_IF_NOTFOUND = true +SYNC_INTERVAL = 60 +USER_OBJECT_CLASS = person +ENABLE_EXTRA_USER_INFO_SYNC = true +FIRST_NAME_ATTR = givenName +LAST_NAME_ATTR = sn +UID_ATTR = sAMAccountName + +``` + +Meaning of each options: + +* **ENABLE_USER_SYNC**: set to "true" if you want to enable ldap user synchronization +* **DEACTIVE_USER_IF_NOTFOUND**: set to "true" if you want to deactivate a user when he/she was deleted in AD server. +* **SYNC_INTERVAL**: The interval to sync. Unit is minutes. Defaults to 60 minutes. +* **USER_OBJECT_CLASS**: This is the name of the class used to search for user objects. In Active Directory, it's usually "person". The default value is "person". +* **ENABLE_EXTRA_USER_INFO_SYNC**: Enable synchronization of additional user information, including user's full name, department, and Windows login name, etc. +* **FIRST_NAME_ATTR**: Attribute for user's first name. It's "givenName" by default. +* **LAST_NAME_ATTR**: Attribute for user's last name. It's "sn" by default. +* **USER_NAME_REVERSE**: In some languages, such as Chinese, the display order of the first and last name is reversed. Set this option if you need it. +* **UID_ATTR**: Attribute for Windows login name. If this is synchronized, users can also log in with their Windows login name. In AD, the attribute `sAMAccountName` can be used as `UID_ATTR`. + +If you choose `userPrincipalName` as the unique identifier for user, Seafile cannot use it as real email address to send notification emails to user. If the users in AD also have an email address attribute, you can sync these email addresses into Seafile's internal database. Seafile can then use them to send emails. The configuration option is: + +* **CONTACT_EMAIL_ATTR**: usually you can set it to the `mail` attribute. + +### Other LDAP servers + +Add the following options to ccnet.conf: + +``` +[LDAP] +...... + +[LDAP_SYNC] +ENABLE_USER_SYNC = true +DEACTIVE_USER_IF_NOTFOUND = true +SYNC_INTERVAL = 60 +USER_OBJECT_CLASS = userOfNames +ENABLE_EXTRA_USER_INFO_SYNC = true +FIRST_NAME_ATTR = givenName +LAST_NAME_ATTR = sn +UID_ATTR = uid + +``` + +Meaning of each option: + +* **ENABLE_USER_SYNC**: set to "true" if you want to enable ldap user synchronization +* **DEACTIVE_USER_IF_NOTFOUND**: set to "true" if you want to deactivate a user when he/she was deleted in LDAP server. +* **SYNC_INTERVAL**: The synchronization interval. Unit is minutes. Defaults to 60 minutes. +* **USER_OBJECT_CLASS**: This is the name of the class used to search for user objects. In OpenLDAP, you can use "userOfNames". The default value is "person". +* **ENABLE_EXTRA_USER_INFO_SYNC**: Enable synchronization of additional user information, including user's full name, department, and Windows/Unix login name, etc. +* **FIRST_NAME_ATTR**: Attribute for user's first name. It's "givenName" by default. +* **LAST_NAME_ATTR**: Attribute for user's last name. It's "sn" by default. +* **USER_NAME_REVERSE**: In some languages, such as Chinese, the display order of the first and last name is reversed. Set this option if you need it. +* **UID_ATTR**: Attribute for Windows/Unix login name. If this is synchronized, users can also log in with their Windows/Unix login name. In OpenLDAP, the attribute `uid` or something similar can be used. + +### Importing Users without Activating Them + +The users imported with the above configuration will be activated by default. For some organizations with large number of users, they may want to import user information (such as user full name) without activating the imported users. Activating all imported users will require licenses for all users in AD/LDAP, which may not be affordable. + +Seafile provides a combination of options for such use case. First, you have to add below option to \[ldap_sync] section of ccnet.conf: + +``` +ACTIVATE_USER_WHEN_IMPORT = false + +``` + +This prevents Seafile from activating imported users. Second, add below option to `seahub_settings.py`: + +``` +ACTIVATE_AFTER_FIRST_LOGIN = True + +``` + +This option will automatically activate users when they login to Seafile for the first time. + +With these configurations, an imported user can be searched and be shared with folders, but will not consume license until he/she logs in. + +### Reactivating Users + +When you set the \`**DEACTIVE_USER_IF_NOTFOUND**\` option, a user will be deactivated when it's not found in LDAP server. By default, even after this user reappears in the LDAP server, it won't be reactivated automatically. This is to prevent auto reactivating a user that was manually deactivated by the system admin. + +However, sometimes it's desirable to auto reactivate such users. So in version 7.1.8 we added a new option to provide this behavior. + +``` +AUTO_REACTIVATE_USERS = True + +``` + +### Manually Trigger Synchronization + +To test your LDAP sync configuration, you can run the sync command manually. + +To trigger LDAP sync manually, + +``` +cd seafile-server-lastest +./pro/pro.py ldapsync + +``` + +## Advanced LDAP/AD Integration Options + +### Multiple BASE + +Multiple base DN is useful when your company has more than one OUs to use Seafile. You can specify a list of base DN in the "BASE" config. The DNs are separated by ";", e.g. `ou=developers,dc=example,dc=com;ou=marketing,dc=example,dc=com` + +### Additional Search Filter + +Search filter is very useful when you have a large organization but only a portion of people want to use Seafile. The filter can be given by setting "FILTER" config. The value of this option follows standard LDAP search filter syntax (). + +The final filter used for searching for users is `(&($LOGIN_ATTR=*)($FILTER))`. `$LOGIN_ATTR` and `$FILTER` will be replaced by your option values. + +For example, add the following line to LDAP config: + +``` +FILTER = memberOf=CN=group,CN=developers,DC=example,DC=com + +``` + +The final search filter would be `(&(mail=*)(memberOf=CN=group,CN=developers,DC=example,DC=com))` + +Note that the cases in the above example is significant. The `memberOf` attribute is only available in Active Directory. + +### Limiting Seafile Users to a Group in Active Directory + +You can use the FILTER option to limit user scope to a certain AD group. + +1. First, you should find out the DN for the group. Again, we'll use `dsquery` command on the domain controller. For example, if group name is 'seafilegroup', run `dsquery group -name seafilegroup`. +2. Add following line to LDAP config: + + +``` +FILTER = memberOf={output of dsquery command} + +``` + +### Using TLS connection to LDAP/AD server + +To use TLS connection to the directory server, you should install a valid SSL certificate on the directory server. + +The current version of Seafile Linux server package is compiled on CentOS. We include the ldap client library in the package to maintain compatibility with older Linux distributions. But since different Linux distributions have different path or configuration for OpenSSL library, sometimes Seafile is unable to connect to the directory server with TLS. + +The ldap library (libldap) bundled in the Seafile package is of version 2.4. If your Linux distribution is new enough (like CentOS 6, Debian 7 or Ubuntu 12.04 or above), you can use system's libldap instead. + +On Ubuntu 14.04 and Debian 7/8, moving the bundled ldap related libraries out of the library path should make TLS connection work. + +``` +cd ${SEAFILE_INSTALLATION_DIR}/seafile-server-latest/seafile/lib +mkdir disabled_libs_use_local_ones_instead +mv liblber-2.4.so.2 libldap-2.4.so.2 libsasl2.so.2 libldap_r-2.4.so.2 disabled_libs_use_local_ones_instead/ + +``` + +On CentOS 6, you have to move the libnssutil library: + +``` +cd ${SEAFILE_INSTALLATION_DIR}/seafile-server-latest/seafile/lib +mkdir disabled_libs_use_local_ones_instead +mv libnssutil3.so disabled_libs_use_local_ones_instead/ + +``` + +This effectively removes the bundled libraries from the library search path. +When the server starts, it'll instead find and use the system libraries (if they are installed). +This change has to be repeated after each update of the Seafile installation. + +### Use paged results extension + +LDAP protocol version 3 supports "paged results" (PR) extension. When you have large number of users, this option can greatly improve the performance of listing users. Most directory server nowadays support this extension. + +In Seafile Pro Edition, add this option to LDAP section of ccnet.conf to enable PR: + +``` +USE_PAGED_RESULT = true + +``` + +### Follow referrals + +Starting from Pro Edition 4.0.4, Seafile supports auto following referrals in LDAP search. This is useful for partitioned LDAP or AD servers, where users may be spreaded on multiple directory servers. For more information about referrals, you can refer to [this article](https://technet.microsoft.com/en-us/library/cc978014.aspx). + +To configure, add following option to ccnet.conf in the \[ldap] section: + +``` +FOLLOW_REFERRALS = true + +``` + +### Configure Multi-ldap Servers + +Since seafile 5.1.4 pro edition, we support multi-ldap servers, that is besides base ldap server info in \[ldap] section, you can set other ldap servers info in \[ldap_multi_1], \[ldap_multi_2] ... \[ldap_multi_9] sections, so you can configure ten ldap servers to work with seafile. Multi-ldap servers mean that, when get or search ldap user, it will iterate all configured ldap servers until a match is found; When listing all ldap users, it will iterate all ldap servers to get all users; For Ldap sync it will sync all user/group info in all configured ldap servers to seafile. + +For example I have configured base ldap server in `ccnet.conf` as follow: + +``` +[LDAP] +HOST = ldap://192.168.1.123/ +BASE = ou=users,dc=example,dc=com +USER_DN = cn=admin,dc=example,dc=com +PASSWORD = secret +LOGIN_ATTR = mail + +``` + +Then I can configure another ldap server in `ccnet.conf` as follow: + +``` +[LDAP_MULTI_1] +HOST = ldap://192.168.1.124/ +BASE = ou=users,dc=example,dc=com +USER_DN = cn=admin,dc=example,dc=com +PASSWORD = secret + +``` + +Before 6.3.8, all ldap servers share LOGIN_ATTR, USE_PAGED_RESULT, FOLLOW_REFERRALS attributes in \[ldap] section; For ldap user/group sync, all ldap servers share all ldap sync related attributes in \[ldap_sync] section. + +Since seafile 6.3.8 pro, we support more independent config sections for each ldap server. The LOGIN_ATTR, USE_PAGED_RESULT, FOLLOW_REFERRALS options can be set independently in each \[ldap_multi_x] section. Furthermore, independent \[ldap_sync_multi_x] sections can be set for each LDAP server. That is, each LDAP server can use different LDAP sync options. + +There are still some shared config options that can only be set in \[ldap_sync] section, which is used for all LDAP servers. + +* SYNC_INTERVAL +* DEACTIVE_USER_IF_NOTFOUND +* ACTIVATE_USER_WHEN_IMPORT +* IMPORT_NEW_USER +* DEL_GROUP_IF_NOT_FOUND + +These options are used to control synchronization behaviors, so they're shared for all LDAP servers. + +NOTE: It is recommended to have a \[ldap_sync_multi_x] section for each \[ldap_multi_x] section. Otherwise the LDAP sync process will use the options in \[ldap_sync] section for that LDAP server. diff --git a/manual/deploy_pro/virus_scan.md b/manual/deploy_pro/virus_scan.md new file mode 100644 index 00000000..c56d175d --- /dev/null +++ b/manual/deploy_pro/virus_scan.md @@ -0,0 +1,66 @@ +# Virus Scan + +**Note**: Since Seafile Server 5.0.0, all config files are moved to the central **conf** folder. [Read More](../deploy/new_directory_layout_5_0_0.md). + +In Seafile Professional Server 4.4.0 (or above), Seafile can scan uploaded files for malicious content in the background. When configured to run periodically, the scan process scans all existing libraries on the server. In each scan, the process only scans newly uploaded/updated files since the last scan. For each file, the process executes a user-specified virus scan command to check whether the file is a virus or not. Most anti-virus programs provide command line utility for Linux. + +To enable this feature, add the following options to `seafile.conf`: + +``` +[virus_scan] +scan_command = (command for checking virus) +virus_code = (command exit codes when file is virus) +nonvirus_code = (command exit codes when file is not virus) +scan_interval = (scanning interval, in unit of minutes, default to 60 minutes) +``` + +More details about the options: + +* On Linux/Unix, most virus scan commands returns specific exit codes for virus and non-virus. You should consult the manual of your anti-virus program for more information. + +An example for ClamAV (http://www.clamav.net/) is provided below: + +``` +[virus_scan] +scan_command = clamscan +virus_code = 1 +nonvirus_code = 0 +``` + +To test whether your configuration works, you can trigger a scan manually: + +``` +cd seafile-server-latest +./pro/pro.py virus_scan +``` + +If a virus was detected, you can see scan records and delete infected files on the Virus Scan page in the admin area. +![virus-scan](../images/virus-scan.png) + +**INFO**: If you directly use clamav command line tool to scan files, scanning files will takes a lot of time. If you want to speed it up, we recommend to run Clamav as a daemon. Please refer to [Run ClamAV as a Daemon](deploy_clamav_as_daemon.md) + +When run Clamav as a daemon, the `scan_command` should be `clamdscan` in `seafile.conf`. An example for Clamav-daemon is provided below: +``` +[virus_scan] +scan_command = clamdscan +virus_code = 1 +nonvirus_code = 0 +``` + +Since Pro edition 6.0.0, a few more options are added to provide finer grained control for virus scan. + +``` +[virus_scan] +...... +scan_size_limit = (size limit for files to be scanned) # The unit is MB. +scan_skip_ext = (a comma (',') separated list of file extensions to be ignored) +threads = (number of concurrent threads for scan, one thread for one file, default to 4) +``` + +The file extensions should start with '.'. The extensions are case insensitive. By default, files with following extensions will be ignored: + +``` +.bmp, .gif, .ico, .png, .jpg, .mp3, .mp4, .wav, .avi, .rmvb, .mkv +``` + +The list you provide will override default list. diff --git a/manual/deploy_pro/virus_scan_with_kav4fs.md b/manual/deploy_pro/virus_scan_with_kav4fs.md new file mode 100644 index 00000000..214299b9 --- /dev/null +++ b/manual/deploy_pro/virus_scan_with_kav4fs.md @@ -0,0 +1,85 @@ +# Virus Scan with kav4fs + +## Prerequisite + +Assume you have installed Kaspersky Anti-Virus for Linux File Server on the Seafile Server machine. + +If the user that runs Seafile Server is not root, it should have sudoers privilege to avoid writing password when running kav4fs-control. Add following content to /etc/sudoers: + +``` + ALL=(ALL:ALL) ALL + ALL=NOPASSWD: /opt/kaspersky/kav4fs/bin/kav4fs-control +``` + +## Script + +As the return code of kav4fs cannot reflect the file scan result, we use a shell wrapper script to parse the scan output and based on the parse result to return different return codes to reflect the scan result. + +Save following contents to a file such as `kav4fs_scan.sh`: + +``` +#!/bin/bash + +TEMP_LOG_FILE=`mktemp /tmp/XXXXXXXXXX` +VIRUS_FOUND=1 +CLEAN=0 +UNDEFINED=2 +KAV4FS='/opt/kaspersky/kav4fs/bin/kav4fs-control' +if [ ! -x $KAV4FS ] +then + echo "Binary not executable" + exit $UNDEFINED +fi + +sudo $KAV4FS --scan-file "$1" > $TEMP_LOG_FILE +if [ "$?" -ne 0 ] +then + echo "Error due to check file '$1'" + exit 3 +fi +THREATS_C=`grep 'Threats found:' $TEMP_LOG_FILE|cut -d':' -f 2|sed 's/ //g'` +RISKWARE_C=`grep 'Riskware found:' $TEMP_LOG_FILE|cut -d':' -f 2|sed 's/ //g'` +INFECTED=`grep 'Infected:' $TEMP_LOG_FILE|cut -d':' -f 2|sed 's/ //g'` +SUSPICIOUS=`grep 'Suspicious:' $TEMP_LOG_FILE|cut -d':' -f 2|sed 's/ //g'` +SCAN_ERRORS_C=`grep 'Scan errors:' $TEMP_LOG_FILE|cut -d':' -f 2|sed 's/ //g'` +PASSWORD_PROTECTED=`grep 'Password protected:' $TEMP_LOG_FILE|cut -d':' -f 2|sed 's/ //g'` +CORRUPTED=`grep 'Corrupted:' $TEMP_LOG_FILE|cut -d':' -f 2|sed 's/ //g'` + +rm -f $TEMP_LOG_FILE + +if [ $THREATS_C -gt 0 -o $RISKWARE_C -gt 0 -o $INFECTED -gt 0 -o $SUSPICIOUS -gt 0 ] +then + exit $VIRUS_FOUND +elif [ $SCAN_ERRORS_C -gt 0 -o $PASSWORD_PROTECTED -gt 0 -o $CORRUPTED -gt 0 ] +then + exit $UNDEFINED +else + exit $CLEAN +fi +``` + +Grant execute permissions for the script (make sure it is owned by the user Seafile is running as): + +``` +chmod u+x kav4fs_scan.sh +``` + +The meaning of the script return code: + +``` +1: found virus +0: no virus +other: scan failed +``` + +## Configuration + +Add following content to `seafile.conf`: + +``` +[virus_scan] +scan_command = +virus_code = 1 +nonvirus_code = 0 +scan_interval = +``` diff --git a/manual/deploy_pro/web_resumable_upload.md b/manual/deploy_pro/web_resumable_upload.md new file mode 100644 index 00000000..1e33170d --- /dev/null +++ b/manual/deploy_pro/web_resumable_upload.md @@ -0,0 +1,25 @@ +# Web Resumable File Upload + +When uploading a large file in the web interface, if the network is unreliable, the upload can be interrupted. It's convenient if the upload can be resumed from where it stopped last time. In Seafile Professional Server 4.4.0 and above, this feature is supported. + +This feature works as following: + +1. A user uploads a large file on the web interface, and the connection is interrupted after some part of the file has been uploaded. +2. The server remembers where the upload stopped. +3. When the same file is uploaded to the same library and folder, the server tells the browser where to start the upload. + +Limitations: + +1. Only supports resumble upload. File update and folder upload is not resumable. +2. Only supports Chrome, Firefox, IE 10+. + +To enable this feature, add following options to seahub_settings.py: + +``` +ENABLE_RESUMABLE_FILEUPLOAD = True +``` + +In Seafile cluster, in order to make this feature work as espected, one of the following two special configurations must be done: + +1. seafile-server-latest/seafile-data/httptemp folder should be shared amoung all front end Seafile Servers via NFS. +2. Or, configure the load balancer to always send requests from the same IP address to a fixed back end server. diff --git a/manual/deploy_windows/deploy_with_windows.md b/manual/deploy_windows/deploy_with_windows.md new file mode 100644 index 00000000..1e9937ae --- /dev/null +++ b/manual/deploy_windows/deploy_with_windows.md @@ -0,0 +1,3 @@ +# Deploy with Windows + +The document is moved to https://download.seafile.com/published/support/windows-server/deploy_with_windows.md diff --git a/manual/deploy_windows/migrate_from_win_to_linux.md b/manual/deploy_windows/migrate_from_win_to_linux.md new file mode 100644 index 00000000..6018b923 --- /dev/null +++ b/manual/deploy_windows/migrate_from_win_to_linux.md @@ -0,0 +1,40 @@ +# Migrate From Windows to Linux + +This tutorial show you how to migrate Seafile form Windows(using SQLite) to Linux. + +### 1. Deploying Seafile Under Linux + +First, you should [Deploy Seafile with SQLite](../deploy/using_sqlite.md). And we assume that you deploy Seafile under `/home/haiwen/` directory. + +### 2. Replace Config Files And Databases + +#### Delete config files and databases in Linux + +``` +rm /home/haiwen/seahub_settings.py +rm /home/haiwen/seahub.db +rm -r /home/haiwen/seafile-data +cp /home/haiwen/ccnet/seafile.ini /home/haiwen/seafile.ini +rm -r /home/haiwen/ccnet +``` + +> Note: `seafile.ini` is used to record the path to `seafile-data`, we will use it later, so we just copy it out, not delete it. + +#### Copy config files and databases to Linux + +- copy file `seahub_settings.py` from Windows **seafile-server** to Linux `/home/haiwen/`; + +- copy file `seahub.db` from Windows **seafile-server** to Linux `/home/haiwen/`; + +- copy sub-directory `seafile-data` from Windows **seafile-server** to Linux `/home/haiwen/`; + +- copy sub-directory `ccnet` from Windows **seafile-server** to Linux `/home/haiwen/`; + +- copy `/home/haiwen/seafile.ini` to new Linux **ccnet** directory. + +### Start Seafile + +``` +./seafile.sh start +./seahub.sh start +``` diff --git a/manual/develop/README.md b/manual/develop/README.md new file mode 100644 index 00000000..7c85dbab --- /dev/null +++ b/manual/develop/README.md @@ -0,0 +1,15 @@ +# Develop Documents + +* [How to Build Seafile](../build_seafile/README.md) +* [How to Setup Develop Envirnoment](env.md) + +Seafile Open API + +* [Seafile Web API](web_api_v2.1.md) +* [Seafile Python API](python_api.md) +* [Seafile PHP API](https://github.com/rene-s/Seafile-PHP-SDK) + +Seafile Implement Detail + +* [Seafile Data Model](data_model.md) +* [Seafile Server Components](server-components.md) diff --git a/manual/develop/data_model.md b/manual/develop/data_model.md new file mode 100644 index 00000000..4fcf7645 --- /dev/null +++ b/manual/develop/data_model.md @@ -0,0 +1,37 @@ +# Data Model + +Seafile internally uses a data model similar to GIT's. It consists of `Repo`, `Branch`, `Commit`, `FS`, and `Block`. + +## Repo + +A repo is also called a library. Every repo has an unique id (UUID), and attributes like description, creator, password. + +## Branch + +Unlike git, only two predefined branches is used, i.e., `local` and `master`. + +In PC client, modifications will first be committed to the `local` branch. +Then the `master` branch is downloaded from server, and merged into `local` branch. +After that the `local` branch will be uploaded to server. Then the server will fast-forward +its `master` branch to the head commit of the just uploaded branch. + +When users update a repo on the web, modifications will first be committed to temporary branch +on the server, then merged into the `master` branch. + +## Commit + +Like in GIT. + +## FS + +There are two types of FS objects, `SeafDir Object` and `Seafile Object`. +`SeafDir Object` represents a directory, and `Seafile Object` represents a file. + +## Block + +A file is further divided into blocks with variable lengths. We use Content Defined Chunking algorithm to +divide file into blocks. A clear overview of this algorithm can be found at http://pdos.csail.mit.edu/papers/lbfs:sosp01/lbfs.pdf. +On average, a block's size is around 1MB. + +This mechanism makes it possible to deduplicate data between different versions of frequently updated files, +improving storage efficiency. It also enables transferring data to/from multiple servers in parallel. diff --git a/manual/develop/env.md b/manual/develop/env.md new file mode 100644 index 00000000..d2fc406d --- /dev/null +++ b/manual/develop/env.md @@ -0,0 +1,153 @@ +# Setup Seafile Server Development Environment + +The following operations have been tested on ubuntu-16.04.1-desktop-amd64 system. + +## Install Necessary Packages + +#### install necessary packages by `apt` + +``` +sudo apt install ssh libevent-dev libcurl4-openssl-dev libglib2.0-dev uuid-dev intltool libsqlite3-dev libmysqlclient-dev libarchive-dev libtool libjansson-dev valac libfuse-dev python-dateutil cmake re2c flex sqlite3 python-pip python-simplejson git libssl-dev libldap2-dev libonig-dev +``` + +#### install `libevhtp` from source + +``` +cd ~/Downloads/ +git clone https://github.com/haiwen/libevhtp.git +cd libevhtp/ +cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF . +make +sudo make install +sudo ldconfig +``` + +## Download and Build Seafile + +#### create project root directory *dev* + +``` +cd +mkdir dev +``` + +#### download and install `libsearpc` + +``` +cd ~/dev/ +git clone https://github.com/haiwen/libsearpc.git +cd libsearpc/ +./autogen.sh +./configure +make +sudo make install +sudo ldconfig +``` + +#### download and install `ccnet-server` + +``` +cd ~/dev/ +git clone https://github.com/haiwen/ccnet-server.git +cd ccnet-server/ +./autogen.sh +./configure --enable-ldap +make +sudo make install +sudo ldconfig +``` + +#### download and install `seafile-server` + +``` +cd ~/dev/ +git clone https://github.com/haiwen/seafile-server.git +cd seafile-server/ +./autogen.sh +./configure +make +sudo make install +``` + +#### download `seahub` + +``` +cd ~/dev/ +git clone https://github.com/haiwen/seahub.git +cd seahub/ +``` + +## Start `ccnet-server` and `seaf-server` + +Start `ccnet-server` and `seaf-server` in two separate terminals. + +``` +cd ~/dev/seafile-server/tests +ccnet-server -c conf -f - +``` + +``` +cd ~/dev/seafile-server/tests +mkdir -p conf/seafile-data +touch conf/seafile-data/seafile.conf +cat > conf/seafile-data/seafile.conf << EOF +[database] +create_tables = true +EOF +seaf-server -c conf -d conf/seafile-data -f -l - +``` + +The config files and databases (if you use sqlite, which is by default) of `ccnet-server` are located in `~/dev/seafile-server/tests/conf`. This directory is called "ccnet conf directory". The config files, databases and data of `seaf-server` are located in `~/dev/seafile-server/tests/conf/seafile-data`. This directory is called "seafile conf directory". + +## Start `seahub` + +`Seahub` is the web front end of Seafile. It is written in the Django framework, requires Python 2.7 installed on your server. + +#### set environment + +``` +cd ~/dev/seahub/ + +cat > setenv.sh << EOF +export CCNET_CONF_DIR=~/dev/seafile-server/tests/conf +export SEAFILE_CONF_DIR=~/dev/seafile-server/tests/conf/seafile-data +export PYTHONPATH=/usr/local/lib/python2.7/dist-packages:thirdpart:\$PYTHONPATH +EOF + +sudo chmod u+x setenv.sh +``` + +#### install requirements + +``` +# Expand setenv.sh in the current shell +. setenv.sh +cd ~/dev/seahub/ +sudo pip install -r requirements.txt +``` + +**NOTE**: if *locale.Error: unsupported locale setting*, you should `export LC_ALL=en_US.UTF-8` + +#### create database and admin account + +``` +. setenv.sh +python manage.py migrate +python tools/seahub-admin.py # create admin account +``` + +**NOTE**: currently, your *ccnet directory* is `~/dev/seafile-server/tests/conf` + +#### run `seahub` + +``` +python manage.py runserver 0.0.0.0:8000 +``` + +then open browser and navigate to http://127.0.0.1:8000 + +If you have set up Nginx/Apache to run Seafile, you should run seahub in fastcgi mode. + +``` +python manage.py runfcgi host=127.0.0.1 port=8000 +``` diff --git a/manual/develop/python_api.md b/manual/develop/python_api.md new file mode 100644 index 00000000..70a93662 --- /dev/null +++ b/manual/develop/python_api.md @@ -0,0 +1,259 @@ +# Python API + +

+ +

+ + +#Seafile Python API# + +This tutorial show you how to use seafile-api, and will accomplish a "library copy" work under **Ubuntu** as example. + +##Install Seafile Server## + +First of all, make sure you have [Download and Setup Seafile Server](https://github.com/haiwen/seafile/wiki/Download-and-setup-seafile-server) successfully. And your directory layout will be like this: + + # tree . -L 3 + . + ├── ccnet + │   ├── ccnet.conf + │   ├── ...... + │...... + ├── seafile-server-3.0.3 + │   ├── seafile + │   ├── seafile.sh + │   ├── seahub + │   ├── seahub.sh + │   ├── setup-seafile.sh + │   ├── upgrade + │   ├── README + │   ├── seaf_migrate_3.py + │   ├── seaf_migrate_3.sh + │   ├── ...... + │   ├── ...... + │...... + +##Example: Copy Library +In this example, two script files will be used: `seaf_migrate_3.sh` and `seaf_migrate_3.py`. We put them in the **upgrade** directory as you see above. + +###Set Environment Variable +If you want use Seafile-API, set environment variable first. That's what `seaf_migrate_3.sh` does: + +1. get ccnet/seafile config file path and export them; +2. export Python path; +3. call `seaf_migrate_3.py`. + +Example code +```sh +#!/bin/bash + +#get path of ccnet.conf +SCRIPT=$(readlink -f "$0") # haiwen/seafile-server-3.0.3/upgrade/seaf_migrate_3.sh +UPGRADE_DIR=$(dirname "$SCRIPT") # haiwen/seafile-server-3.0.3/upgrade/ +INSTALLPATH=$(dirname "$UPGRADE_DIR") # haiwen/seafile-server-3.0.3/ +TOPDIR=$(dirname "${INSTALLPATH}") # haiwen/ +default_ccnet_conf_dir=${TOPDIR}/ccnet + +#get path of seafile.conf +function read_seafile_data_dir () { + seafile_ini=${default_ccnet_conf_dir}/seafile.ini + if [[ ! -f ${seafile_ini} ]]; then + echo "${seafile_ini} not found. Now quit" + exit 1 + fi + seafile_data_dir=$(cat "${seafile_ini}") + if [[ ! -d ${seafile_data_dir} ]]; then + echo "Your seafile server data directory \"${seafile_data_dir}\" is invalid or doesn't exits." + echo "Please check it first, or create this directory yourself." + echo "" + exit 1; + fi + + export SEAFILE_CONF_DIR=$seafile_data_dir +} + +export CCNET_CONF_DIR=${default_ccnet_conf_dir} +read_seafile_data_dir; + +export PYTHONPATH=${INSTALLPATH}/seafile/lib/python2.6/site-packages:${INSTALLPATH}/seafile/lib64/python2.6/site-packages:${INSTALLPATH}/seafile/lib/python2.7/site-packages:${INSTALLPATH}/seahub/thirdpart:$PYTHONPATH +export PYTHONPATH=${INSTALLPATH}/seafile/lib/python2.7/site-packages:${INSTALLPATH}/seafile/lib64/python2.7/site-packages:$PYTHONPATH + +function usage () { + echo "Usage: `basename $0` " + echo "exit." + exit 1 +} +if [ $# != 1 ]; then + usage +fi + +python seaf_migrate_3.py $1 +``` + +> **NOTE:** +> You can get `repo_id` at address bar of Seahub or through [Seafile web API](https://github.com/haiwen/seafile/wiki/Seafile-web-API#list-libraries) + +###Copy Library +Then `seaf_migrate_3.py` will call Seafile-API to copy library: + +1. Get library ID from input. +2. Get origin_repo object. +3. Create a new library, set name, desc and owner. +4. Copy stuffs from old library to new library. + +Example code +```python +#!/usr/bin/env python + +import os +import stat +import sys +from seaserv import seafile_api + +def count_files_recursive(repo_id, path='/'): + num_files = 0 + for e in seafile_api.list_dir_by_path(repo_id, path): + if stat.S_ISDIR(e.mode): + num_files += count_files_recursive(repo_id, + os.path.join(path, e.obj_name)) + else: + num_files += 1 + return num_files + +#Get library ID from input +origin_repo_id = sys.argv[1] + +#Get origin_repo object +origin_repo = seafile_api.get_repo(origin_repo_id) +username = seafile_api.get_repo_owner(origin_repo_id) + +#Create a new library, set name, desc and owner +new_repo_id = seafile_api.create_repo(name=origin_repo.name, + desc=origin_repo.desc, + username=username, passwd=None) + +#Copy stuffs from old library to new library +dirents = seafile_api.list_dir_by_path(origin_repo_id, '/') +for e in dirents: + print "copying: " + e.obj_name + obj_name = e.obj_name + seafile_api.copy_file(origin_repo_id, '/', obj_name, new_repo_id, '/', + obj_name, username, 0, 1) + +print "*" * 60 +print "OK, verifying..." +print "Origin library(%s): %d files. New Library(%s): %d files." % ( + origin_repo_id[:8], count_files_recursive(origin_repo_id), + new_repo_id[:8], count_files_recursive(new_repo_id)) +print "*" * 60 +``` + +If you execute script file successfully, you will see these output, and of course a new library at myhome page of Seahub. + + foo@foo:~/haiwen/seafile-server-3.0.3/upgrade$ ./seaf_migrate_test.sh c8bbb088-cbaf-411d-8bd8-9870763f0e5f + Loading ccnet config from /home/foo/haiwen/ccnet + Loading seafile config from /home/foo/haiwen/seafile-data + copying: test.html + copying: test-dir-2 + copying: test-dir + copying: solar.html + copying: examples.desktop + ************************************************************ + OK, verifying... + Origin library(c8bbb088): 10 files. New Library(4d6f4837): 10 files. + ************************************************************ + +##List Of Seafile-API +This list is based on **seafile-server-3.0.3**, and parameter was omitted. + +For more infomation about Seafile-API, please see [api.py](https://github.com/haiwen/seafile-server/blob/master/python/seaserv/api.py). + +> - seafile_api.add_inner_pub_repo() +> - seafile_api.cancel_copy_task() +> - seafile_api.change_repo_passwd() +> - seafile_api.check_passwd() +> - seafile_api.check_permission() +> - seafile_api.check_quota() +> - seafile_api.check_repo_access_permission() +> - seafile_api.copy_file() +> - seafile_api.count_inner_pub_repos() +> - seafile_api.create_enc_repo() +> - seafile_api.create_repo() +> - seafile_api.create_virtual_repo() +> - seafile_api.del_file() +> - seafile_api.delete_repo_token() +> - seafile_api.delete_repo_tokens_by_peer_id() +> - seafile_api.diff_commits() +> - seafile_api.edit_repo() +> - seafile_api.generate_repo_token() +> - seafile_api.get_commit_list() +> - seafile_api.get_copy_task() +> - seafile_api.get_decrypt_key() +> - seafile_api.get_deleted() +> - seafile_api.get_dir_id_by_commit_and_path() +> - seafile_api.get_dir_id_by_path() +> - seafile_api.get_file_id_by_commit_and_path() +> - seafile_api.get_file_id_by_path() +> - seafile_api.get_file_revisions() +> - seafile_api.get_file_size() +> - seafile_api.get_files_last_modified() +> - seafile_api.get_group_repo_list() +> - seafile_api.get_group_repoids() +> - seafile_api.get_group_repos_by_owner() +> - seafile_api.get_fileserver_access_token() +> - seafile_api.get_inner_pub_repo_list() +> - seafile_api.get_orphan_repo_list() +> - seafile_api.get_owned_repo_list() +> - seafile_api.get_repo() +> - seafile_api.get_repo_list() +> - seafile_api.get_repo_owner() +> - seafile_api.get_repo_size() +> - seafile_api.get_share_in_repo_list() +> - seafile_api.get_share_out_repo_list() +> - seafile_api.get_shared_groups_by_repo() +> - seafile_api.get_user_quota() +> - seafile_api.get_user_self_usage() +> - seafile_api.get_user_share_usage() +> - seafile_api.get_virtual_repo() +> - seafile_api.get_virtual_repos_by_owner() +> - seafile_api.group_share_repo() +> - seafile_api.group_unshare_repo() +> - seafile_api.is_inner_pub_repo() +> - seafile_api.is_password_set() +> - seafile_api.is_repo_owner() +> - seafile_api.is_valid_filename() +> - seafile_api.list_dir_by_commit_and_path() +> - seafile_api.list_dir_by_dir_id() +> - seafile_api.list_dir_by_path() +> - seafile_api.list_file_by_file_id() +> - seafile_api.list_repo_tokens() +> - seafile_api.list_repo_tokens_by_email() +> - seafile_api.move_file() +> - seafile_api.post_dir() +> - seafile_api.post_empty_file() +> - seafile_api.post_file() +> - seafile_api.put_file() +> - seafile_api.query_fileserver_access_token() +> - seafile_api.remove_inner_pub_repo() +> - seafile_api.remove_repo() +> - seafile_api.remove_share() +> - seafile_api.rename_file() +> - seafile_api.revert_dir() +> - seafile_api.revert_file() +> - seafile_api.revert_repo() +> - seafile_api.set_group_repo_permission() +> - seafile_api.set_passwd() +> - seafile_api.set_repo_owner() +> - seafile_api.set_share_permission() +> - seafile_api.set_user_quota() +> - seafile_api.share_repo() +> - seafile_api.unset_passwd() diff --git a/manual/develop/server-components.md b/manual/develop/server-components.md new file mode 100644 index 00000000..bd0ab06d --- /dev/null +++ b/manual/develop/server-components.md @@ -0,0 +1,25 @@ +# Components of Seafile Server + +Seafile server comprises of the following services. + +* **Ccnet daemon** (ccnet for client side or ccnet-server for server side):networking service daemon. In our initial design, Ccnet worked like a traffic bus. All the network traffic between client, server and internal traffic between different components would go through Ccnet. After further development we found that file transfer is improved by utilizing the Seafile daemon component directly. +* **Seafile daemon**:data service daemon +* **Seahub**:the website. Seafile server package contains a light-weight Python HTTP server `gunicorn` that serves the website. Seahub runs as an application within gunicorn. +* **FileServer**: handles raw file upload/download functions for Seahub. Due to Gunicorn being poor at handling large files, so we wrote this "FileServer" in the C programming language to serve raw file upload/download. +* **Controller**: monitors ccnet and Seafile daemons, restarts them if necessary. + +**The picture below shows how Seafile desktop client syncs files with Seafile server**: + +![seafile-sync-arch](../images/seafile-sync-arch.png) + +
+ +**The picture below shows how Seafile mobile client interacts with Seafile server**: + +![mobile-arch](../images/mobile-arch.png) + +
+ +**The picture below shows how Seafile mobile client interacts with Seafile server if the server is configured behind Nginx/Apache**: + +![mobile-nginx-arch](../images/mobile-nginx-arch.png) diff --git a/manual/develop/translation.md b/manual/develop/translation.md new file mode 100644 index 00000000..55329992 --- /dev/null +++ b/manual/develop/translation.md @@ -0,0 +1,57 @@ +# Translation + +## Seahub (Seafile Server 7.1 and above) + +### Translate and try locally + +1\. Locate the translation files in the seafile-server-latest/seahub directory: + +* For Seahub (except Markdown editor): `/locale//LC_MESSAGES/django.po`  and  `/locale//LC_MESSAGES/djangojs.po` +* For Markdown editor: `/media/locales//seafile-editor.json` + +For example, if you want to improve the Russian translation, find the corresponding strings to be edited in either of the following three files: + +* `/seafile-server-latest/seahub/locale/ru/LC_MESSAGES/django.po` +* `/seafile-server-latest/seahub/locale/ru/LC_MESSAGES/djangojs.po` +* `/seafile-server-latest/seahub/media/locales/ru/seafile-editor.json` + +If there is no translation for your language, create a new folder matching your language code and copy-paste the contents of another language folder in your newly created one. (Don't copy from the 'en' folder because the files therein do not contain the strings to be translated.) + +2\. Edit the files using an UTF-8 editor. + +3\. Save your changes. + +4\. (Only necessary when you created a new language code folder) Add a new entry for your language to the language block in the `/seafile-server-latest/seahub/seahub/settings.py` file and save it. + +``` +LANGUAGES = ( + ... + ('ru', 'Русский'), + ... +) + +``` + +5\. (Only necessary when you edited either django.po or djangojs.po) Apply the changes made in django.po and djangojs.po by running the following two commands in `/seafile-server-latest/seahub/locale//LC_MESSAGES`: + +* `msgfmt -o django.mo django.po` +* `msgfmt -o djangojs.mo djangojs.po` + +Additionally, run the following two commands in the seafile-server-latest directory: + +* `./seahub.sh python-env python3 seahub/manage.py compilejsi18n -l ` +* `./seahub.sh python-env python3 seahub/manage.py collectstatic --noinput -i admin -i termsandconditions --no-post-process` + +6\. Restart Seahub to load changes made in django.po and djangojs.po; reload the Markdown editor to check your modifications in the seafile-editor.json file. + +### Submit your translation + +Please submit translations via Transifex: + +Steps: + +1. Create a free account on Transifex (https\://www.transifex.com/). +2. Send a request to join the language translation. +3. After accepted by the project maintainer, then you can upload your file or translate online. + + diff --git a/manual/develop/web_api_v2.1.md b/manual/develop/web_api_v2.1.md new file mode 100644 index 00000000..0963c498 --- /dev/null +++ b/manual/develop/web_api_v2.1.md @@ -0,0 +1,9 @@ +# Web API (For Seafile server v5.1.0+) + +## Seafile Web API + +The API document is moved to + +## Admin Only + +The Admin API document is moved to diff --git a/manual/docker/6.3 upgrade to 7.0.md b/manual/docker/6.3 upgrade to 7.0.md new file mode 100644 index 00000000..0e7c1c7b --- /dev/null +++ b/manual/docker/6.3 upgrade to 7.0.md @@ -0,0 +1,139 @@ +# Upgrade Seafile Docker Community Edition to 7.0 + +Starting with 7.0, we have adjusted seafile-docker image to use multiple containers. The old image runs MariaDB-Server and Memcached in the same container with Seafile server. Now, we strip the MariaDB-Server and Memcached services from the Seafile image and run them in their respective containers. In order to be compatible with the data of the old container, you need to follow the process below to upgrade to the new version. + +To prevent accidental old-fashioned upgrades, the new docker image has a new name called seafile-mc (Seafile Multiple Container). The new image is configured and run using docker-compose. + +## Check the current container data + +Suppose the current Seafile container's volumes directory is:`/opt/seafile-data` + +So the data structure of the Seafile container should look like this: + +``` +/opt/seafile-data +├── db <-----------> the data directory of MySQL +├── logs +│   ├── seafile <-----------> the logs directory of Seafile +│   └── var-log +└── seafile + ├── ccnet + ├── conf <-----------> the configuration directoy of Seafile + ├── pro-data + ├── seafile-data + └── seahub-data + +``` + +## Modify MariaDB permissions + +In the old container, the MariaDB user is only allowed to access through the '127.0.0.1' address. This permission is not enough in the new container, so you must first modify the permissions of MariaDB. + +### Allow root remote access + +The **root **needs to be allowed to access the MySQL remotely by specifying a password. E.g: + +* Suppose the current Seafile container name is:`seafile` +* Specify the access password of the root as:`db_dev` + +Refer to the following command to allow root to remotely access MariaDB: + +```bash +sudo docker exec -it seafile /usr/bin/mysql -e "grant all on *.* to 'root'@'%.%.%.%' identified by 'db_dev';" + +``` + +### Allow seafile remote access + +Similarly, you need to allow **seafile** to access the MariaDB remotely with the specified password. E.g: + +* Suppose the current Seafile container name is:`seafile` +* The seafile password needs to look at the `PASSWD` value in the current container's `ccnet.conf` configuration, assuming:`467fa02f-bf9a-4afb-9300-c4683073162a` + +```bash +for database in {ccnet_db,seafile_db,seahub_db}; do sudo docker exec -it seafile /usr/bin/mysql -e "grant all on ${database}.* to 'seafile'@'%.%.%.%' identified by '467fa02f-bf9a-4afb-9300-c4683073162a';"; done + +``` + +## Modify the configuration file of Seafile + +You also need to modify the MariaDB service address and Memcached service address in the configuration file of Seafile. + +* Suppose the current Seafile container name is:`seafile` + +### Stop the current Seafile container + +First you need to stop the old container that is currently running. + +```bash +sudo docker stop seafile + +``` + +### Backup configuration file + +Back up the original configuration file of Seafile. + +```bash +cd /opt/seafile-data/seafile +sudo tar -cf conf.bak.tar conf +cd conf + +``` + +### Modify the configuration file of Seafile + +* ccnet.conf:Change the `HOST` value to `db` in the `[Database]` configuration section ; +* seafile.conf:Change the `host` value to `db` in the `[database]` configuration section ; +* seahub_settings.py:Change the `'HOST'` value to `'db'` in the `DATABASES` dict,and change the `'LOCATION'` value to `'memcached:11211'` in the `CACHES` dict . + +## Migrate MariaDB data + +### Backup the data of MariaDB + +``` +cd /opt/seafile-data +sudo tar -cf db.bak.tar db + +``` + +### Migrate the data's directory of MariaDB + +Migrate the `db` directory out of the volume directory of the old container, so that the new MariaDB container can be used to mount the original data. If the directory is migrated to the `/opt/seafile-mysql` directory: + +```bash +sudo mkdir -p /opt/seafile-mysql +sudo mv db /opt/seafile-mysql/ + +``` + +## Modify the docker-compose.yml + +Community Edition:[Download](https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/docker-compose.yml) `docker-compose.yml` sample file to the host. + +According to the actual situation, modify the `docker-compose.yml`, mainly the following: + +* The password of MySQL root ( **MYSQL_ROOT_PASSWORD **and **DB_ROOT_PASSWD** ), should be set to the root password above,such as:`db_dev` ; +* The volume directory of MySQL data ( **volumes **), should be set to the directory after the migration above, such as:`/opt/seafile-mysql/db:/var/lib/mysql` ; +* The volume directory of Seafile data ( **volumes **),should be set to the directory of the old container's volume, such as:`/opt/seafile-data:/shared` . + +## Run new container + +### Delete the old container + +``` +sudo docker rm seafile + +``` + +### Run the new container + +Go to the directory where has the docker-compose.yml file and run the following command to start the new container: + +``` +sudo docker-compose up +# You may need to install the docker-compose beforehand, plus the -d to run the command in the background. + +``` + +Tip: In addition to setting the correct `TIME_ZONE` in the `docker-compose.yml` , you also need to set `TIME_ZONE = 'your-timezone'` in the `seahub_settings.py`. diff --git a/manual/docker/deploy seafile with docker.md b/manual/docker/deploy seafile with docker.md new file mode 100644 index 00000000..b5df81d4 --- /dev/null +++ b/manual/docker/deploy seafile with docker.md @@ -0,0 +1,235 @@ +# Deploy Seafile with Docker + +> The official Docker image uses multiple containers. If you need to run Seafile and related database in a single container for Synology platform, you can try the docker image provided by community: + +## Getting started + +### Install docker-compose + +Seafile v7.x.x image uses docker-compose. You should first install the docker-compose command. + +```bash +# for CentOS +yum install docker-compose -y + +# for Ubuntu +apt-get install docker-compose -y + +``` + +### Download and modify docker-compose.yml + +Download [docker-compose.yml](https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/docker-compose.yml) sample file to your host. Then modify the file according to your environtment. The following fields are needed to be modified: + +* The password of MySQL root (MYSQL_ROOT_PASSWORD and DB_ROOT_PASSWD) +* The volume directory of MySQL data (volumes) +* The volume directory of Seafile data (volumes). + +### Start Seafile server + +Start Seafile server with the following command + +```bash +docker-compose up -d + +``` + +Wait for a few minutes for the first time initialization, then visit `http://seafile.example.com` to open Seafile Web UI. + +**NOTE: You should run the above command in a directory with the **`docker-compose.yml`**.** + +## More configuration options + +### Custom admin username and password + +The default admin account is `me@example.com` and the password is `asecret`. You can use a different password by setting the container's environment variables in the `docker-compose.yml`: +e.g. + +``` +seafile: + ... + + environment: + ... + - SEAFILE_ADMIN_EMAIL=me@example.com + - SEAFILE_ADMIN_PASSWORD=a_very_secret_password + ... + +``` + +### Let's encrypt SSL certificate + +If you set `SEAFILE_SERVER_LETSENCRYPT` to `true`, the container would request a letsencrypt-signed SSL certificate for you automatically. + +e.g. + +``` +seafile: + ... + ports: + - "80:80" + - "443:443" + ... + environment: + ... + - SEAFILE_SERVER_LETSENCRYPT=true + - SEAFILE_SERVER_HOSTNAME=docs.seafile.com + ... + +``` + +If you want to use your own SSL certificate and the volume directory of Seafile data is `/opt/seafile-data`: + +* create a folder `/opt/seafile-data/ssl`, and put your certificate and private key under the ssl directory. +* Assume your site name is `seafile.example.com`, then your certificate must have the name `seafile.example.com.crt`, and the private key must have the name `seafile.example.com.key`. + +### Modify Seafile server configurations + +The config files are under `shared/seafile/conf`. You can modify the configurations according to [Seafile manual](https://manual.seafile.com/) + +After modification, you need to restart the container: + +```bash +docker-compose restart + +``` + +### Find logs + +The Seafile logs are under `shared/logs/seafile` in the docker, or `/opt/seafile-data/logs/seafile` in the server that run the docker. + +The system logs are under `shared/logs/var-log`, or `/opt/seafile-data/logs/var-log` in the server that run the docker. + +### Add a new admin + +Ensure the container is running, then enter this command: + +``` +docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh + +``` + +Enter the username and password according to the prompts. You now have a new admin account. + +## Seafile directory structure + +### `/shared` + +Placeholder spot for shared volumes. You may elect to store certain persistent information outside of a container, in our case we keep various logfiles and upload directory outside. This allows you to rebuild containers easily without losing important information. + +* /shared/seafile: This is the directory for seafile server configuration and data. +* /shared/logs: This is the directory for logs. + * /shared/logs/var-log: This is the directory that would be mounted as `/var/log` inside the container. For example, you can find the nginx logs in `shared/logs/var-log/nginx/`. + * /shared/logs/seafile: This is the directory that would contain the log files of seafile server processes. For example, you can find seaf-server logs in `shared/logs/seafile/seafile.log`. +* /shared/ssl: This is directory for certificate, which does not exist by default. +* /shared/bootstrap.conf: This file does not exist by default. You can create it by your self, and write the configuration of files similar to the `samples` folder. + +## Upgrading Seafile server + +To upgrade to latest version of seafile server: + +```sh +docker pull seafileltd/seafile-mc:latest +docker-compose down +docker-compose up -d + +``` + +## Backup and recovery + +### Struct + +We assume your seafile volumns path is in `/opt/seafile-data`. And you want to backup to `/opt/seafile-backup` directory. +You can create a layout similar to the following in /opt/seafile-backup directory: + +```struct +/opt/seafile-backup +---- databases/ MySQL contains database backup files +---- data/ Seafile contains backups of the data directory + +``` + +The data files to be backed up: + +```struct +/opt/seafile-data/seafile/conf # configuration files +/opt/seafile-data/seafile/seafile-data # data of seafile +/opt/seafile-data/seafile/seahub-data # data of seahub + +``` + +### Backup + +Steps: + +1. Backup the databases; +2. Backup the seafile data directory; + +Backup Order: Database First or Data Directory First + +* backing up Database: + + ```bash + # It's recommended to backup the database to a separate file each time. Don't overwrite older database backups for at least a week. + cd /opt/seafile-backup/databases + docker exec -it seafile-mysql mysqldump -uroot --opt ccnet_db > ccnet_db.sql + docker exec -it seafile-mysql mysqldump -uroot --opt seafile_db > seafile_db.sql + docker exec -it seafile-mysql mysqldump -uroot --opt seahub_db > seahub_db.sql + + ``` + +* Backing up Seafile library data: + * To directly copy the whole data directory + + ```bash + cp -R /opt/seafile-data/seafile /opt/seafile-backup/data/ + cd /opt/seafile-backup/data && rm -rf ccnet + + ``` + + * Use rsync to do incremental backup + + ```bash + rsync -az /opt/seafile-data/seafile /opt/seafile-backup/data/ + cd /opt/seafile-backup/data && rm -rf ccnet + + ``` + +### Recovery + +* Restore the databases: + + ```bash + docker cp /opt/seafile-backup/databases/ccnet_db.sql seafile-mysql:/tmp/ccnet_db.sql + docker cp /opt/seafile-backup/databases/seafile_db.sql seafile-mysql:/tmp/seafile_db.sql + docker cp /opt/seafile-backup/databases/seahub_db.sql seafile-mysql:/tmp/seahub_db.sql + + docker exec -it seafile-mysql /bin/sh -c "mysql -uroot ccnet_db < /tmp/ccnet_db.sql" + docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seafile_db < /tmp/seafile_db.sql" + docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seahub_db < /tmp/seahub_db.sql" + + ``` + +* Restore the seafile data: + + ```bash + cp -R /opt/seafile-backup/data/* /opt/seafile-data/seafile/ + + ``` + +## Garbage collection + +When files are deleted, the blocks comprising those files are not immediately removed as there may be other files that reference those blocks (due to the magic of deduplication). To remove them, Seafile requires a ['garbage collection'](https://manual.seafile.com/maintain/seafile_gc.html) process to be run, which detects which blocks no longer used and purges them. (NOTE: for technical reasons, the GC process does not guarantee that _every single_ orphan block will be deleted.) + +The required scripts can be found in the `/scripts` folder of the docker container. To perform garbage collection, simply run `docker exec seafile /scripts/gc.sh`. For the community edition, this process will stop the seafile server, but it is a relatively quick process and the seafile server will start automatically once the process has finished. The Professional supports an online garbage collection. + +## Troubleshooting + +You can run docker commands like "docker exec" to find errors. + +```sh +docker exec -it seafile /bin/bash + +``` + + diff --git a/manual/docker/docker-compose.yml b/manual/docker/docker-compose.yml new file mode 100644 index 00000000..bf78606c --- /dev/null +++ b/manual/docker/docker-compose.yml @@ -0,0 +1,44 @@ +version: '2.0' +services: + db: + image: mariadb:10.1 + container_name: seafile-mysql + environment: + - MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service. + - MYSQL_LOG_CONSOLE=true + volumes: + - /opt/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store. + networks: + - seafile-net + + memcached: + image: memcached:1.5.6 + container_name: seafile-memcached + entrypoint: memcached -m 256 + networks: + - seafile-net + + seafile: + image: seafileltd/seafile-mc:latest + container_name: seafile + ports: + - "80:80" +# - "443:443" # If https is enabled, cancel the comment. + volumes: + - /opt/seafile-data:/shared # Requested, specifies the path to Seafile data persistent store. + environment: + - DB_HOST=db + - DB_ROOT_PASSWD=db_dev # Requested, the value shuold be root's password of MySQL service. + - TIME_ZONE=Etc/UTC # Optional, default is UTC. Should be uncomment and set to your local time zone. + - SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'. + - SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret'. + - SEAFILE_SERVER_LETSENCRYPT=false # Whether to use https or not. + - SEAFILE_SERVER_HOSTNAME=docs.seafile.com # Specifies your host name if https is enabled. + depends_on: + - db + - memcached + networks: + - seafile-net + +networks: + seafile-net: \ No newline at end of file diff --git a/manual/docker/pro-edition/6.3 upgrade to 7.0.md b/manual/docker/pro-edition/6.3 upgrade to 7.0.md new file mode 100644 index 00000000..7ed28b8c --- /dev/null +++ b/manual/docker/pro-edition/6.3 upgrade to 7.0.md @@ -0,0 +1,174 @@ +# Upgrade Seafile Docker Professional Edition to 7.0 + +Starting with 7.0, we have adjusted seafile-docker image to use multiple containers. The old image runs MariaDB-Server、Memcached and Elasticsearch in the same container with Seafile server. Now, we strip the MariaDB-Server、Memcached and Elasticsearch from the Seafile image and run them in their respective containers. In order to be compatible with the data of the old container, you need to follow the process below to upgrade to the new version. + +To prevent accidental old-fashioned upgrades, the new docker image has a new name called seafile-pro-mc (Seafile-Pro Multiple Container). The new image is configured and run using docker-compose. + +## Check the current container data + +* Suppose the current Seafile container's volumes directory is:`/opt/seafile-data` + +So the data structure of the Seafile container should look like this: + +``` +/opt/seafile-data +├── db <-----------> the data directory of MySQL +├── logs +│   ├── seafile <-----------> the logs directory of Seafile +│   └── var-log +└── seafile + ├── ccnet + ├── conf <-----------> the configuration directoy of Seafile + ├── pro-data + | └── search/data/elasticsearch <-----------> the data directory of Elasticsearch + ├── seafile-data + └── seahub-data + +``` + +## Modify MariaDB permissions + +In the old container, the MariaDB user is only allowed to access through the '127.0.0.1' address. This permission is not enough in the new container, so you must first modify the permissions of MariaDB. + +### Allow root remote access + +The **root **needs to be allowed to access the MySQL remotely by specifying a password. E.g: + +* Suppose the current Seafile container name is:`seafile` +* Specify the access password of the root as:`db_dev` + +Refer to the following command to allow root to remotely access MariaDB: + +```bash +sudo docker exec -it seafile /usr/bin/mysql -e "grant all on *.* to 'root'@'%.%.%.%' identified by 'db_dev';" + +``` + +### Allow seafile remote access + +Similarly, you need to allow **seafile** to access the MariaDB remotely with the specified password. E.g: + +* Suppose the current Seafile container name is:`seafile` +* The seafile password needs to look at the `PASSWD` value in the current container's `ccnet.conf` configuration, assuming:`467fa02f-bf9a-4afb-9300-c4683073162a` + +```bash +for database in {ccnet_db,seafile_db,seahub_db}; do sudo docker exec -it seafile /usr/bin/mysql -e "grant all on ${database}.* to 'seafile'@'%.%.%.%' identified by '467fa02f-bf9a-4afb-9300-c4683073162a';"; done + +``` + +## Modify the configuration file of Seafile + +You also need to modify the MariaDB service address、Memcached service address and Elasticsearch service address in the configuration file of Seafile. + +* Suppose the current Seafile container name is:`seafile` + +### Stop the current Seafile container + +First you need to stop the old container that is currently running. + +```bash +sudo docker stop seafile + +``` + +### Backup configuration file + +Back up the original configuration file of Seafile. + +```bash +cd /opt/seafile-data/seafile +sudo tar -cf conf.bak.tar conf +cd conf + +``` + +### Modify the configuration file of Seafile + +* ccnet.conf:Change the `HOST` value to `db` in the `[Database]` configuration section ; +* seafile.conf:Change the `host` value to `db` in the `[database]` configuration section ; +* seahub_settings.py:Change the `'HOST'` value to `'db'` in the `DATABASES` dict,and change the `'LOCATION'` value to `'memcached:11211'` in the `CACHES` dict ; +* seafevents.conf:Change the `'host'` value to `'db'` in the `[DATABASE]` configuration section, and add the following configuration in the `[INDEX FILES]` section: + + +``` +external_es_server = true +es_host = elasticsearch +es_port = 9200 + +``` + +## Migrate MariaDB data + +### Backup the data of MariaDB + +``` +cd /opt/seafile-data/ +sudo tar -cf db.bak.tar db + +``` + +### Migrate the data's directory of MariaDB + +Migrate the `db` directory out of the volume directory of the old container, so that the new MariaDB container can be used to mount the original data. If the directory is migrated to the `/opt/seafile-mysql` directory: + +```bash +sudo mkdir -p /opt/seafile-mysql +sudo mv db /opt/seafile-mysql + +``` + +## Migrate the data's directory of Elasticsearch + +Copy the data directory of Elasticsearch generated in the old container to a new directory and mount it when the new container runs. If you migrate the directory to `/opt/seafile-elasticsearch/data`: + +``` +cd /opt/seafile-data/ +sudo tar -cf elasticsearch-data.tar seafile/pro-data/search/data/elasticsearch +sudo mkdir -p /opt/seafile-elasticsearch/ +sudo mv seafile/pro-data/search/data/elasticsearch /opt/seafile-elasticsearch/data + +``` + +## Download the Seafile images + +Login the Seafile private registry and pull the Seafile image: + +``` +docker login {host} +docker pull {host}/seafileltd/seafile-pro-mc:latest + +``` + +You can find the private registry information on the [customer center download page](https://customer.seafile.com/downloads/). + +## Modify the docker-compose.yml + +Professional Edition:[Download](https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/pro-edition/docker-compose.yml) `docker-compose.yml` sample file to the host. + +According to the actual situation, modify the `docker-compose.yml`, mainly the following: + +* The password of MySQL root ( **MYSQL_ROOT_PASSWORD** and **DB_ROOT_PASSWD** ), should be set to the root password above,such as:`db_dev`; +* The volume directory of MySQL data ( **volumes** ), should be set to the directory after the migration above, such as:`/opt/seafile-mysql/db:/var/lib/mysql`; +* The volume directory of Elasticsearch data ( **volumes** ),should be set to the directory after the migration above, such as:`/opt/seafile-elasticsearch/data:/usr/share/elasticsearch/data` ; +* The volume directory of Seafile data ( **volumes** ),should be set to the directory of the old container's volume, such as:`/opt/seafile-data:/shared` . + +## Run new container + +### Delete the old container + +``` +sudo docker rm seafile + +``` + +### Run the new container + +Go to the directory where has the `docker-compose.yml` file and run the following command to start the new container: + +``` +sudo docker-compose up +# You may need to install the docker-compose beforehand, plus the -d to run the command in the background. + +``` + +Tip: In addition to setting the correct `TIME_ZONE` in the `docker-compose.yml` , you also need to set `TIME_ZONE = 'your-timezone'` in the `seahub_settings.py`. diff --git a/manual/docker/pro-edition/Deploy Seafile-pro with Docker.md b/manual/docker/pro-edition/Deploy Seafile-pro with Docker.md new file mode 100644 index 00000000..598384dd --- /dev/null +++ b/manual/docker/pro-edition/Deploy Seafile-pro with Docker.md @@ -0,0 +1,285 @@ +# Deploy Seafile-pro with Docker + +## Getting started + +### Install docker-compose + +Seafile v7.x.x image uses docker-compose. You should first install the docker-compose command. + +```bash +# for CentOS +yum install docker-compose -y + +# for Ubuntu +apt-get install docker-compose -y + +``` + +### Download the Seafile images + +Login the Seafile private registry and pull the Seafile image: + +``` +docker login {host} +docker pull {host}/seafileltd/seafile-pro-mc:latest + +``` + +You can find the private registry information on the [customer center download page](https://customer.seafile.com/downloads/). + +### Download and modify docker-compose.yml + +Download [docker-compose.yml](https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/pro-edition/docker-compose.yml) sample file to your host. Then modify the file according to your environtment. The following fields are needed to be modified: + +* The password of MySQL root (MYSQL_ROOT_PASSWORD and DB_ROOT_PASSWD) +* The volume directory of MySQL data (volumes) +* The volume directory of Seafile data (volumes) +* The volume directory of Elasticsearch data (volumes). + +### Start Seafile server + +Start Seafile server with the following command: + +```bash +docker-compose up -d + +``` + +Wait for a few minutes for the first time initialization, then visit `http://seafile.example.com` to open Seafile Web UI. + +**NOTE: You should run the above command in a directory with the **`docker-compose.yml`**.** + +### Put your licence file(seafile-license.txt) + +If you have a `seafile-license.txt` licence file, simply put it in the volume directory of Seafile data. If the directory is `/opt/seafile-data` So, in your host machine: + +``` +cp /path/to/seafile-license.txt /opt/seafile-data/seafile/ + +``` + +Then restart the container: + +``` +docker-compose restart + +``` + +## More configuration Options + +### Custom admin username and password + +The default admin account is `me@example.com` and the password is `asecret`. You can use a different password by setting the container's environment variables in the `docker-compose.yml`: +e.g. + +``` +seafile: + ... + + environment: + ... + - SEAFILE_ADMIN_EMAIL=me@example.com + - SEAFILE_ADMIN_PASSWORD=a_very_secret_password + ... + +``` + +### Let's encrypt SSL certificate + +If you set `SEAFILE_SERVER_LETSENCRYPT` to `true`, the container would request a letsencrypt-signed SSL certificate for you automatically. + +e.g. + +``` +seafile: + ... + ports: + - "80:80" + - "443:443" + ... + environment: + ... + - SEAFILE_SERVER_LETSENCRYPT=true + - SEAFILE_SERVER_HOSTNAME=seafile.example.com + ... + +``` + +If you want to use your own SSL certificate and the volume directory of Seafile data is `/opt/seafile-data`: + +* Create a folder `/opt/seafile-data/ssl`, and put your certificate and private key under the ssl directory. +* Assume your site name is `example.seafile.com`,modify the Nginx configuration file (`/opt/seafile-data/nginx/conf/seafile.nginx.conf`) as follows: + + ``` + server { + listen 80; + server_name example.seafile.com default_server; + + location / { + rewrite ^ https://$host$request_uri? permanent; + } + } + server { + listen 443; + ssl on; + ssl_certificate /shared/ssl/your-ssl-crt.crt; + ssl_certificate_key /shared/ssl/your-ssl-key.key; + ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; + + server_name example.seafile.com; + ... + + ``` + +* Reload the Nginx configuration file : `docker exec -it seafile /usr/sbin/nginx -s reload` + +### Modify Seafile server configurations + +The config files are under `shared/seafile/conf`. You can modify the configurations according to [Seafile manual](https://manual.seafile.com/) + +After modification, you need to restart the container: + +```bash +docker-compose restart + +``` + +### Find logs + +The Seafile logs are under `shared/seafile/logs` in the docker, or `/opt/seafile-data/seafile/logs` in the server that run the docker. + +The system logs are under `shared/logs/var-log`, or `/opt/seafile-data/logs/var-log` in the server that run the docker. + +### Add a new admin + +Ensure the container is running, then enter this command: + +```bash +docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh + +``` + +Enter the username and password according to the prompts. You now have a new admin account. + +## Seafile directory structure + +### `/shared` + +Placeholder spot for shared volumes. You may elect to store certain persistent information outside of a container, in our case we keep various logfiles and upload directory outside. This allows you to rebuild containers easily without losing important information. + +* /shared/seafile: This is the directory for seafile server configuration 、logs and data. + * /shared/seafile/logs: This is the directory that would contain the log files of seafile server processes. For example, you can find seaf-server logs in `shared/seafile/logs/seafile.log`. +* /shared/logs: This is the directory for logs. + * /shared/logs/var-log: This is the directory that would be mounted as `/var/log` inside the container. For example, you can find the nginx logs in `shared/logs/var-log/nginx/`. +* /shared/ssl: This is directory for certificate, which does not exist by default. +* /shared/bootstrap.conf: This file does not exist by default. You can create it by your self, and write the configuration of files similar to the `samples` folder. + +## Upgrading Seafile server + +To upgrade to latest version of seafile server: + +```sh +docker pull {host}/seafileltd/seafile-pro-mc:latest +docker-compose down +docker-compose up -d + +``` + +## Backup and recovery + +### Struct + +We assume your seafile volumns path is in `/opt/seafile-data`. And you want to backup to `/opt/seafile-backup` directory. +You can create a layout similar to the following in /opt/seafile-backup directory: + +```struct +/opt/seafile-backup +---- databases/ MySQL contains database backup files +---- data/ Seafile contains backups of the data directory + +``` + +The data files to be backed up: + +```struct +/opt/seafile-data/seafile/conf # configuration files +/opt/seafile-data/seafile/seafile-data # data of seafile +/opt/seafile-data/seafile/seahub-data # data of seahub + +``` + +### Backup + +Steps: + +1. Backup the databases; +2. Backup the seafile data directory; + +Backup Order: Database First or Data Directory First + +* backing up Database: + + ``` + # It's recommended to backup the database to a separate file each time. Don't overwrite older database backups for at least a week. + cd /opt/seafile-backup/databases + docker exec -it seafile-mysql mysqldump -uroot --opt ccnet_db > ccnet_db.sql + docker exec -it seafile-mysql mysqldump -uroot --opt seafile_db > seafile_db.sql + docker exec -it seafile-mysql mysqldump -uroot --opt seahub_db > seahub_db.sql + + ``` + +* Backing up Seafile library data: + * To directly copy the whole data directory + + ``` + cp -R /opt/seafile-data/seafile /opt/seafile-backup/data/ + cd /opt/seafile-backup/data && rm -rf ccnet + + ``` + + * Use rsync to do incremental backup + + ```bash + rsync -az /opt/seafile-data/seafile /opt/seafile-backup/data/ + cd /opt/seafile-backup/data && rm -rf ccnet + + ``` + +### Recovery + +* Restore the databases: + + ``` + docker cp /opt/seafile-backup/databases/ccnet_db.sql seafile-mysql:/tmp/ccnet_db.sql + docker cp /opt/seafile-backup/databases/seafile_db.sql seafile-mysql:/tmp/seafile_db.sql + docker cp /opt/seafile-backup/databases/seahub_db.sql seafile-mysql:/tmp/seahub_db.sql + + docker exec -it seafile-mysql /bin/sh -c "mysql -uroot ccnet_db < /tmp/ccnet_db.sql" + docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seafile_db < /tmp/seafile_db.sql" + docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seahub_db < /tmp/seahub_db.sql" + + ``` + +* Restore the seafile data: + + ``` + cp -R /opt/seafile-backup/data/* /opt/seafile-data/seafile/ + + ``` + +## Garbage collection + +When files are deleted, the blocks comprising those files are not immediately removed as there may be other files that reference those blocks (due to the magic of deduplication). To remove them, Seafile requires a ['garbage collection'](https://manual.seafile.com/maintain/seafile_gc.html) process to be run, which detects which blocks no longer used and purges them. (NOTE: for technical reasons, the GC process does not guarantee that _every single_ orphan block will be deleted.) + +The required scripts can be found in the `/scripts` folder of the docker container. To perform garbage collection, simply run `docker exec seafile /scripts/gc.sh`. For the community edition, this process will stop the seafile server, but it is a relatively quick process and the seafile server will start automatically once the process has finished. The Professional supports an online garbage collection. + +## Troubleshooting + +You can run docker commands like "docker exec" to find errors. + +```sh +docker exec -it seafile /bin/bash + +``` + + diff --git a/manual/docker/pro-edition/Migrate CE to Pro with Docker.md b/manual/docker/pro-edition/Migrate CE to Pro with Docker.md new file mode 100644 index 00000000..4a806bcc --- /dev/null +++ b/manual/docker/pro-edition/Migrate CE to Pro with Docker.md @@ -0,0 +1,53 @@ +# Migrate CE to Pro with Docker + +## Preparation + +1. Make sure you are running the Seafile Community version 7.0.x, if not please refer to [Upgrade Documentation](https://download.seafile.com/published/seafile-manual/docker/6.3%20upgrade%20to%207.0.md)。 +2. Purchase Seafile Professional license file. +3. Download the [docker-compose.yml](https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/pro-edition/docker-compose.yml) of Seafile Pro. + +## Migrate + +### Stop the Seafile CE + +```sh +docker-compose down + +``` + +**To ensure data security, it is recommended that you back up your MySQL data.** + +### Put your licence file + +Copy the `seafile-license.txt` to the volume directory of the Seafile CE's data. If the directory is `/opt/seafile-data`, so you should put it in the `/opt/seafile-data/seafile/`. + +### Modify the new docker-compose.yml + +Replace the old `docker-compose.yml` file with the new `docker-compose.yml` file and modify its configuration based on your actual situation: + +* The password of MySQL root (MYSQL_ROOT_PASSWORD and DB_ROOT_PASSWD) should be consistent with the old one; +* The volume directory of MySQL data (volumes) should be consistent with the old one; +* The volume directory of Seafile data (volumes) should be consistent with the old one; +* The volume directory of Elasticsearch data (volumes), this is the directory used to store the Elasticsearch's index data, E.g:`/opt/seafile-elasticsearch/data:/usr/share/elasticsearch/data`; + +### Do the migration + +The Seafile Pro container needs to be running during the migration process, which means that end users may access the Seafile service during this process. In order to avoid the data confusion caused by this, it is recommended that you take the necessary measures to temporarily prohibit users from accessing the Seafile service. For example, modify the firewall policy. + +Run the following command to run the Seafile-Pro container: + +```sh +docker-compose up + +``` + +Then run the migration script by executing the following command: + +```sh +docker exec -it seafile /opt/seafile/seafile-server-latest/pro/pro.py setup --migrate + +``` + +**After the migration script runs successfully, restart the Seafile Pro container.** + +Now you have a Seafile Professional service. diff --git a/manual/docker/pro-edition/docker-compose.yml b/manual/docker/pro-edition/docker-compose.yml new file mode 100644 index 00000000..7f3a8ddb --- /dev/null +++ b/manual/docker/pro-edition/docker-compose.yml @@ -0,0 +1,62 @@ +version: '2.0' +services: + db: + image: mariadb:10.1 + container_name: seafile-mysql + environment: + - MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service. + - MYSQL_LOG_CONSOLE=true + volumes: + - /opt/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store. + networks: + - seafile-net + + memcached: + image: memcached:1.5.6 + container_name: seafile-memcached + entrypoint: memcached -m 256 + networks: + - seafile-net + + elasticsearch: + image: seafileltd/elasticsearch-with-ik:5.6.16 + container_name: seafile-elasticsearch + environment: + - discovery.type=single-node + - bootstrap.memory_lock=true + - "ES_JAVA_OPTS=-Xms1g -Xmx1g" + ulimits: + memlock: + soft: -1 + hard: -1 + mem_limit: 2g + volumes: + - /opt/seafile-elasticsearch/data:/usr/share/elasticsearch/data # Requested, specifies the path to Elasticsearch data persistent store. + networks: + - seafile-net + + seafile: + image: docker.seadrive.org/seafileltd/seafile-pro-mc:latest + container_name: seafile + ports: + - "80:80" +# - "443:443" # If https is enabled, cancel the comment. + volumes: + - /opt/seafile-data:/shared # Requested, specifies the path to Seafile data persistent store. + environment: + - DB_HOST=db + - DB_ROOT_PASSWD=db_dev # Requested, the value shuold be root's password of MySQL service. +# - TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone. + - SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com' + - SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret' + - SEAFILE_SERVER_LETSENCRYPT=false # Whether to use https or not + - SEAFILE_SERVER_HOSTNAME=example.seafile.com # Specifies your host name if https is enabled + depends_on: + - db + - memcached + - elasticsearch + networks: + - seafile-net + +networks: + seafile-net: diff --git a/manual/docker/upgrade/7.0_7.1.md b/manual/docker/upgrade/7.0_7.1.md new file mode 100644 index 00000000..c880eeeb --- /dev/null +++ b/manual/docker/upgrade/7.0_7.1.md @@ -0,0 +1,3 @@ +# Upgrade from 7.0 to 7.1 + +Just download the new image, stop the old docker container, modify the Seafile image version in docker-compose.yml to the new version, then start with docker-compose up. diff --git a/manual/extension/README.md b/manual/extension/README.md new file mode 100644 index 00000000..f70c7265 --- /dev/null +++ b/manual/extension/README.md @@ -0,0 +1,3 @@ +# WebDAV and FUSE extensions + +Seafile WebDAV and FUSE extensions make it easy for Seafile to work with third party applications. For example, you can use Documents App in iOS to access files in Seafile via WebDAV interface. diff --git a/manual/extension/fuse.md b/manual/extension/fuse.md new file mode 100644 index 00000000..efe84089 --- /dev/null +++ b/manual/extension/fuse.md @@ -0,0 +1,104 @@ +# FUSE extension + +Files in the seafile system are split to blocks, which means what are stored on your seafile server are not complete files, but blocks. This design faciliates effective data deduplication. + +However, administrators sometimes want to access the files directly on the server. You can use seaf-fuse to do this. + +`Seaf-fuse` is an implementation of the [FUSE](http://fuse.sourceforge.net) virtual filesystem. In a word, it mounts all the seafile files to a folder (which is called the '''mount point'''), so that you can access all the files managed by seafile server, just as you access a normal folder on your server. + +Note: + +* Encrypted folders can't be accessed by seaf-fuse. +* Currently the implementation is '''read-only''', which means you can't modify the files through the mounted folder. +* One debian/centos systems, you need to be in the "fuse" group to have the permission to mount a FUSE folder. + +### How to start seaf-fuse + +Assume we want to mount to `/data/seafile-fuse`. + +##### Create the folder as the mount point + +``` +mkdir -p /data/seafile-fuse +``` + +##### Start seaf-fuse with the script + +Note: Before start seaf-fuse, you should have started seafile server with `./seafile.sh start`. + +``` +./seaf-fuse.sh start /data/seafile-fuse +``` + +Since Community server version 4.2.1 and Pro server 4.2.0, the script supports standard mount options for FUSE. For example, you can specify ownership for the mounted folder: + +``` +./seaf-fuse.sh start -o uid= /data/seafile-fuse +``` + +You can find the complete list of supported options in `man fuse`. + +##### Special notes for used with Ceph + +If you use Ceph (via librados) as storage backend, you need to add the `-f` option to seaf-fuse.sh, to ask the fuse program not to daemonize. Otherwise the fuse program will have strange "frozen" behaviors when accessing files. + +``` +./seaf-fuse.sh start -f /data/seafile-fuse +``` + +##### Stop seaf-fuse + +``` +./seaf-fuse.sh stop +``` + +### Contents of the mounted folder + +##### The top level folder + +Now you can list the content of `/data/seafile-fuse`. + +``` +$ ls -lhp /data/seafile-fuse + +drwxr-xr-x 2 root root 4.0K Jan 1 2015 abc@abc.com/ +drwxr-xr-x 2 root root 4.0K Jan 4 2015 foo@foo.com/ +drwxr-xr-x 2 root root 4.0K Jan 1 2015 plus@plus.com/ +drwxr-xr-x 2 root root 4.0K Jan 1 2015 sharp@sharp.com/ +drwxr-xr-x 2 root root 4.0K Jan 3 2015 test@test.com/ +``` + +* The top level folder contains many subfolders, each of which corresponds to a user + +##### The folder for each user + +``` +$ ls -lhp /data/seafile-fuse/abc@abc.com + +drwxr-xr-x 2 root root 924 Jan 1 1970 5403ac56-5552-4e31-a4f1-1de4eb889a5f_Photos/ +drwxr-xr-x 2 root root 1.6K Jan 1 1970 a09ab9fc-7bd0-49f1-929d-6abeb8491397_My Notes/ +``` + +From the above list you can see, under the folder of a user there are subfolders, each of which represents a library of that user, and has a name of this format: '''{library_id}-{library-name}'''. + +##### The folder for a library + +``` +$ ls -lhp /data/seafile-fuse/abc@abc.com/5403ac56-5552-4e31-a4f1-1de4eb889a5f_Photos/ + +-rw-r--r-- 1 root root 501K Jan 1 2015 image.png +-rw-r--r-- 1 root root 501K Jan 1 2015 sample.jpng +``` + +##### If you get a "Permission denied" error + +If you get an error message saying "Permission denied" when running `./seaf-fuse.sh start`, most likely you are not in the "fuse group". You should: + +* Add yourself to the fuse group +``` +sudo usermod -a -G fuse +``` + +* Logout your shell and login again +* Now try `./seaf-fuse.sh start `again. + diff --git a/manual/extension/webdav.md b/manual/extension/webdav.md new file mode 100644 index 00000000..b482aff5 --- /dev/null +++ b/manual/extension/webdav.md @@ -0,0 +1,378 @@ +# WebDAV extension + +Seafile WebDAV Server(SeafDAV) is added in seafile server 2.1.0. + +In the wiki below, we assume your seafile installation folder is `/data/haiwen`. + +## SeafDAV Configuration for 7.1+ + +The configuration file is `/data/haiwen/conf/seafdav.conf`. If it is not created already, you can just create the file. + +``` +[WEBDAV] + +# Default is false. Change it to true to enable SeafDAV server. +enabled = true + +port = 8080 + +# If you deploy seafdav behind nginx/apache, you need to modify "share_name". +share_name = / + +``` + +Every time the configuration is modified, you need to restart seafile server to make it take effect. + +``` +./seafile.sh restart + +``` + +Your WebDAV client would visit the Seafile WebDAV server at `http://example.com:8080` + +**After Seafile 7.1.x, Seafdav does not support Fastcgi, only Wsgi**. So if you want to configure seafdav behind a proxy server, you have to use proxy configuration instead of fastcgi. + +In Pro edition 7.1.8 version and community edition 7.1.5, an option is added to append library ID to the library name returned by SeafDAV. + +``` +show_repo_id=true + +``` + +### Proxy with Nginx + +For Seafdav, the configuration of Nginx is as follows: + +``` +..... + location /seafdav { + proxy_pass http://127.0.0.1:8080/seafdav; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 1200s; + client_max_body_size 0; + + access_log /var/log/nginx/seafdav.access.log seafileformat; + error_log /var/log/nginx/seafdav.error.log; + } + +``` + +### Proxy with Apache + +For Seafdav, the configuration of Apache is as follows: + +``` +...... + + ProxyPass "http://127.0.0.1:8080/seafdav" + + +``` + +### HTTPS proxy + +If you configure https in Nginx or Apache, you have to configure the reverse proxy to rewrite the `Destination` header's protocol from 'https\:' to 'http\:'. This is a limitation on the WebDAV framework SeafDAV is based on. See more details: + +* +* + +## SeafDAV Configuration for 7.0 or older versions + +The configuration file is `/data/haiwen/conf/seafdav.conf`. If it is not created already, you can just create the file. + +``` +[WEBDAV] + +# Default is false. Change it to true to enable SeafDAV server. +enabled = true + +port = 8080 + +# Change the value of fastcgi to true if fastcgi is to be used +fastcgi = false + +# If you deploy seafdav behind nginx/apache, you need to modify "share_name". +share_name = / + +``` + +Every time the configuration is modified, you need to restart seafile server to make it take effect. + +``` +./seafile.sh restart + +``` + +### Sample Configuration 1: No nginx/apache + +Your WebDAV client would visit the Seafile WebDAV server at `http://example.com:8080` + +``` +[WEBDAV] +enabled = true +port = 8080 +fastcgi = false +share_name = / + +``` + +### Sample Configuration 2: With Nginx + +Your WebDAV client would visit the Seafile WebDAV server at `http://example.com/seafdav` + +``` +[WEBDAV] +enabled = true +port = 8080 +fastcgi = true +share_name = /seafdav + +``` + +In the above config, the value of '''share_name''' is changed to '''/seafdav''', which is the address suffix you assign to seafdav server. + +#### Nginx without HTTPS + +The corresponding Nginx configuration is (without https): + +``` + location /seafdav { + fastcgi_pass 127.0.0.1:8080; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_script_name; + + fastcgi_param SERVER_PROTOCOL $server_protocol; + fastcgi_param QUERY_STRING $query_string; + fastcgi_param REQUEST_METHOD $request_method; + fastcgi_param CONTENT_TYPE $content_type; + fastcgi_param CONTENT_LENGTH $content_length; + fastcgi_param SERVER_ADDR $server_addr; + fastcgi_param SERVER_PORT $server_port; + fastcgi_param SERVER_NAME $server_name; + + client_max_body_size 0; + proxy_connect_timeout 36000s; + proxy_read_timeout 36000s; + proxy_send_timeout 36000s; + send_timeout 36000s; + + # This option is only available for Nginx >= 1.8.0. See more details below. + proxy_request_buffering off; + + access_log /var/log/nginx/seafdav.access.log; + error_log /var/log/nginx/seafdav.error.log; + } + +``` + +#### Nginx with HTTPS + +Nginx conf with https\: + +``` + location /seafdav { + fastcgi_pass 127.0.0.1:8080; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_script_name; + + fastcgi_param SERVER_PROTOCOL $server_protocol; + fastcgi_param QUERY_STRING $query_string; + fastcgi_param REQUEST_METHOD $request_method; + fastcgi_param CONTENT_TYPE $content_type; + fastcgi_param CONTENT_LENGTH $content_length; + fastcgi_param SERVER_ADDR $server_addr; + fastcgi_param SERVER_PORT $server_port; + fastcgi_param SERVER_NAME $server_name; + fastcgi_param HTTPS on; + fastcgi_param HTTP_SCHEME https; + + client_max_body_size 0; + proxy_connect_timeout 36000s; + proxy_read_timeout 36000s; + proxy_send_timeout 36000s; + send_timeout 36000s; + + # This option is only available for Nginx >= 1.8.0. See more details below. + proxy_request_buffering off; + + access_log /var/log/nginx/seafdav.access.log; + error_log /var/log/nginx/seafdav.error.log; + } + +``` + +By default Nginx will buffer large request body in temp file. After the body is completely received, Nginx will send the body to the upstream server (seafdav in our case). But it seems when file size is very large, the buffering mechanism dosen't work well. It may stop proxying the body in the middle. So if you want to support file upload larger for 4GB, we suggest you install Nginx version >= 1.8.0 and add `proxy_request_buffering off` to Nginx configuration. + +### Sample Configuration 3: With Apache + +The following configuratioin assumes you use Apache 2.4 or later. + +Your WebDAV client would visit the Seafile WebDAV server at `http://example.com/seafdav` + +``` +[WEBDAV] +enabled = true +port = 8080 +fastcgi = false +share_name = /seafdav + +``` + +In the above config, the value of '''share_name''' is changed to '''/seafdav''', which is the address suffix you assign to seafdav server. **Note that we do not use fastcgi for Apache.** + +Modify Apache config file (site-enabled/000-default): + +#### Apache without HTTPS + +Based on your apache configuration when you [deploy Seafile with Apache](../deploy/deploy_with_apache.md), add seafdav related config: + +``` + + + ServerName www.myseafile.com + # Use "DocumentRoot /var/www/html" for Centos/Fedora + # Use "DocumentRoot /var/www" for Ubuntu/Debian + DocumentRoot /var/www + Alias /media /home/user/haiwen/seafile-server-latest/seahub/media + + RewriteEngine On + + + Require all granted + + + # + # seafile fileserver + # + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] + + # + # WebDAV + # We use http proxy, since SeafDAV is incompatible with FCGI proxy in Apache 2.4. + # + ProxyPass /seafdav http://127.0.0.1:8080/seafdav + ProxyPassReverse /seafdav http://127.0.0.1:8080/seafdav + + # + # seahub + # + SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPreserveHost On + ProxyPass / fcgi://127.0.0.1:8000/ + + + +``` + +#### Apache with HTTPS + +Based on your apache configuration when you [Enable Https on Seafile web with Apache](../deploy/https_with_apache.md), add seafdav related config: + +``` + + + ServerName www.myseafile.com + DocumentRoot /var/www + + SSLEngine On + SSLCertificateFile /path/to/cacert.pem + SSLCertificateKeyFile /path/to/privkey.pem + + Alias /media /home/user/haiwen/seafile-server-latest/seahub/media + + + ProxyPass ! + Require all granted + + + RewriteEngine On + + # + # seafile fileserver + # + ProxyPass /seafhttp http://127.0.0.1:8082 + ProxyPassReverse /seafhttp http://127.0.0.1:8082 + RewriteRule ^/seafhttp - [QSA,L] + + # + # WebDAV + # We use http proxy, since SeafDAV is incompatible with FCGI proxy in Apache 2.4. + # + ProxyPass /seafdav http://127.0.0.1:8080/seafdav + ProxyPassReverse /seafdav http://127.0.0.1:8080/seafdav + + # + # seahub + # + SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + ProxyPass / fcgi://127.0.0.1:8000/ + + + +``` + +## Notes on Clients + +Please first note that, there are some known performance limitation when you map a Seafile webdav server as a local file system (or network drive). + +* Uploading large number of files at once is usually much slower than the syncing client. That's because each file needs to be committed separately. +* The access to the webdav server may be slow sometimes. That's because the local file system driver sends a lot of unnecessary requests to get the files' attributes. + +So WebDAV is more suitable for infrequent file access. If you want better performance, please use the sync client instead. + +### Windows + +The client recommendation for WebDAV depends on your Windows version: + +* For Windows XP: Only non-encryped HTTP connection is supported by the Windows Explorer. So for security, the only viable option is to use third-party clients, such as Cyberduck or Bitkinex. +* For Vista and later versions: Windows Explorer supports HTTPS connection. But it requires a valid certificate on the server. It's generally recommended to use Windows Explorer to map a webdav server as network dirve. If you use a self-signed certificate, you have to add the certificate's CA into Windows' system CA store. + +### Linux + +On Linux you have more choices. You can use file manager such as Nautilus to connect to webdav server. Or you can use davfs2 from the command line. + +To use davfs2 + +``` +sudo apt-get install davfs2 +sudo mount -t davfs -o uid= https://example.com/seafdav /media/seafdav/ + +``` + +The -o option sets the owner of the mounted directory to so that it's writable for non-root users. + +It's recommended to disable LOCK operation for davfs2. You have to edit /etc/davfs2/davfs2.conf + +``` + use_locks 0 + +``` + +### Mac OS X + +Finder's support for WebDAV is also not very stable and slow. So it is recommended to use a webdav client software such as Cyberduck. + +## Frequently Asked Questions + +### Clients can't connect to seafdav server + +By default, seafdav is disabled. Check whether you have `enabled = true` in `seafdav.conf`. +If not, modify it and restart seafile server. + +### The client gets "Error: 404 Not Found" + +If you deploy SeafDAV behind Nginx/Apache, make sure to change the value of `share_name` as the sample configuration above. Restart your seafile server and try again. + +### Windows Explorer reports "file size exceeds the limit allowed and cannot be saved" + +This happens when you map webdav as a network drive, and tries to copy a file larger than about 50MB from the network drive to a local folder. + +This is because Windows Explorer has a limit of the file size downloaded from webdav server. To make this size large, change the registry entry on the client machine. There is a registry key named `FileSizeLimitInBytes` under `HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> WebClient -> Parameters`. diff --git a/manual/faq.md b/manual/faq.md new file mode 100644 index 00000000..2da2789c --- /dev/null +++ b/manual/faq.md @@ -0,0 +1,204 @@ +# FAQ + +## Setup + +### Failed to upload/download file online + +* Make sure your firewall for Seafile fileserver is opened. +* Make sure `SERVICE_URL` in ccnet.conf and `FILE_SERVER_ROOT` in seahub_settings.py are set correctly. Furthermore check that you haven't overwritten them using the settings in the Seahub Admin section. +* Use Chrome/Firefox debug mode to find out which address is being used when clicking download button and whether it is correct. + +### Seahub/Seafile started correctly, but when visiting the web interface, it shows "Internal Server Error" + +It is mostly likely some required Python packages of Seahub is not installed correctly. + +You can check the detailed error messages in `/var/log/nginx/seahub.error.log` if you use Nginx. + +### Website displays "Page unavailable", what can I do? + +* You can check the back trace in Seahub log files (`installation folder/logs/seahub.log`) +* You can also turn on debug mode by adding `DEBUG = True` to `seahub_settings.py` and restarting Seahub with `./seahub.sh restart`, then refresh the page, all the debug infomations will be displayed. + +### Failed to send email, what can I do? + +Please check logs/seahub.log. + +There are some common mistakes: + +1. Check whether there are typos in the config (`seahub_settings.py`, e.g. you could have forgotten to add a single quote `EMAIL_HOST_USER = XXX`, which should be `EMAIL_HOST_USER = 'XXX'` or you could have a space at the end of a config line. +2. Your mail server is not available. + +## AD (LDAP) + +### Can't connect to LDAP server with ldaps + +#### Description + +Seafile server can't communication with my LDAP server. The ccnet.log shows: + +``` +[08/05/16 09:47:17] ../common/session.c(398): Accepted a local client +[08/05/16 09:47:17] user-mgr.c(335): ldap_initialize failed: Bad parameter to an ldap routine. +[08/05/16 09:47:17] user-mgr.c(773): Ldap init and bind failed using ‘cn=XXX,dc=XXX,dc=XXX': ‘XXXXXXX' on server 'ldaps://10.XX.XX.XX/'. + +``` + +#### Answer + +If you are using pro edition, you can check the LDAP configuration by running a script as described in [useing ldap pro](deploy_pro/using_ldap_pro.md) (search Testing your LDAP Configuration). + +If the script can correctly talk to ldap server, it is most likely caused by incompatible of bundled LDAP libraries. You can follow [useing ldap pro](deploy/using_ldap.md) (the end of document) to remove the bundled LDAP libraries. + +### How to restrict Seafile access to certain accounts in AD + +You can use FILTER field in LDAP configuration in `ccnet.conf`. For example, the following filter restricts the access to Seafile to members of a group. + +``` +FILTER = memberOf=cn=group,cn=users,DC=x + +``` + +AD also supports subgroups. The following filter restricts the access to Seafile to membersand subgroups of a group. + +``` +FILTER = memberOf:1.2.840.113556.1.4.1941:=cn=group,cn=users,DC=x + +``` + +For more information on the Filter syntax, see + +## Upgrade + +### After upgrading Web UI is broken because CSS files can't be loaded + +Please remove the cache and try again, `rm -rf /tmp/seahub_cache/*`. If you configured memecached, restart memcached, then restart Seahub. + +If the problem is not fixed, check whether seafile-server-latest point to the correct folder. Then check whether `seafile-server-latest/seahub/media/CACHE` is correctly being generated (it should contain the auto-generated CSS file(s)). + +### Avatar pictures vanished after upgrading the server, what can I do? + +* You need to check whether the "avatars" symbolic link under seahub/media/ is linking to ../../../seahub-data/avatars. If not, you need to correct the link according to the "minor upgrade" section in [Upgrading-Seafile-Server](deploy/upgrade.md). +* If your avatars link is correct, and avatars are still broken, you may need to refresh Seahub cache using `rm -rf /tmp/seahub_cache/*` or by restarting memcached if being used. + +## Server can't start + +### Seafile/Seahub can't start after upgrade or any other reasons + +Please check whether the old version of Seahub is still running. + +Please check whether you use the right user to run or upgrade Seafile. Pay special attention to the following files: + +* `seafile-directory/seafile-server-6.0.3/runtime/error.log` +* `seafile-directory/seafile-server-6.0.3/runtime/access.log` +* `seafile-directory/logs/*` + +You can run the following command to change fix the permission for the whole directory: + +``` +chown -R userx:groupx seafiledirectory + +``` + +You can also try remove the cache directory of Seahub + +``` +rm -rf /tmp/seahub_cache + +``` + +Please also check the permission of `seahub.pid` and `seahub.log`. If Seahub can't write to these files, it will fail to start. + +## SeafEvents + +### Seafevents can't be started + +#### Description + +Office files online preview can't work. There is no logs in seafevents.log. From `controller.log`, the seafevent process is being started again and again. + +#### Answer + +Please check the permission of `seafevent.pid` and `seafevent.log`. If seafevent can't write to these files, it will fail to start. + +Another possible reason is that you don't have all the necessary Python dependancies installed. Especially if you enable publishing events to Redis but not installed the Redis Python library. + +## GC + +### Seafile GC shows errors, FSCK can’t fix them + +GC scans the history. But FSCK only scans the current version. You can ignore the error. It is a minor issue. + +## Ceph and S3 + +### Seafile server can't started when using Ceph + +#### Description + +Seafile server can't started when using Ceph as storage backend. seafile.log is empty. controller.log shows: + +``` +[10/20/16 12:39:29] seafile-controller.c(568): pid file /opt/seafile/pids/seaf-server.pid does not exist +[10/20/16 12:39:29] seafile-controller.c(588): seaf-server need restart... +[10/20/16 12:39:29] seafile-controller.c(198): starting seaf-server ... + +``` + +#### Answer + +This is most likely caused by Ceph library incompatible. If you deploy Seafile on Ubuntu or Debian, make sure you are using the binary built for Ubuntu. + +### Virus scan and search index doesn't work with HTTPS S3 + +The `use_https = true` options in seafile.conf config are working just for regular file operations to S3, but not indexing or AV scanning. + +Create ‘/etc/boto.cfg’ and add the following: + +``` +[boto] +is_secure = True + +``` + +Then the issue can be resolved. + +### GC error when removing blocks in Ceph + +#### Description + +We just did a GC run which came up with errors when deleting blocks. This seems to happen with all blocks/libraries. Below is an example for a single library. + +``` +Starting seafserv-gc, please wait ... +[08/29/16 09:15:41] gc-core.c(768): Database is MySQL/Postgre, use online GC. +[08/29/16 09:15:41] gc-core.c(792): Using up to 10 threads to run GC. +[08/29/16 09:15:41] gc-core.c(738): GC version 1 repo Documents(135ca71c-da2b-4b07-86e3-c7a1d46b9b22) +[08/29/16 09:16:04] gc-core.c(510): GC started for repo 135ca71c. Total block number is 294. +[08/29/16 09:16:04] gc-core.c(68): GC index size is 1024 Byte for repo 135ca71c. +[08/29/16 09:16:04] gc-core.c(269): Populating index for repo 135ca71c. +[08/29/16 09:16:04] gc-core.c(334): Traversed 33 commits, 402 blocks for repo 135ca71c. +[08/29/16 09:16:04] gc-core.c(559): Scanning and deleting unused blocks for repo 135ca71c. +[08/29/16 09:16:04] ../../common/block-backend-ceph.c(463): [block bend] Failed to remove block 79fc986a: No such file +or directory. +[08/29/16 09:16:04] ../../common/block-backend-ceph.c(463): [block bend] Failed to remove block ae2678f8: No such file +or directory. +[08/29/16 09:16:04] ../../common/block-backend-ceph.c(463): [block bend] Failed to remove block 9fe1ca0b: No such file +or directory. +[08/29/16 09:16:04] ../../common/block-backend-ceph.c(463): [block bend] Failed to remove block 4cad277e: No such file +or directory. +[08/29/16 09:16:04] ../../common/block-backend-ceph.c(463): [block bend] Failed to remove block e9c94b16: No such file +or directory. +[08/29/16 09:16:04] gc-core.c(577): GC finished for repo 135ca71c. 294 blocks total, about 402 reachable blocks, 5 +blocks are removed. + +[08/29/16 09:16:04] gc-core.c(839): === GC is finished === +seafserv-gc run done + +``` + +#### Answer + +Your "issue" looks similar to the one discussed here: + + +That should be related to the behavior of cache tier in Ceph. You could try to use "rados rm" command to remove that object. If it returns the same error (no such file or directory), it should be the same issue. You should try to copy that object out before removing it, in case you still need it later. + diff --git a/manual/faq/README.md b/manual/faq/README.md new file mode 100644 index 00000000..33f22fb1 --- /dev/null +++ b/manual/faq/README.md @@ -0,0 +1,16 @@ +# FAQ + +## Clustering + +### Page layout broken because seahub/media/CACHE is created only on first node + +Please add + +``` +COMPRESS_CACHE_BACKEND = 'django.core.cache.backends.locmem.LocMemCache' + +``` + +to `seahub_settings.py` as documented at [Deploy in a Cluster](../deploy_pro/deploy_in_a_cluster.md) + +This is going to tell every node to generate the CSS CACHE in its local folder. diff --git a/manual/images/Create-seahub-admin.png b/manual/images/Create-seahub-admin.png new file mode 100644 index 0000000000000000000000000000000000000000..4f07ff056bf8b9891cc3bb5fd64ec312e857228a GIT binary patch literal 88156 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 literal 0 HcmV?d00001 diff --git a/manual/images/Server-setup-successfully.png b/manual/images/Server-setup-successfully.png new file mode 100644 index 0000000000000000000000000000000000000000..d59031788f8b6d7c8389a357c520aa13dc9b26df GIT binary patch literal 33790 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

RkY-Hh!Pf-t5lr6#h&|Mc%j4s8`ZY7uymJ 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 literal 0 HcmV?d00001 diff --git a/manual/images/Server-setup.mysql.png b/manual/images/Server-setup.mysql.png new file mode 100644 index 0000000000000000000000000000000000000000..f3319c8e20b909a4c22c009a6f1fd5f446bd4a3d GIT binary patch literal 70236 zcmd43bx>T(zBW9B;1b;3o#4UU-GfeWhu|&=4#C~s86Zdq9w4~8LvVK;^quT|ukLw%k4(6Vk~9h;0U`hZK#`S^Py+y7nM00I_*amgFHkau zkQ1!2ytD-1<@Y1Ett0``gWw<~;dXPo5~NNgBf?M&h7JZ7MSXup%+JpC z9_XT>BT+CUHyEG7xb}RGfI+WebVDyHz@z_+CL$VZC=PFxa0`v&GGGe-OLz38FVw(c zXSB`YBr73J!O3c6nh8K2geG<|&h{D}@&r4T9bF8bT<)zI1*A9et?)Chfu^`YnkY1& zOhQG6J{Evug#JgHa5tF#Zb?e=qWbjYu@_Fi2mq+K+3f*h;GaY1KK%I_bR6FpNyQ}g zeS%|VelG1|C;)lCMctYP8tEm^Ki}v5v<5xq??ITJos&XNVHgT&zsExTuVeWzC;{oE z>r4zs6N6X%{KqBvuhnTF!<7hcO_ZHGV0Ry}zGW%LV|Wc11W9>SI+GX&I5eP%36nR` ztG66h;$w!SzCC0qwnAC{*v8c9U|_NBP#=i+Ew*^I%V{f?1@;S#9qfurJZnsM6}W{% zAwhS-AD_-FQaD+Wa8mY|UoI`mm#*W~+-Em6q#M_}xA*7SyCcM#tT6E@K6*y(4wcOu zB0p3Yz&M`g4!G~r^?7xdML_c7h~~%=k40Jik!k4_$W7%d4uh-9JbukY6?TPehA7su z!G!Y_)!{Urq^D`rQiF9#3F!xxZv>yfZ&HtcD8@HtyNM zy~j~T<%DhtC33sC0BQgLiF_?9zZ^&T)BF7cs}`N+za?lpsm%+Zw!FKTjB4l}5!T

&kf{50^?b^z3i#d_-hBql?n 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 E0EcjPBLDyZ literal 0 HcmV?d00001 diff --git a/manual/images/Server-setup.png b/manual/images/Server-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..33e6e0291a811a56beabf0dc3696eb759e5ca4d9 GIT binary patch literal 84508 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 z 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 literal 0 HcmV?d00001 diff --git a/manual/images/admin-audit-log.png b/manual/images/admin-audit-log.png new file mode 100644 index 0000000000000000000000000000000000000000..3af6f668423e93db379c46b2a8fa5d5b36d02044 GIT binary patch literal 209255 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

    CS@+SCXo{_~E&M)R({c&>xzb*n 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 W+d%Pq;$gGq7F|01X=wWCR1W8U; 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ⅈVz5wurEuQ4JHC}BsX-x{Wz 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 IbOnz6Kcis|w*UYD literal 0 HcmV?d00001 diff --git a/manual/images/auto-upload/image-1585712569569.png b/manual/images/auto-upload/image-1585712569569.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c1ce37c2d5acd4ae498275f74e81f936e933ae GIT binary patch literal 64858 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 literal 0 HcmV?d00001 diff --git a/manual/images/auto-upload/image-1585712631552.png b/manual/images/auto-upload/image-1585712631552.png new file mode 100644 index 0000000000000000000000000000000000000000..84ea6dcb5b0d950f9281980fc1526b3ed537c27b GIT binary patch literal 189766 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∈eh*>5DI)KRG<5R%9Yu4my<*ZBj}M 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 literal 0 HcmV?d00001 diff --git a/manual/images/client-arch-new.png b/manual/images/client-arch-new.png new file mode 100644 index 0000000000000000000000000000000000000000..451b6423ce0ca157195709ef5a9b0c17e8b8415a GIT binary patch literal 36622 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

    AdH3y2;nL##d*q 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 literal 0 HcmV?d00001 diff --git a/manual/images/client-arch.png b/manual/images/client-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..8c3b1e503148a3dce8d3d3572f76d21131235ab3 GIT binary patch literal 24575 zcmYg&1z6MV_x{ExNsAC9ln`kcp`@t9NEHb|V2X?`K{_^g6%`N}5~GzN(m6T?D5#7Y z5+esFFsacE{}1nbeSg=V>tgx&@WgqZbIyI==i$vgV_jAz9wrb7#0t~9`v3%@$pKzZ zGSUN&XByAg0#CF)w_y(%fu9h@XRl8`_R@Rg16)6R`U}1-mKFefc*$4W($~}z;p_k8 zxdX`G-(T9oBKSI+QM^_Ay;}(D7qOXW#>QyyS=#&eci)Izg=u|4-@o@>L|Rfz;)jiJWSJXR znVU+BW{-RIm*qFA&_Q({jb2j|qbZdai{oSJ(7aW3EkwsHAs9Xke?!oq+q8RW$u~3@ ze()=-1fz}~jRSFlGvz9w55_q0Q3*@m5Zkw0G%s2*rFbCnK3DsLW)qea5lV8na1Dxl zC!slcbclZ2q(T`(GRhAPhcEv+R)?kuIbWvk{Zi^Dl)x%xQU2I%({8tVY%cPS=@8uTo7Nt6Aw7Y9WuS_qH-z#p+z`jH4y``*4jWzeFTbH_b}X$lmuJ!v{c?}8xH@wU zm52I)P{If@MldZr9$_PDjz%IUknMye83Y2Y1jz({zSiI9HAc97uyp&Ni(=K(w;iPA zXZ|r%hcaF}`98F%&$jcVyytpVxAgZO$*TF6+plspYWlXVw6+s(A2hZF22BS=S}-sB zFdywGXliHV&8|N3oSXmS>*+b?sPngGWGHRVSvG32*Th@ePU`!%g66lnkl2!WhDkL| z_0XaE)U0*K;!5lt@35a)xXB(9lPp}xTwY$URplO~+tK|=I9IgF*VUPj{q=^Cl&t1| zM_1Ys4YL01XiWcpb6KIfi`VXZgdijRg)K*ihY#{F-7rm0R=229;Uib%7Ble8tFtiA zb_<*)V+fvr*zz(sOWS(8|C+smyF)0`luBp~MjdMTmQL#|Z7~Xa0@eYyI7!~6)jG>^ zkuUValz<&wXgK#L;9H?rh2EOKgN3Ecaq_^oGC??b@%(ne+?E*k>DAW4#ZHJ`^J3kz zwC&Lz7CIua=*J{QO#t1>D`#i6{VEfU{;?55TRp_+(jyJ1}PE^$j)<0b76FI$r zowkVmaq81EK!5j*YQ{FvL-LiKukK|DGK$|NIs{~P(fc6hk=Ibsgr(9%G0rMs^gD(y zcLcjxF)*HG15^8lXgAr4X$Gx6qF(B&Ys)QA#aQs>m%u$Zufgk)~&LP5O5j6QGxohdG4eN?*WpX`_BTuJjt!vwnO`RCb zihOsy`nB=Mt>X1b|BD=wOKlcJ7)hfNNnkmC@_>-_wavNCHRy?^IklgJv zc;g>ps_Y{TUhbc<4uqvx;s>-6NE#nIO7A1g2RRhXjkl($W!+Vw<_K?SkeX|?)3VF&RLl=DS%ZRR2*?0V3tPOuHM`>Ibh^l;OK(#>4B6+;97s>-sJ;umD;*0C7 zstRiuLlMmqWIS;{#6sox0ne})Sto>U>mfM=9!MUjeL`pZqJ$uhe+k<;LUwx31`+h2 zcbP+21B!L?f&G5olRJkpb{K6Yet}lYK-Qe7NSS9F|6TyrqzfC-_R8^!T$w;9DdQ%H zcULUoFt`b{K>=q3Vf#=;@0EhBBrM$@e=o_KGf!jJQA5s~9^2Nh(6hRz{Mu8oa*AW6 ziR(tw8;vZ(S=D~R@lI^3p2h4XTDBzL+X+rcF@A*~&%X@+O8|bsD zu#`1MRO@UNQ`>-QEX4e4Y-c~7ld|wufRm-aWLJK7I0^h)Rt^O%J^TvSTadiY!CzuJYToWuRsl`Qa zQ{&uv9PqlR@J(UB;edW{D^|Y2e|`G`*vUBO-T0Eeth8>o&)Cj2auz~iR6u{-#2|>t z@)}>b$?&xq`o$p1ZYWo816!>zu_J)?&=$Xi$Iz8WdD{&S7!($2o$QHhwA=$6*`}Te zjuI)z$kV8rA@KOMhDUqObdB5d;^~&a;E&55<7X%S+3Q%i2v=FLuD`fZsI4gSM^l}9 zM@p)Jdpy1;c-#0W`x;^CCN#|)#}C+=oeyoEym?f>0d(`l`zpO@OKoB^!6eHU;lHzu zm)ou0rJyIjbENK1an+6zj;-E%-u+doE3aef)xQi2m5aFWS;-6JgPHoz13!M zJ35_FjqdOsF%wqpJ*9%ys5xuTSFZQ-!4sg<5&RVVKz5N0?kdnUOZ3d~``FntYEe$C zyQ!F?@)o`{QhPu%@dffkFX$f8C;wy&)tlr|$7|B05T|_b%9vIO!mm(i!L;nzx)IYX zOnCzHpH9pUV^pILsloQLgqUrLjI%2xE0_^o1CYf2Bfdq(d5Zv!l7Aci3V~!6Sj7WA zDMDb{dP>{&o5e*>xyt#pai23(vA#mJZwS99Ot(iNc3UA}Wd#`*G|yipHD$^M5aIhK zsTYnMVaJ{U`(OCHriNIQAFqOYWVZVI=KWy2;4FM(u6bL+q9*7u=^0~7`+z~B1e9(g z@chZtdBEQYwOQzPDjWz+6gVt5o8H-{}~N`i{D#nfA2GBfsoj> zTONqvO|i?gt*>>vqw}joA4ysBl+sjkc*!-7di&eXw&H~3%qh#L=SJ|t%*@CR9bPOn6+dpNEb)yT|`c!rV5p#6Q+K~ z{QLac{x8iEtN83-bnikhYM^lFG^_%iIr|SJ1?ZUsHKQ@p&Kf7J)eB4#i!GmHZeyly z;5R{TlpYU*FOaI4Edq17IPeHZGZ8;n!KTLkq~_1@Cv0t^s3i<<*oq9SNTF3kCPbXyVq+O9RyEe; zZ8_!~)NBSl@FS=&J)YI)kO@!aag;^pX~+j0ND>>F4_|L4L8S9!pcnH0vkkbu+8zFX zj)Pxf)SVD^%9WAa8IZNcc(EF^BZaMq$n~Ty<WDwhFiofa=m=p&;)fKZ zDAFP@HMaDV2a_R06hm?q*>gbEaQq&IC{gsou5^|e5*@V3cKByd>+H*U*nU_XJ6ZbD zpNA3&grzMMQ34po8ZG~Kz&rH`@gbBZ2#ANp-_New!s*C7iZZMd6R(~-Qy*)>DRwV79QgXkp5@0qC5rII(L_Y93R zx#Bvx9ss%5scBw*x^Uy7vbk0D<%L^U@*(VV7#Bo>=@#hnAbJqt9ZP)`6XY3X}%DM%0s0xh5VYk_Bun-ndMj`jANG#iD~+W zw_h)nfuK~Ge-!8k7|8B@6!**+YOvyKs)k!C)!xXc zxdhsqtWYnzLFKhBd(bK{aP#U&q@WXB^^*n2HQS@n4Us*WQgY@iHx`p4~;)ek)@dX!~b0zt?vh%5nMZxL&tjOo3+_9ABWYT zzXzcwpCH&jjHc}cDqS5;6Zx`Q7~=VZxJRRwQgF#c=I#lwsvzHT16-Pcx#D-GJkN#@ z8mJ3vcGJgc+I}6ejZM_VnX3|t6xWx&9-N?G7JHNHdMZ;0grnqLP2k?hw-}>Bt0+On z(I_^UKvLD6!M7~nSh4-7JYRFq%e7Mrg$g^o6V)*5cCG@q+HKwDn(;H-nL@Zy0&S8$ z`0>APhF0nhLm6GW8db!-Kd#dif07%bE`n{L4`{${86+!z*i5`_=gH7~<`=3mRn5a5 z7IpFWaHr6!Be}5RsEx2<(tCi!CWs6&^;+r^!_Y%ZGuu(fKd89voju^sH)#{O>et+X zydvO&kVCGUgj(&q31Y}Bu-{;yu2CgO#j6TCFRcE$)I*v%L^{_*e8UG0EVM8U=Z49^ZgVd*x%p zVX5hx*7eMLr;G22vuo8ea2~+%OeXoc$>b#r--KEEDm-dc3~Y z+A>a9S^1O|F1oj-{=F9>x}Cj~@Qn+xEnk+5We2Txbj3BJeVaQ7E6zi2Fg7yIrerwW zfxPG2Td1z4$rzEX*~m!9w|WEEA<`Hc{Mki>o)_A{A=5?5AavpX5lz;~d$x9MYu!7i zdudAjM;a+zI&)YE;m7A?Bd}VRMF*(?_6q%FsA`@IAK;h;RD@r!-NO9*Zwm=7K>6_Z z@yUheKz1a^&965qn@GzFIKBAz4~`0qulOEGjnN0ltmHL{*f5mSEqAhzJ=BWF`0yNn z%bhrql4?IdT1gEfJvRJo|12E(Um8o(|(LaqMZ3b7r0OPlDUCaYfPU@*6J_@^Mzx$S&_ zLMX7&<9tDmv;DO|x5XYwErOIf1`cV3(i<~-X+&q^w~N0^+)YXX+z-rA{KX|&E!RqZ zs-bPKT@esl9cm#XEVcPh)j9Emo}&LY?YjaFVD(ru^4Xo?eJ<=SM3ILHKfdUB4%QANkwRLTn2@A+k?ryC5JSVu17^qxZY;+Q zSQI!oH+ciuiDE#uq>-{1W-;ym3?sD*%s*X14}m*UNRa;p>l>q~V$nAis(hT=rVZ(r z#GOB2x|elUZ1DR>vUj5*6p{Wk>@&@;1VGyWS)fWj3l07#zZ`K~#>|hu*x_`RR-Jf8 z4g9On9NTjD(btbx^e{&nGCSOB91c$b6K* z1cDnre3jtFQM5LJAXo?sO!7Iv@BoRz8 zDjbx9+yP(cUUG(I;15uB_*ewOXy1-GE6q5>gLC(Rr1MR<`{7Xv5WpF({-I=EtIx`) zCL`c(gZe-$=C5)GnSPXl!Xly zjx{dT1<#6c7d~f$WYT%i_I$IET}iA82Z7nf2 z?CFpHhM$4WPp@|V!3!Weg>9}nW6&xB`n>^Mw(X(%#1kg+6Ij-27cK58Lg@!V^j~6S zSt|-#EP`_>ss9X^Ye*0<7prqLDjgSS4C@Mn%H|pIiD^8$cl*+8z{Bk`uLQ&5+KoR{a}upe1JC# z5F8f8!zh!5B7^$tnjqu$SfX)ArV7#@vO|-VpzvAngn@hk@4fqTO$Gl1UxH_)gkJX% zX%5=84awc)#TVl9(dLUm=73Xt#l?s3!TSN3o$e>er_p_Er)veVt>A%IFxOFrBy|kj zT23G3X$>(23rn$w@Jcbbhow@|B)xB+c%nCs0*702^(XrsayvwGBk|X)l)myF1)VwQc>ApNS3qKu?gtGwti0|Zk zh<#PL%Y^LT>Tg|&nFGRN3vrZj$?!i}grY;$;V+ZbMvnqO&L0{iOKqFqV8>#SRE|k{ zRZuk8QF(1+$)$0CN%KS^gSW6RE^niPGM+N;lltX_xk`A|4_tKG?wD)fI!f`&Jww13$(1muRW1FlaQx z3i}!U47)j!sJqGMjlawv!%d3fd*T#%gk#ZFQP>TU32Dl8*uYxxx_s;!|G=|G3#{v( zHO|=nVbn?LBcVk-A$;LY5^B*cBzr4qA`l*+?Bq^>NfMJkP?`6BeB~MKb;Lg?x7we#0su{zD&T>IpK>tEFovx!yTuM{Tb3c~W4-W{?i$g~cU$`0+>s z8bc>Jif!WXX=Y=*e-{8h&3*5FtVl>ibNhA)kB;{i#|B=sgNZ`Z^3XAC3D%Q7fIHzo~RT zm^XA+NF`k)v%rI4n%Be5BvfIsCVEzBbRDeFUiOYT%S(-o~e0x{pXy0$sN`t&4Ojw$|%CpBEnC0!$Lf$3x@9x=+mVlG~OKu z&=+?pjQjiCoYS>WC^%7jZNV#UL8C&`JFw>fug7+ZG`&7izmc`qzxO9tR4>Sw7+G6h zt3U-97!A;D?ZsVo{&OcbWIDJbRJB6bpDi=kSB6Xn^Pjz*G4%1n zMTD$Pu2JyUTHv@Y)H+!^MX?h;(j^M*9!k>0C|6RwPpP#CW2h?5MWg^oB*82BR&ksT zotfGZ;&PRB=y!NifuknhJ?ns^NX_Jxe8_>G$_10IO{MX{r{Z44me4U z^IzPR%nKXO0U$|m5~yQxs^x5abpSU8^IuQ?Ygj*zt_HDzhdNn*LcN4uJQ@du-MsedCF63ZL+n3w5*2a+(^l1a-1vE7RuxJJFzEQi02*G6oI zI5Y0#9;7+Y1}fMz)cwHuJ-s?z4PbW}=T6XP@D=w(cT1P%DS|C!u3BSw&bS}%I-75k z)Oq4aX)xIB7 z24$ftzH!mxhX0Ex93H2>ss3?uzm2#Uye4k==fJjof}{S$BiYIyzUTU$A>#UDkC$(M zpka;3mht_p(gQHGS!NQ@uZ~Zl>F%)*Vo0y=C@kcq%e9aL@8pODNmx{J4mKe^n6~-vgTwRkkBDH3z_UBs zPUG$$Qx?nAEDE6k=YIVQvtrJwASc%Dl7!w?vDPtWF73DRf92h*SE|9*kgd(E$zy4; z%dIjq)^CTCep?ut^Io?BQD@7awK)tCPv=g8UH- z6_**_M@ZQk?({$qfE4Jl31o9(74&5f|F<1+n1-!O%#+zNxH`>$JngegR!1)FXe}>` zOW_^p?o?@2jt(8=ck`XHDO$1%zDb`Dkt-B4cMsSs^{}``LGGASu=uew+xR%|9*t>Q zm13d0O;LB~!@V`icoAnHa8vk=jJiVTB~5ga|!4rG%eD?4sdK8>Mv5)Lo`5ut|8k| zEsLvjq%p_~$)6~{Zu8riB?A7nT!6Y)kocc(jg9pieSo2f>2e{-bEq`{Gt=_&z|cm_ zxv)*WP=C~jXf^TOlXN$%`&hi`J+4lmt)*;fwB5e?YJugcuBO$e3uMdx6eKP%19&cZ zu;KtI1*=mry}eUNRUsKbHMt!>VNYhZs(a-sD|wFe_CwLuJeG=zCotj$?D#oUwQh44 zSljm0^_Poe4+uk|t4|sUmw$J*9KVeITRS~v`Ersqphz$rhZRDdKvtZto}A+>l9}Xc zrk8xf+ZzQ7qOpwFqgYJ79KIprbD7^eJQo`duJoGqU4BRxRg@IlYEgJi>Yp$`#S;*n zy`%=1=3nxqew|&N>xO8d!|?o82tV96EAB$}))Ye4d=(v$@y%iCGN8x|s zH)>7X%4z@BAQv}+j-LlLEsWRsQ%+Lmp;-Khf7#1v7Pejj=c;Mq7b z@W;E=oB14z#2DqnJ3udW60wb$*5+LrtcC;^QbwS9ORfrst~7wY&)i_xMYNx#TUb~a zfiGRP*F4xK47Xf&W+o>Xp*I*ffR5y%vSu`zxn?QN&6&d+FTKHM^np=nt9|h_B^%)T zA4#bKT(i*C?B`yVhiH=pS_*GwGp6Tk_TrRe zD_cZP`ZYmm2BVtC_gODxbyhw&taZ`WQ2{ny`d~%YEN;xd&?>9-Q~b6Ru(y?c^;9g0 zy9FGScT{$F_xg1KDSLnq83UVu{Pmf#Dn335C#yOrCuhsQWAOXwLPDEK$Xn`J-6lRz zH=x%#8vq*MA(-q>Rsgd@54VSFk85t$0{f}gf>4p-v{pNeOPU3IKP(nRzj6py0)&yBc(ttpI+- zNBD)ll@75%cv;Z-p;d~NHgO-lt@nI(V9`vNFMZTcZ^wa>DI(%7?L6;$1cDX9tgMNX z`O7(IrTD6lddC>-GEq(xCzbU~BXxzOx>cTvg*+JRp*%A999+@CP28H{?#QcFe`~L2 zFBSI$L*(90tU@@mG$>taSIU)(NvL|_%(4i)F*oWcGyU&nt*E_amBK5Vw3sJT(j8?^ zPgr7mZw0c<0`K#P+)0L|y!In@53+s|m`&z1CJ0t?I8)O$&8p}0!cm_ZmnZ^Wc0?h9 z+X~X+3B2UA63pQuBcT#I; zkWZ(mbKt&sH}fmjnpc- zD)5^)tFq4Q)R(Edqdj#+zLH~UY$8pjL~jbOPvznm_E@9heLcIQE##H^kH^pk6_)FiDY(nQ~TgDSD0zj*tA zEu0kf`^qFeJ^$Ml3+or&p^3kythpX^R^M5Pu6aBdM2o`uLssQ0qq>W10oe-#N3?+W zlQxr{1~X7EW&f!TjEIlI*npNmmxU;fXdR2<0k3Zae)-DMG*Tcw*EDZt~3!YB;IM zzkLO&&LaHcFrmE!+fu7!&S#wk98Twy=&DPs-kc*03&){mOJMxt+7RAGQqS_`N|CbBjMC*Wg$uEB9(IgOxx>}Ucv_-MQN_PAK zauXW?TJ7lONuozG%x)2RAJWhrjko4rZ^nhI zkDmm-!&Y1YIw?hN;H8cH8aK1SSq0|Rw;~WcmJ}*o3x-4)f2NSs$YL;mu!WwAN@xO8 z!Su3ZZAQyY5Aus|SMhd8cV>5X10c)cmuBvY7EFgFa45nWFeHxLYSx59)wJ*7UkS%4 zw#@>)BV`w;itztZ+cc7i{*FIL7u2~vr~e{BgzvpMmA687)`MBQ2EG2cm`y?POVsuG zY08s`D>_6+0>J4lo}*QNf~Zlf{%fD6;p9wMl85t>CD36~&LcX4HS!2QE|15}bhTy4 zHKFXK)woNxk7xfCmE=Mre-kv$`S;(r1k^G}lcVvM@HmmZLGGLSKhKVr z$8QIC4GvS)f;B%p>}d~Tp@x#h$@aT{7htfHLeu(mdd+qV+u^T1o9gH=X?_zwIoTJ*wZS0t9JsRE%|$tgC777Z ziXo)~?iz-@JKt*t6hLjFqJ(2t@JH!7kC~FPoAmNw8uX88#y>thmU41FekgmFSK+yd zhpEfS+2+_#jV61?aRyvXVHGHug9Q+}IDRQIxvP?2t&mQ$ZTrRW91S&p;dKY{mx4rY zl-n6eGaw}N0i`=hZ`}8@-DT%*kOj%NVNqtqrhQVqO3tos7NwI;dV%ktv$kuBcry(EO6^8qZKE# zK}lP}4*hp5ygus7N;XfbnV;+3PjOOJ4wT2XxTUxMrR(!xnPf|U{`<9DC>;i=|Jo&zU`K^t@ME>&sgT=SQ7ck~H8m&Hd4M1+b2{W)L zhMnEyfCdi|wjp73h99a7Om<>!@ncm^I@|%=fo{|6bJEk2-huEMjMnBEn`ZVhAdN&= zJ4RLv=hgSUR}JBm4>CAaB|6a^!3(sZ4laXCv|5@eV<_EMI#SeZcezSa)EfQ~`rXRQ zE3)X6|E2%IfPSW6t7jz;_aF-ujuKm!x>YMfHGdgwo>-NJ#ns18RlGS&Ju(|5h=Ls< z4SFi~iM(Uor*udQcCexL=nDLDnJar7>FtV7Rkb3zI;kpjFev8Mrz-!xcjM>5hOK3I zf=7oCOq1oYsPmh*W;{;&xCtOz48(`-j)OA$Y>0|zkL1m>8i0J)wF9evM9hl@Fhdh| zOxWnjaq_SxELDd_$4^U_2n~5m5mqGkrZh%)p0>mg;M=fs_z2f^BR(UfW0+ ztdQGv*}}g3Ri0S0U(>NsM}NoQBK?`s_}&*YPqs?U0lP>_BDVj*?$G3c{Y5p2;pWA| zpmN!<<$0RUXSk*PXX!i>^Ru+df8UPN`6?#^SRxD{M&{X$)SF$Ju6UjEs>4i76hZzE zTp)S)<4^p_uSC~74eEt|l&1a8f~|*3zdnYPVjq^grCqW2m-KSYU!~wP(L6skr|26a z4hn4(%uUi_r(IxaUNoZHh zdD>+Zws*Sl;Rz6TzF1|w1WGjccDJ`(0@YXDiF+MQZLyUSfIOAc+9$Jcs@XBt@{cH# z&YMU*v%7#2S`P{vxV514URe26KVn-iuB{b$g>uJv7?2d{Vb(QGa;e9#(#}J%3Aj@L zTMF8I)C&FKm~u75fjVY%zO07hkyHc6uCZ-z>GJ)6*5Khbi#t1~N*bi(ai7pByr|{b zy>HtaUim&W7W^3^!HQ>cl{I{?pk$`c98s-BoNPP#W~*4Kx#N4M5J}ZqLI28O{?YF7+DA;T`EKT4o|XF_Hw>gc*N~uRhv458TPOhW{9i z%mD^!#a=@T0aQIUkTGpo`tZgD`s|hyh*H<$o(FUBV_CQNzD`UFED_bWYdwcI{q{hP zI5%bTe88ht161&OkVcMGvCe6I4b2FP2@1-;`_#5qrqsNUF81DUXkBkhEhV$0kx zxwB)-|B09U-Jx>){h_B-IO_1X^rz5hJkQ4zehq$!jBm`8sfwGw<*~)ic|E%A0b;x9 z)aUB)0NK&QQ>RM@vvZQLS15FFq*(=PBo1$6(#S?!5iWGFo-OpK0W`o$v&8`x*a1Y7 zzS-qe`!osX{<6FcfEq|6S6s!^c}oYl0?Tf*U6!Q>g-u5oItDgs1{HQP}>7H zD|sX)>>g42#SVNq>3m5INBM+?{H2BB>hk5Lc+CaJ9M))-1W$n|Ddmi2_4s0CLGqL-Vd6f|}zPXqO!j z?v!o0^VMUH-Kli=6uHozy{Q$JpXTARA@Q4!psJOCwwhg9)!6H#Ke2f=)6N?YNxaI@ zflr`G<7Y^6{`1QOgw~)x)FkUc53~pOX_>D&)7;t>sAfki(REZWCO7(N6JH_x!huBb zw7g>{I~kIwphL7mE5Tmm=-4WQ^| zY3HEnFK!JA-FsIl3yUE#3Y4ZG&hS;M)DLG*n($B1Js%XRT{0rz++}=aK7;yzCry3Y z_fD-JYzXG(TgViVx<+Bi&fL%XCz(6_3dIDFr5r4*XROU2xx+JffweD(nvf~lo^}I9 zzi%Z08Gly(X4uh$oZqFFWwv|{`n4=GJpG5k4q|&+^(G(^`iS`D3US(lX{*l~^HAQ` zpwX+%PNdkXTp!?hj;8OJNdQmekH*jjuk2tWiPsi1*0YLPo~e>>AnRtw|)$05Fm@ekVwW$KR%7KERD~$WCVHuIX)`Gq6Z0bPA z%0uM#oVSP0+2L=!IxNlXsoC15hX&IGJO#br7H^)?LrOZIBh!)#@vFk_H^2XpV+~&& zrQi5XVjDmMF?WSyl`Er9YmWB6%czJfGd3a+HEi%sPow#+ zRGTGnxY(ZZ%A3-3X}Uw7{%@S!Dk>`Lq7^iLplZ5Fn#Omf&6xnUPJCw3Zb5H>Xcib? zL%$tcaZDwJGw-;)E*0jy`GYX0G|;3eeDbv;07zc&tAwRJRFDn?ns(;0xbq9RKe;l1 zYD`pq%j}8%hGpc$~-)7a$1VldQWA6fY0pO_1y}D{SEa9iTr-a|5Kj z8UCsHR#xL9cUNf{j7aQb_seAv!t4F?-aeVNRn%Ow`)L|x9E)F^YOT_Co!-! zjMDX*{o$qg!`-05uC=Bwk48qgj*H3N6ooU`2?3ep$#bM+tUSUd+XpfRlrvyzX6mj; zQ8d(#4kgRlZ}*%S<(GOJmAIozj3jYWk5dkGi6rFZks_GpB27X9K?2`Jna@MHbM#|FcN$HOSv(6T65g9GlgTAkQ8#857QrFU%05v% z+gKCbA6(p5YO0;T9P)Cx5?|}P^s?+xY47MAVui?_Db;EggDH+Za0=t=O$&N@zmE|1 z6ycge;=#w~@1@07`>H*tpI3p7iBCY^7k0#&O>B7E^_XyW9Gn^N{X0%9SiU8HNtrxl z<)X>24C39WQ}a^rc+Y1?Y=I~f%^BEe%?hi;X)5?;+pq>tiS{ClP=GOu=$4rd^yVm--RR&O@+r*w- zebOJqwgEKF0|5ZnZ#gPDMqtkNSj-Ic_$k7|YP3ReN=Kcw7qy_78+6@e9b({81S80JcaJr&3S+zR{&v4nN zrF&VpNx;Ov3fdeR-hvH{)}iO0W|O_X_qR#Q(Q&?u(kbm@u3s?SLHLBX$8(}pieD_g zQ|<`13v9e4q)CC#Ex6JCqsR)^*ZKQ%H^dk+B=$yOv!&(DaU2byGVo90k~0XQWKB${ z&3Zn&X9Bhtk#a$lf~|%5PDbuF8K69;n~VP#p0!YnZ{e`JZv$vkwm{mIRK=0m=E@9X z5Q$U=YWNYHI`i>t#3bvM^>r4$iW&Rg#b>d#lWib0akg#6vSuI9Nv?z zy!33d z_70IBq2%!70I1>O7NqZLl3=7y@XpBpH3>vF#mZn*sPLZv-z}|MIYS}s@Lk~*&0TtX zu1g1(ki(A6$FBsO{nyJuq_3Kv6St}i3$A`K6vm_|QrF@!o)ooQ)}?SGn> z7M|-fp^uBHw5o>U4bvVGtao7JmN$Wu4K-p@!hQK1z#RTr4~RmZ7|d&49My7B zOvy0$%Vn`1+5Oc&={OiN;iu6MbiNLiILIiz|304us%k?F#cN;J9+Xq64YZET&KRL% zhcnsxGRFHZz-1)qT5s7S=6%UG`Gc)lodrjPGor(>C7l*O*(eSItar9YpXOkBN z@Da;y1-8)3?x!v?S2ylbQ!5}x3@7^Pw03UtheRKE!DO(#1nYb_+O{ zkx`*R5T{-LWBfI<2T8wmA$-?K$G#!oc31k{UrfAV@#nJz!`G`<|po=HB@gXvCNuZ~S`?8)a=gdzMAup7uD;UoT?kB7=D z4GsKd2T!AAw%=nX%}L@u^vBlLcR=`=Y98)Yt6ra->j}_;(YI9U@(p|YsaNmy{xIc#=N1K1~`*4Fr*(&a9tT_nLn`*QUmGVFx zU)+`D|2Q?mmKnucpMy%^)bWN%kip7-Mt`z~4+Wxu${ADiVMnc}L!d@p?#B2-_Tz{) zoD8@ZJoQ!LDn}rCB~(1Pt8{=w<)E5Umw#L6KfgA!QLC$hKf0|MH-G*}C!txBSq&1x z%C0Z5E->f$X9si9`$R*nWnM-r^DQ0wgea#_D!!N#E)z{BYBV%~u zj7Xi%%|4u0&O-CWW~1jKO0LcnQUsXL!Mf>5a7@khGpYL_mZd0cnwo# zlrQUH*Vj7;KRfd-QBWhg<@xzzhV|IJq)lTr+`#Y6{o(-Fa0};=^gwWNQ-8WUzi5x-*w|JtH+I_O$(P(H~)S-Hb#`JIB`TyYsqkYO5RlN1KJZ!Aw5>Z zuNaeEU?;8!N3&v!vn=OI2h_N{WNTw;ZMb3fYv)HxK_{^ngWZ1^0A=qYgDmV3aHL%2 z)NFp%yZ632>$+?aPhv3{9*AoXi#r*gg$y#WaG;0Kz9Lkf%-gl*LK8c!@zVAw74K9^71bN*% zllAw#?_F_sZrWDC_~#vAw7pHi$yj#@^XrWCtgu1@mna(H_E?(&bNK6#vjM!atpsDG z%Czn!H|W79jG}=yW56~SEP8VejMm9>Q)Z6E{t?*{XDCWHd+;hPzRgnwsr~x*S3v4c z*$Bs(FA|tCh`2C-#3S0^@YExYp~b6xFV88CWI(_A{cM9A@LRZ z9lfny&>Y(DZ+m(bl=lT05?=0N6amM=5f-P|R)%sJ7QO9j0w~KeDV8{zJ6b<2p9|S4 zQbDks`g59WG6g=DseX+qT^;zOH&- z)#Hg{cx{JF)|$G&&e_r&ZAMH$`GXl|ZvKh`uPh-Rx4+3%?Ov)Xz%fR|zrv`0K%boO z)S3}95lXnHI4ksbnb9P}uP4q7ce>`O#IHiA-kCwpUhup4O(AmnQ&e)*{+=1x5UMJt zXc7-V)(GrQ3aL0Z3?NwS#2b%IXBnWu4~bJ=k!u!om?Q5y8;7^Yc2Hx4CFZBN?xQh5no=RbazQ%yJY~gUlDI zBjLgum-(x_uXzDXg5$%Y-Za_DbLF>(BhoE^$pQ+H8Af!8&Uk-h78p4DF-#~id74JH zd#huhQss5Id=WogT4TFy#2CX~X^r zijp!|(%%nnh-s=;Jc>G(bVkPO zTqceTA~)pIZtmAg+=}e*8E&;uiylXXW0n?uqM#Q3G!3)w>Yv2Wx1I%RTDMSBF+7TY zZ^GLfGd1tyjJ3wRz<@?>PIoNe1?bjnz-gsF;av$WkAWiy7R6nR_Jai+Uznf`cZfTv z4Pkc=gg+!MuM0?j#uyfEmg?0rj&SWtmkCgXy+XB$*2V?WNWJtkb?xcjbRPUg3OZe{ zu-fJvKXZ~7s6M60(x0sfXrXT!Ggsf14vnX1SeR9cm+1hgT!FCUZ?-8N2jim!;wUFT@8kRVX);=K$Gr})uFo;D7z5NY}KD=c2 z@-h7g=k9r`KUoU|4Ynn+BRyfMFLi&)ygm5ishE6+9|RJ3cKUw-o+22w=l2lX%CI<) zE{!Wthj~twrS<`_bPb+ov1W;sLanBeS`Idrre9++NY02I^WyKfPKmZPeU{a>jHIk9 zAuIH$iAZmN$K$GHy>Y#C{-oG4uNvTjP9TzJ(jVZYTgzs2@w-JyMN9G#tMB$DVS5LgcIS)4x4|=>ZD*n9549to{Mcm^%wv@T zXuslD7B_Z*cH2)rT_ui(Gwp^2nM7ogF2=31M6}NEa}o-fWBT{=4!B&TUnQNbQKm^*>ue01u!Mj%e0EXS5j6cbL2Vs3hAmF_JH(k68wpr4 z1SnmdvyKAJB>>!C zsD4V6tn-8a*TQvxv)R3G#HeaZm$rx~V$X({rK&~DezZ2#(rE0xN6^xKRwY)9&`+$I z6?>-bhpJdnB}OT=il7ZOO8&3!_rI>>y0YHqyyxV3o^#G~?)%QVW#AMUT^WhNV*M*< zRrePyi@zLd{#I*Qt0WFhw$TP0TsIrWe>i9+F+AU2+hC`}&DU(Tx6I9sT1M>udfMLF zD~xIgyNKE4XjCN9$c?p-T8Ec^&LS9(k>i029kFskC~?h#sOyf93!jz@d>YgV1&{;W?g&xKlO%)YjeuPEa;m#&ZKz zB=Us-?o$6}Rfc!@fCSNsU*t`7z!lf|!Le;*kV|Jk9`2?mvNSk-&W7?gMi24E{bC|P z+5GWRSU?uG-VGcEit$`S5fjOZL>zLr5O;J%;e3sc-#-LjWe>MBC3A`bA~4bt+JJad zQC~~QIK63=sZ@q_k4LywlpYb}5h9}9?5_(yl92p7tPW0eCRkf9S3WFC zgp`)MxxB^#XPi}~Z`8H+2=UD^KJ=t z;$AyYE@H&K(^D{X9l!L!bUJ)X>RtvNO`u$pMT8rMvCoztl@NlV`L+R#q9$o{{dSjG zL((ori`>O`Ej3J$Xoa?jc^87~Y&YRBYUP&y@cV+JV66k?8iqZqK^*lEG4u`5;A#+N zM|p{{^;0h}jhr-~h>+SaC5C(wt3Lw@f<+@chj(uwX0wz;R>|q~B!Ya_#C9ZtD0((6 zKFRb>TU0-r()t*{i?s*kT~5FkZXq-dV)XU97~FFQ5k z?%q7SyDz4|+uTNtr(cAd^)diF?vA|>N)>PF`d}_7qQP0Nmb23sUz0x_t8H)6-6i5W zpR({ZL}sZ5T2;{1L@3&7U6u!FzhAK8W-(>eN{)`cf&Vu@?Rv&U5LGu-XjNyd5BY-)xq<{W5pVEq%4|Fbc9J@8Kg!D0;GSbXK@-9P$j);C-3V|HF8`I&fc8c1nubMp657y1Aglp5q`ZEie6OdTQ>}Da3GtgH+-UL(*^A?2 z3MPJjaK#-NgaSpb0(D-U(?i!JQTGO4YZ0SY23?gFVn%|ngt1{VIoPwQv$>u|+9L2Iw#ajcgeE4DEt`}mecRUQDj}_Y zveu8ex)#ir57EY7-bItE;l!N2cxV-99nG=R#JtJ$8>EtJ({LwRpf>X5@uo$xooM7a zMvMkHSSpAaPRiQyf)Oc;e4%d&~F zc_3fKmIAM;sw%S3nEK3@b!_PFzP6I7BP$PeQ-j{>6a0^C; zlbwRI_Zu(23f6mQ?Ae)>`ITewhf~+7b(!)p^3vSvJNL3>;lxnPAj#E)`yF^*^U9LI zND}|n=JMpFyb(3XAXSgj2aUA8V9b)47T}7d&DJOov7_2nA9TF{T(s||d4usRo8<>E z@ezq{&u^mTmj2)he6MbYWAEqJMn{eExp1>L%x5LKD8_Ls zHQ%?(jFq+nfAmK3<)(xiN_iQ4y8S53g7^8@_U2$xyF#}m?b%eTI$qdaRj~1u_}XSC zrt`jPmglt8t_njzJ@GkYi@50_eH`6mt@&)e2HNO)ZgCIezjNFXd)y!5grb5j&>>3= z-|=M!;J*Dyfm@XO5%4-#3i~dcxHcL%1?pmxORLA@A~BMN>P)I^A!qii=FIkPFb+sL z$X&nJ8=&opI(_VM9HP^aBA+XH7+Sa5Wja7yuRnq zZd1;YcwmQ~Fxu=xMdCxHsdyljPVM~0ja2&tF1=vMrpjWX;)nQXEcP6~Mkn*mMVwlH zjI3Fl3{mP>!UnD2Q--W*_7esTFQQV)0nk&+?_i@=X2!RfS8Oox@cESAPoD2}NQ-Wq zj=20VZ)C^Kv(s9ud&_wqr#ru`csW_Ya&h?v zumb5TlOGSl>v1v`nSF1VXrTU?Ea%k-))_v94EhS} zbD_yk8xPMimP#xQZTs@UwV#zN%XyqUU=LdoX?0TDVOGY&F!Um79`^$VrcW z>m*jKq~cur@BZ0ip0`$2N=9t>URT+szmhdu5)q97(@$@2kVo7$^z7V(QEU;=dFP1d z*F}sf0u0}s_k69HM5s8b%Ie+T${NbdJG58V8qxiIF4IeJ-5z=>>)&y^Ay-H1bq?+S=-mzGPbVH>+Gd$CT%XLiHie3m#|YcJ#~t-XOZ#G zv#Qs`ijCA+Q}1?K;WdxbKw6`PQLcZOy^J(1>Ax@in9j9P-uW#x#~jMSxU#kQXFH_8ijZhyK#@D% zoX=%txDFagT?q)>;1q11rQ>_Rwm!he5}M)J!FVjOST} zS)%R%LjB$bpOC8K6~r069sWgXK%PzGT34<${=lz+J^vN_eZKJOIZb@9FwJ_fXCa}K zm+o3@(=Qpq_x9{|0zm~WZKG=PS(@aKt{p)(Smw>~RUx)nNY!I8V2$~gKN+#&R5?3E zrh?UQ?g=ilBnCU))WbI}a>sx7Z8JVF2 z)e*_(Q!hhyUxF>P@$a$6u9BHwdwZoBEz#)by}SDan6}nu^584FkdG+-wKJS{l`%}l z%VooEIxw0rZ$p&xbN}*_TXD^{QT<2fp$h}Ra5eaMIQA+P+8EtxThP`E-8Jl$vAhTi zH*r+oPQ<_^WcV|;r5vHI3HOgm+MIj5dR(a`Oe)GgGcuZI$0i0Z`HC;b_n2_GJwgUs zxGq+t8~y4HFpq&=ZkCYs17LzoO`lbN^B(V)=U%$)V;B|)Y`=}KRJY)N+O*pKtmNrA zpI?7?fo8n)gyYiJ0<*rJTd+2+U{Q^K$#N`mZ+vMgAxXa83pf5TJ-DDx5lnk0v=V2p zQ0SlU*r!X1&uIMnZ*fuCEVxU{4Y$#O!`G*o zZ@TTztc$MZTpCrjrSxESu>sH9ADeEsa&No*xF`y~j=GDeFtAmr$vWoczo15oEt~}o zsH7#!c<7o>h|4;|Q@GE#nFw9+NxrfHRW};wx zafd<5_!-`R!;zZ!6tUG1*x@7Ew0#7}`hyU!p`?VEXt_xg(gM1X+`DzjRd4BA?#rJC zU0L+Y5imo=;vxHpg%9&vH6%OI+mNUc&6;np!Y2YRhdT2<#D=st*@S!;?I9%rtpmzZ zba!)PoSV&JMWOzxxqS$a5^mAf$JN8Vut~kBVP1ELWw5;dL1S5?m3B{lIanRF)^fW| zBj}%kn%*cipG2GqR_S~V$IWx855gs6_2pu5N46A`5b|uuv`rLv&sl50*p%^u&=n{7-@{Rq@NcMff6_k@W? zSjt~}0jWxU>r)aZwBmJVBcUJqu6R#3&|C8S)I-%5rtbq{3$OS&bI}yi9~`d8ruQTO z^X4)zZ$4xP#7Z6^i7^^$o=VVMuR9E=d0$t0SZSJdCv~qRe*Q+3?9p$HQM0k!zc1(2 z`Fm4zl=11k^=bAc1of$g$D=9iNWj!SbrxuUARuDgorivDZP?l)B$&vzh+2-tFV_8U zgY}6i!g4)vppgJ_>q(do{FVv~*E#$5aJH99yS;PKiN?I!Mc`jTwFn@uWV*p$w{Q+a z#4Yu5-m(908>tK;uVd>G#a5WdJjA`>`4+1!ffx%Z&kTOxSti=>tgQZl-u+1_mASTx zCZp)Yq!*Bl>}B)=Y0r$sTu*~qdYYD1MV*f|e&XYZm54VRW2J!Ip>Jv+NKO3%!4IzA1xwx)uM}FuFTmt-=U@e{EZUWgR?Ev~ zmFKnjzMuT>K!<3gi=PX=c!b9mr}UA)W4mrJXT3Nv9#np;)~7qTYbf2pyGTn*=@zSd zsEX+`)8?K)A@46dk`>Mj|Dba9ZfHMkQFa#h=t z<+Yco3(FN7W3C#b+_7Q6*FB(UCU`}om67wOa6SY80hDKZKsXS0LyN2G#J0reG{$y+4CQ#5)k;W4(UqKjy|0VBce}XC@2Zc))^oS;1|@!7 zp3g?bRg}}y%=Y%4HJM_4n<(?arM3YNV_=mto2E2LcJu(&3-{zP@yxkPqx}Lp@^V~! z+pjyaOy~9E_(T)FA)IW1fGwx)vPNdn_i^l+R2hAx?aP_~j#dC^z&Gn55?jc8Cd5G5 z+-TPp7-(KiE&A1Vy}*AH;0dM+`f&$9--0*>*{a#A0p2E8%&AySNg0&0lbMtE+zYqx zoyjFzHjJ(Lk9H?ctkhYWGtx?FDpRP81F@D(eaP#lH_8zz4Lj8RWn7W^g4fUw=ouxA@|{mG(zRi1>t@= zrjb>SRm&L(QGR!#TvM1Tgt|N@ICl@$R!ZHa2a7f^=?<*tBd0E~g0HWt!Va&es}><1 znZOcFBu*%82?htk3ZKZwrPM}%paFN{fE@-BJvn1-4ft}3(Q7^+EFlKD>ud5Huno}3 zz?d(}#L`?(eV$8c^}*O zp3^GMm z>ju#b?H;3sfoIS!Ga;~}>#M2=EY<^puruHjTa`fQp0IYT5Fo6_9k*ptz`$#am?59^ zYMJPiF69d*(`>vl`|D=fAOuGjH&j>Z+cn!rF&M8moRpl2Ho#Pgp)iC zBPSXO-29ghYSRdRJ=gNEqa<{2MP>`FZrz4hO0Vj=zvezHbw4+>^X(&Fq_x(Xu6p!+ z0G5&fGCHVrM?e}S=#T6X5U~vUqte?Dxa=l5! zuA>~BQg9|_o7~LRN<`{F1E82zoRL{=?}CIdK?qI#O#Lib2Cd`d&a*-&Z6}jCk-5jP zTqpq88V;Bt0>{^s8NLaLzUW6tZ*lQpLrlk0WS2=R7L7neCF45Mzw4JAw*$y>gSupN z6_%Ea+_lF*PRnqUZx9o)9s;%gl#YRuQ{1DNM|;tO%TTIByPy*32!I}9HqRy*{3H&n zJ0mKX55=fTur}#c8f%i-PcE`Y(4z?a4PrSW*v=_Vw2MqW&P2+HWhD*qhP=Fwt{7M! z6V;aL`>H^cHtGRDOyOF6+#H#puP|Z(l*;OqfZ0~#u`XB8a^A*WLWkF_?$_tt5FnAG z@?7?}Lx;&Ulb;STZxK;=+(25ru+P1|y>%vIiKHQ(xi!RYJI*01;8#I|wBL0J>R!7W z(n_3KLdrzo8I>mNwp1Q1>TtE-QHbVMQo+FbE+Lmu`DC{H&mO&D^Kn!}&b|Y=r*vfVFm`ODt}+L^*ekA`DNTScFS<1Ji1YV{^^_*x?d`yC_x1P* z?WCIBENH0P?&H`QKd7vFHMrPYN*uC1cHG~VJgi)t8b~#BEoiV^7^S*a)kI$TwJ>Vc zl_;z9yDd9;=#cUU6Jf@*hO^NCl9bUaIaxqW4+vb~5qxjl>)^j+1hDuy-(LfuJ13bb zM^Clr|9>%h3eaNu@6)Gz-;w}&-^q0*B6%bKyQ&cN4954LDITR{AH6uOID!r)b9Js^ z;;w+(bZ|YP%c#{yaq{WvM?D~uot4vQYBu02Sl4b7p9F*hPQ`X#&l>?MG*HL*#xH9e zHv?vwL!f!r^Cg2wlFiB7M&^C{u4s-cMMo)DKh949Kwdzc=XNStlud`*pHrdYPSg+v zPT=xjir{RnrpEtwAKpSI7X9AfI)*(&TG7lkEWH;80Z|_v9wy-ajU+L8EDzb_IFO)l zrd*a^Xnl15z&aMQW@$X`$<)qnY|`tc$hD{FQ$p|r{6_s? z0H*1kxyy6Nxy}4(=POSBPJweabHPB|b>yF<;QxB$gnDuYkmfK$gJOJ1YoxM(V}1(@@MR{^hWj6I(0 zJ60r3H7^`(k`T(1kkj_;>+BJEG{rNj4=5@FmHqsUCruVQJ_cFT*8B4T>NTIqdZ0BH zZl6lZrc1!sb#VNue`O5B*3jq}eU%i0yjDdfP{G z6qdMr&FSFYce{H=E7!)+z2tRm^7>iW;lJb(mMfq*v`E`z zAJDQ;S(bGP_knOj&}f&HaN8(ZOXg#p!*BQRE^7;l`4;_?h0eWi&$}QuB$t;F7_l7c z0yGR)^rvl}6P7E5f^TuFZT}lk`GhgTMn&#@Sb;!Ir1HY0!M$TNy%Qe^;0Bx|GEFaN zG|N*fCo5$?qCjMHTb6e*xh@_mYgH79mP7`Has(Z*sIv{WI=bt!m$aUeb~BV20ZBUy49^_~??V zAqBCAEN}PM)Bw9bc*1ukB6|uwR(6EbJ-#`Y$@e?kL09m^wP#MEa;`l+r6McOuIP@Q z?J=XbyLlNGV!!0u3~TkEO%qpD`OKD;3hu)LR25{!y*?jT9)%(;`(FcMw16CrI9!1( z26pzL6vMBtB|mIF9=Xdd$OvP?n@bKQ%NQ6vaM6y48%b89>h7I++Oa#E*gGSb>4*C- z=q-Reu#y;opmaiOh5{ONVBr_{)M~2{5o9{F+Qnke=^?smk8n4#wVYLCBXlxzpdSv#1?%ONSq9YE|D99-7Y zuywgHj9>q>8Q;Y{p>1T9;e5LGG?%ww7!R&<0nIP;0N$AffG-n!5DrLs0w+hh zEi6hpz|yZ?Fj3BRIh0B+5ubTYiYFO$=l{mU&n?Q&DiB?{mf4y3zm;Pg*^gb24-mO5 zz;XAeLw%%d`@v|z-=+k@BU0EcfPN^|5+qv7dGFnVK2YEzV#d>tnPItBpa09Vv?T^e6g_(WYpb0ZAlA=>xNCZ+`nFT-{{iub<8c50 literal 0 HcmV?d00001 diff --git a/manual/images/cluster-nodes.png b/manual/images/cluster-nodes.png new file mode 100644 index 0000000000000000000000000000000000000000..d7623236f81df2df2f4eb86f65780e9eef49bf92 GIT binary patch literal 11752 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 literal 0 HcmV?d00001 diff --git a/manual/images/desktop-customization.png b/manual/images/desktop-customization.png new file mode 100644 index 0000000000000000000000000000000000000000..780ea47dbe95c06b14274de78bbfd0121c5be340 GIT binary patch literal 210893 zcmeFZWmFv9)-{T|grGr#yE`-%JP4M_enI?y{H_q6 z7UGJ27SUUte>+?M>h;-#_~id+d@NPALJIb@H<(QS<{A8-UX`9rnBx79o<*24>IW+u zEtcN@d+)z7{MiICwEw6jPkE?or79L<=6?j94_5L+{~64fo{^KT{1qkbKY(P(vk7}- z{|R_YdPiAecoBv0U{0F?q|53~Tg7@$A{};S}eaC;n``35;*Yp14JO1l={|3JQ zdfvZ*@4vL+FKhcRZTQRD{(nsy?(IGm*7Q7GOIQ|6

    Z*b9fDpiMZ4)z zr^%|^qg}_Mn!TEw(eRVLLT@oIG&MgXgTV5B5NW$GQa8v6=e{{6H)4+KW+-bU5`qM7 z$0E+z2X#v3YuU|X9B=gtra=IVr~Z8{J;U!Qt~C2_l?`9_>HtCbYB@D0p1Bj887?4F ziBNbeAm&DbDa*Y>ZsrT*ty;-0@G-NKVU3tUx!rgv@i7kwL7J8@%jx~1plY;{8$!5* z#p1JvLpE0_4iuqQXnfz1^WL?d0uu*MxN$%{`Edng>Rxlg-+1m>eOpAXX|!#$(~TM8 zBi?S4-qmmQ3CSa9ct|In7vSty1s6`Hi0_}Vj-IiFNfZ1O*wo-WdL4 z`7w4ykUkyIISL8jxQ^t<%(NFkf12(1{Kb2#Rp#T|s5#B<3E_(DcW)Z%Y;QgT2E0rD z!r_zGrO`7Z>L-ky-+}Dl`JA8H64fQZk27uYgq(-96nxE@m`I?gUB(-Ga$1<+V(u$( ztXO>(rmHyHY5j}XOiJY6x_`dYn}T$zKQ3jh1J(Z z*^IM;zs^z#DzsglRoWZCN*VmI&_Sks;y^~X!*4S&YhFKs7=1VW{KPYUIW`lFsBpJ_ zfShd#hRnQ#ZGTsjOu;`K8ayll48!J??0n44`(w!}-6(?Sy1O_}17F(tE72dA)jiEW zt%N+)JneQr(5%)sGwW7SuoG@V-F`scrFTD0-8|q1BZ%Tg#(4$h^uXfO!@+LQ?BPS#N z!TU?scrtStnA5Iw2d}kI|3xjOaIQGr3|}HPLh?SkNAyRp(0ew?Ewt|wdVZplmWKoj z!GOC0Nm5ITp*=c}4iUKb*r)kusX}E_!Ik-qF^Z=>RYPAe~zjyHa`jgLI4uQanPms`p#TY~3r{O)nf|p(!cs_>m9m z4XHo@TqQ9klyFj*+OQ4R_IYF;`MP6N0Gla23B3r9f_{_CF(v*>q;=6ORViA;4Bi?* zcm282RXz#lN+9oUzf(z~tgM6agw!bip?WK!Rg_FIK!5uP04y-dlG! zcg{LBt*)8=QrycGBegUt#zL-cg~ElfFkE`e+TdY(<$_PwT}Oqd#4b9?VmIX!ftl3= zPv^lk?KNY~c5_MT{YII|k{ws)&Eh;M?sKH_immQK*V~HMJ&iAN3d&R{`+``#O%PPO z6A(!w*m`l(KHGi95=4set|2#n#UIZfLNr9F?Zwa*iu1m+BW8O1qLq6nul6no<$e%@#&m|BW)64MIaw46Ul7T8-X5ADc_TrKdD5RyyTGGU38Fh&Dpvbc#i18m+@)g zHvdJ)P}5T!smWZ*pPa|WBh)v+706!LTZ#=X2O&{63*>s6{253;UG_kO6iBPZ zx%v12iPe{03`FPr#Ua7{a8vF%D}W-Akx`?v-xo$=fk~|h+tab>(t{HnDLV2#+w={a>#27Vp$Zq&Q23{X8~QNs^Iw_ z8%*uo6b_XG2P#tcg1t2a@JTE67{x2p6+8G`f4LgV%OrWpa0%-G8QhzGoxMMDQ&Y{3 z!osC$?%js==@n|1#GBqd%=t@quG~%1^VrG93GD5WTr`B`iVdxA4Y&47CQf|&fcyTC zquW|VVO=~GVGJOs6)419V3w7D8xid0MN{63?GZ`uXdi{HZ>BPEXDQUtG8NU}jC1K( ztFGrPs3mVKQNWF>?{?J@4Hu%R|7p6B-D|5_oMi$;Zq|C@6B-?fTA(ERIsHL&=Y7u< zN|`s?h?^6}*kS45)Oqflh@M}lBIkJ24Hk{1q>uGieKN=bh%S?ctZ5pEd4_};GE1~5i#813&Eb=3Kpj!?`kvHLcMyWY3O~?V#NC%z3&xPPOtfp(%1QS#gUws zM%W(8n)B9bJxSk)`64`Y22_}k=-!fVghEr@1#AX04Me5VgBHalSv_HLUxU0-Z)N!=6b>H)?*gu#?{3j5ijE zdp(N8{D$<+M;m{+>YbhhB-=A&WQp3YvPi+~Pn3<@>l2nLL)G8sIys$OE+YF3nrk8N z2}j8-vk+uzCs4ox2>ksq%k^70P#jyKHA44~DcZ%1i6b-Qw7|Ct%gE({Np@EnbJL$M8G6|QR)TIbM#f*6xgb<|(5dG%zx9{wmw#MIDn0p6{$ zQ8Jz*rNL%PyWTsY4+$D3@XW*+Jw)4kH_F}=W!Gn z^>?DMZRn6Bq)&Z|X4|$)Ijf?u-DludUz~`j_00xCmG#S_}EPtM-HVm@#%+cKW>04}T`;@{` zG+&F|n6|W*EeCY<8{pn4(CJw(DUP1`V2zv3yo#|J&JOAe3p-ajoYy6B7HW>M=;RcS z$M>SZMR#p-dMw2EG&*pa=VO-EMMeyQR86tuIqQv(|K<-i1?>`CAgEUD{Q_EX1%q_ z@lhCNdQ!!6fNOc64<8}|_PBofCcn#t>FAv2cOHCrBif*ImA~UbGBe;^ZHtb+nFzz7 z@uQZ^DAE*HsEB~JatZk%mbpi#-uN!YJ)piD2Y`7_QNG8xC-XgRtw|LINWNQEuF*ds zYJ4*VA{RHXwnJtYpPvV=r<2^{%sqTjM)99tR#i|+1M<`-J;XsdID3zKnKd1>34ly+~@9BY=Ql2Cc z2#^K7=cKXZl+XW8^JpBKZ^mEnpyan}zvIww;%R%dqZ1FmohOGys;#V|y?FfENz3in zkI_yXAqq4$2M>u9dz|{IBNj(M8G*5bVtri=xMK41Of>BeqRAiQl?lz=?=5f-7V37{ z+p>);Tbc=5J`=HVBqopX6C%!IYgM-ik`L01Lw-@UVNR&OkCYf}r z##R+A$r3+^o75oMCckcV_O~CTT~eiMw2n)KxPrH?P1YxBx`W?kD~DZaBQUQI@OC@l z)$NMB?56L4^ay%Xu{-p52m~|EPv|=hF0N;o8@&q>a1~5BdCoJcvh*-tpxm%y;^PQhD|(J;3Fx8aclMDWyFX#do8!@`-fyI zhy7D}`AC*M$?|dXjX1#*hh5R?`vQW)PTrQi#n>FyjyPG@BY9|5b?!!`DKn z(Fs!FY~Ls{<9p@iWez#=0t6&wQ|Ia3Jm;rd^bw8qKWLe8RPIUYgsqlu28nb^>LkRR z6UUKZx(Jys;O7vJ!8K2*$8wAHZ@&GLy{jqei7_6l?m#gcxnNtm-xhl=saYal4w;CF zPGmlPqq)3LeCnlWr_Jr=`=f6C<%L<^fUxwwxDw`-u#z_37_r39mEaP9CfkW(UF`)= zI?X!Yqsb?aNs_s!U7O^38djDs_+6^MkAyeHEbH@)F5ch+cN#wv?Zdq2(e7gh_fA*5 zry_ZIs5Y&N=)LT9Ex&hFy~nx~rfq#>56Ip?u$>npt@o1rW$t}#SZS{(k_<-I_2D26 z@VJPvMooBO4y+OBUWe8}`HgokF*D71&_hz_nzMr=Gpz;0c|=#Fb3QVc5#|z`c@9RQ zpx|onR+Qkr$igLWocU?AhXMY>n_^j(_%MT{G2nTUKgm&;*oh1)LlY1yTxcb%k+LJ> zf16Xs<(t$CBVaoBimB6AgwmJJg@~+Devb7}TWp)eXBa@gcB~=Pp-mcmjR&Z5Ux%#S zhEyOB4)$DCraD_0#a$c7oDyn2MZok{L8D>%z6`e9Big)f}KcHMbhU&#ou>XDXxGxgQQB)=YAI=?e^OIuT2ZJJ ztdAE;7^aV`4LYz*T<}j4kz!Jf4okUTd1^-85>1&{Pz0vr7vXT>3--harcfV)?@lOL zQDO%nWBsBjlSxw0eMUCPCH0xcG3e&gpUxg-{TfX8X&}OiRcts1$m$_`y@p><=8y(9 z1Rr?|gbD`<*43}o~R=9+;;nwFGzp5yP54+dHET^E3t~C z$nXW>jjfBKD95CuJYbjo0zAi(`}`)L6Zc>)VjQ=^C|+SR3l>V4vZJ;r81PBG37cXv z!0kyCawfTo?J9FFk@eRHCl`yP*)U8vb8V0i#R`Fh`VJs3#_21+IW9~Lr5JRvpb5>` zI-T@h?a(*6v|?tY@T&GSqFl{Q$G9MP@eD_Q~Fj}a^S#8WvR8W`Mr?waIX zl-&KS0h4A|RtphzR6sz-p3U3fuXX)_$mjtDRaLPBOz{yD!XDAsxd5SSpdqaI;!hkJ zs$F>wVsd#VXTJk0)yh{!*WZhRgS&G>sir<73F{OqguGtdRA1UrhHypQSR-LsHgYTc z1(2*AK*G`<;I%B6owx9uw*!s4Hig=#QQu@2Hak>DfAGO9is>KwPKKBffMv7-^DUyuv7*z2sY#PBf#%&?w8^Zw?ez~%v{(6W1J6{ z21#|cNo2r2NH*WgUtWi3<`|?oMJ#gTl`N)>>l>mfTBIE^hUbCW}9K4 zH5n*r-;Toz&0|A!!`uH9+!M=l{|H1=0#44Hav~B*`Ou+3o&>$#G_$X9=f3 z1x;%8RL;M5qGOsm`pRIVhqQfaGV3y{e4ES697F%}L@H=sNG&PdeOJ9jWE zS;WV=p(R~EA!HO;-sr5E<(iePGem3EZr?Uw3{e$OI4W#w&a9S0ZVP==i0GrnzpqJ* zfy!YzSBI9!oFn`z6WJ?~`4Ww&Y!`)?g+){s2@eqkfGKl6_DOGE|is)HPv2ge^A^yRrt?YB5CZ!0j9X=3_ z1amGKl)7dK^jW@+@XR0my(zQxeVElRx<&_k%DfFhUMZ-~I+{|Q;nE>7>m_>@Qw(wF z!EvduYpvlHK#F4^J&cJdvNM|$$QkUGA~a{!Gh#(F^cZ)enoTm{c)-?`-fVMqPdYsP z_CnH!aAze-q`uD1(hT^;%jr+dll)rq{acrluftvyb$Y&FU-=OB#)jH5g5XNKeJhSl zyUnAX*HZHWIYX8QG$OWJ(JgV7_x``OP*!%lZ%dT64=bF^Sm0;NeiA-{^GVls8S%mp zz2r1DRHsommVT}uE%17{JKnBK_aTw@kz^7|T`A#$;`S|EVlxysGnTaJ6;5r;tto3M zlbDpuV!bMTe(IC+TZX-fa9lNePNC4!1;D6v$=? zvawZSvD0+0a`m1iOOsA4(Ul0*exGEYYrR%j>y%<=@mu_&7 z!<|Wp4X=AD3%sibR}@7T;&MPpH+mi{AIXQWbJ%}{9ZnU*?OqO4T*x=%SBt91w>lt0 z_%0YNdd=%O%|3*?8AQE1ZTv4;RgWTjD6<-XHTXllx+C7AWdomIu$}>AiKM&6BGT=2 zm9x<0tj8xJ_@yl(`rIj&O7p8Me(QL8onO2y$mCf7958Df2zI*HJb)xDig}E;M zQcr0jCvh#ZX5f5BKg9R@rm=gn5(V?)cS#dg#?h3Yg01zDokC1-L&7KeQknYe5Zoe= zk0x5eS5Pvdz*H6;6GOS>y)BcVyIVgh4>O&R&GH>Z|CVIFf_J#f3@#rX%-@6~9()$x z$$XdQ@h7Hxcjj8`m0l!lo@_y;1c=QlE;p&8l(lq~I8YI?$nCY5^5K`U_j2K6EWYHt zg^2?1v%@DCQZ-Jn6D09V)Rd6ab4$7gWH2w?J_$zf6F>?`r6;Kit~_wS5=S%H`+z|& zrWTzDw``Bq=8pvqBz@VxR-PbTGfm?2IXE>NErz6PI!W>;COqzW~w+1`XayrH$uwc%~$GIH6}<)g+FV#8~;DDqLCSEDXUF@h9Tqn&~#=YUlxs>8t$fdmDc<02n zc>H__O<36l2iH*9kdN3X$Ct+KY=Z*9GW8CVdI+nt^Clg>PP;IW=+YQA4v4yGN2Lw} zT>QY&I0FM9bb(MhVE}oy64&%6R-fUcJ3*>-rwgp^6qgOX17G**?I-EKWvP9siyt$H zTXdSVB1YF`QMl`#P3xo_#s_TZ>R3%(u}F%M8@UJF7S!n;Ot|nHA;^#@AUTL6%`LlR zYL{RRPQFUrGBWtc@`&E~)Ed5`c+9B>Kja^#LoMl1WbGm4c6HvdL`qI4oAiE7O-q(_ zG`?)eqt+1a|9NN$==>htGE@);EQ%&r`_Ak6tud8G%pKoF9TTBHV{FRS<|=xz(>nAn`>7uxp$|h#PjT7LNdw#J zc2S(9bAFu8VQ~~D>30Uq{F=O_Dw^@5vPinle3dg!S)3%ifRqX`drnNpJY4cicn9KI zX4p`RhiPZ1xuU<_mYs(pEHl<<3QiM%__0Q?{LzuUplGi#(wOYDH=%5tI%R`X=n1Tg z{VTe=T(Z9s@M5vTVIZbULFCdX@wjnlt1ftAxkjK_?6BZs4tA_D@tUjG^_7-FTVUa7 z1NG{VgpOI(IN*EZSw}}6#dpiV8hLVB!M1%pjww??(d^{6X3T=>c_mg}v|TSPkn#)H znK&(bdab}iE%w1oLYsl5hr6bezwY$A!M$H!ux0rJvS^W!3W{ISbzznb$Ea&8&c+qP zR9&Cm;BuAxIIP*zG_#tu&t@p9lwtF{S+wC*&>>HB{QdMRzoFEjgt*nr)3E7=(MelV z>$S$S*GAH;=3O8jHzP2I>k0Sw#vDAa5W<>8x6H5npF<<)QNPJJHU^w>(tIsp>hui5 zzk;R&tP^cwFsXx&ySs$|0@xREyZiPJ_-wQMGqjBM2ezNNz;m7Z1Px1$nSXRn8JAI@ zs}`wK*6+R0P!panD6}Rj%4`dp)tn+0H$ey<^;U=Vuj6M#b${3IjW^#$fO$fndtXrW zyrwq(nf3>z-izaw=*<@?R9dFBMs;TM-9Kn~?uK2jDGSJkCD{w%2u;W%@8ksb8Yw75 zyi7DV5PhuQ;Lf4LH`5A8Xdb$C6*?rkck0wX^SNQWwLREK<%Y&|mA_Hu%bWkT^ZI&m z23{@a<*b3f-1vx)HjOykYFEce>E*pEd7<2{# zGq#R!^H0RmXY&7w0Aqfr2vNAOyU|{ct8rU@>ipE$O!LL{%@5((46sgc@2R#o99r|TxG$T&G1 zBx2471B%m3J`p3R>0TeH27|4olN#-ISBO?^!8`*Ns-S>-y3ar!i%4vk%Fu|U=OnT7 z`x3VS`01h*6^(2j>=WZPx{dKC7>2ThkV=^EEGCr(J@i!4+%%x0&HiPH)=~-AZ-B)~ z2ZGDlqkm$^OVsP|R5McYm7`lPndE+=N?EQWo@rzAQKV? zV=MhwI`Dt??)-(>s24Xj#Z4fL7Af(7q;s#<*mRxl_^%Qf(yq88)@w z82Q^gr)ky;k%|+dr!IL?!CWX)gRlEM7wDy|xO3?_6^eIn-m)dYtKe;dig??C#!h$~ z3X>yV*MiT0ckf0LG4m>&=-Vkx6Ys~!sljh*Qoj8%kHNgWyNMu`l4#RDAzZRrezAkq zaB10qU)8dJWVfa0J-+L-o+!x{<)Vp6DcmQdHFmFr>X#NBNnTmw37pjiOa7+b>hGtTe0P(3csTJ6#cDeQUBhp3F)r56Rw^bCg zsGJ{}-b!A(%i+cHaXbwBy0S8@O$k0)23{k+YlSaFE>`O9v*uXTlEE!pw6nD#R;6XF zUvMuF6H+Zto_MovY%!y7zblzsoVBu>D_vlpP>yKBp5!m=5Qn(T(dx0q?ES2(XJ6Vm zvfp9srMj4KCY)wm9p$#Dd8`^iq3{JUrV@0Hk<@nJ#BstLzP;$2ZM zwbIoA_u5^=;VP%J_7@x2Lf0oz(B}ILD}`!ZDi9`(A5UM`m`ZdR zC`+WM#aS%P7tO2m^)AgJZY>!ncLUhUbNwpxK*66N-V@TLhdNvEO!4IrS+>GxQ07&lG$E;G80*4+GHFvSzUtj4=o zBazdGORVj>VRN-taz8KdM1StvddEl%&&t8FNE?95!PGGHT~Uv9!nkotapk<68#L2B zS#B(hHYX9C7y?wWwtT`b^B$jFT){ zW(TMby>a5&9(d%NnDt`EjzMjy1M52(>puJQQilF?6ngY3%BV*c5CPSxXR5r+{s|DUWNGkfTF8Lo%|A^%CTe17y@p+)+5bkIGZxsm!GZ~QNvQi~2^htjDs zB>4&zXUlAy2QRoi42|;6g5UU@hhqzuKR(XSx?KUWn{>W5UjCViKU0bF_$jU&q4^#7 z=U;7go^K^lRsQLVgs6v*?2T=H&kOzt)EdwoaZlHBf%2>8Z~|c|OxRFJW+wqkJV$qy zfY5%S-p9`0XeVJFh2K=(7z%cLQu`thAc0vDnEjq*-Pvi~-;mypLIbFcc)+QEVB|!F ztg$DkxFmcyb-#Mz5v(h`n_Xib+Y#rJd1Zt6V*4Pt(>a3epzvAn?y1q@l9^{N(t4kp z+EbeZ713OX7QOSslS(PGcxFE7qPIQvbpZ9TZ!-uK=#IjZll|Yulzx5aYpNbGUMeim z`JCWnDYeu~yf8lG(Q`KJ0T51nz&|oNomG>`soD4ZB)&Urge{tBO;m7(@DqkF_<73R z-w?U1)EYUra$Z$sGy92rj#Fi3n&j&&A#u+opf2)eMuZ@lB*|~m?{k7EH9&EMjI(pX z=&*OSFO$X?AiO$@?imW+Obtng`P`3@2<_z#3ht@WP$T0drU60&+hhhQe2JVo)@|Lb z`9sDg>+~j4*?-*qpu~sD@Y^S2n^S;a@n=VbM2c^Ar?u;VmC)hbGlE4%h4Ji6NZBBL zy~H86Wrto^;x~lL!I2DWM@^i=95JB;i#3-jt<~*DY2hoAVr(*KTp*RlKj&@TwU{FJn3WF9)y65-tK1ut)t{|9LD5zvo0z#akZ8FYOO30wuwX;TLuM zup?A2+SV8!e@%Vt?UB&qL<|Q_pEu3iMA$O$CvYF8A2ma*n_M9E{gd{=?#S*&%d#i( zU;&$u75uo>jjo}^2$3>`-#^(raHwB(GR8u~-r?sgyE(fzRb1S)=Cp(43wh<_#UB5* z78k^PJcp*TQ^x_T4r+c|;?0++ukWWO@;H(Fc{VXIVXyMF=pRFTec+VvtP_5+$8T$X zwvQwYL)Lf|Sy-oJo-U;%Ti=jUn%$7bEYTuFPAroM1j+QUk)I<2%nD-XcVdN?JcVHj z7LKdQuV^` z*cIV^*tY~f0acxz`iS3wd?se1=DkWYCi{mH-t4enCVddhc*tGU9I;HtQEbvdEuz)$ zzDrI%qhq@O1rAfaf~iAiPKe^nhr*0lBq8+}0kX~~T9~c}zH&7K_dhiY^a4Wk z!(NNzl5)3=3qh2%dWpF;+hHS5mIc#|jxxWpva8qachr|DZYRRS!ynBZqcqOl@KEaD zd&@7GB`3SzfIW2k-X2VSqM?GWeUMLM?+i!gy}{jLFg5MhC$DhxB=+b8rR=Ri<>FR@ zn@GSh014B9aq~dHsxN5`xY%1ZEJ5hQZU|cnmLbIPyE<#nCH_K>l~vRC2n?v$ouQYz zZAe5j@z^Di|FPD(mlsWl0{u`95bC#s@DL!{V6aMjV|IY-cvB?p@Oua*Q zx>m7n73}~h&-)vWg!-64BSH~olamAf)$;M%jvS^6uwuQeyF4350M)o^j~aNy?>P6Z zqUK>F*@-#pOrS4d+yrJwco}+yETl3CH{~_Wc^Pwsd5tVod$DKwdw$R3hc1mc@q1}5 zA@01xBdhYkJ3iW^i6h@i%i@!?V zW4+-zHH2x1nCvM1y69|t!Y5zbUaw6TXUWKG@@wmJ#1UrenP)56AS4tbr}veUrCq|t z5>Ip{8%NBR(h0MNgNe3p0)~*R0$bt&L~-gx>&9HKH5YU-G^+5G_ z#hYNDmgsS|uCVT^H?*&9ntx_j8%ad`jXN(BPCmrZ8Q)EEOdEvL7?tWSIfHbD!$Fo3 z1x^832o0rv$sHTIm|Mr%d?;AkpK1UW%9GEy3S+Z{csJ=^`rM%?`0=A+UeSuHOq!is z{z15Fe$lmM#Mkf=)o?}ALH@;0A|E864&a6v|&?3}ZHSkwn&Xu;{3 zXYG)DB34DeHR?ebhCiaY*|AJj5;lluH90R4d$~z$%`*AaUnk|2Uy%m&S8D2Ivi401 znb%2DlP*vzf=NkQg@f@B+saH+VkYKo*ezgO>IYJMVp`x)DRBgbx)zPItJBj(#T znK8+wS?7BWS0T5^ergFiz0Xf<6t_HGzQ;Rk?<7B==ZsMV>lCx+M$2=ORV5qXfjsV0 zO?zwrnG|3Y?sc-D0F8!wYBwiP)2?Q&^D`G)E<-3tWPBIIPj_IG}m=q@S;; zi8}lNDL;gJ!z@nyT|Ii_D9x;`45(Q#p(Ytis9UXL&x#VW-GUUvZ?A#Zd%X$vdf{l`|CW=B@l$lwbRgW9r=9%?&SxIyC2C(WgL}a!gAO!ZD@{5 zUVZs{F}m4VLH;lMlaxWc6Nr)^{SCLc%ArrnKmD2*ZM3VWS9s7ZpAKum9RGJ1_?zVA~2zCAz7CisgHb^Z5bt>yN=lJjR61XNz<*_9_rii)rfhinX z>sG{mAd8gTM?JP~N&0|CqA~O`)#1Ab$so08h;=g48WPA#tw9A z$UH%{;+s>SzX=bFB)xIu&b75Yzi$T?v1 zTu?R51c7p=Dd3frSLNv<`kGw0#6H2dPaQli3hvH{`V4lL^fHK6m=JrpPWaFuJEz-;09W1pfDitnG>n6Se~kIji_4S8L(|+pgv|jht5LypWonK1x*UnuPJhHSzIpLwBq_fv&S~-80N#aw)p)O4vD?zCmgiGnRg84H}vf2$Wo6soDLS)-jOIC6f-JPiHh>)A z9hrWpfLe=~(YL!8J2qhJz)de9`yOl5XdFH;(zq*1!SUU!pj@`@Zzc`)&!%C6ckpHm z+g{@E%*ywLzH&_LtEzGX>k5Yu;+Ql__jK&ze7j_Yce=6(w}!kR z)rP~j#A}JBFZieYWLq}569mUz!8?lyy_P1dv0yL8s|5EOH;~*~tW0@G3n_vtCPY@D zd&k#hmSB|yG#~g)iQ6~GeL^9i@M*syjRv17!}0m^0sr$YfNnJO%Ol<|AA=7(+ZU^U zAUAx(UW1I^k6=9M+|cD`7pr0YAc|Tng1lN@z*o!s?%O#=Hfg_H#pJ3()`k#8AL z_z(ljsbq%VF=*1J0blKINpx>5&a7Ke2{}owW6SomlfhcMym4jl?QW6WrN zP*{_U!)2|pWmxiMIYMsjke2~q4gQjto3RGVdReJebwp<&wiF=}A#)(k0e^AI#q#(R zocCzG`>-bZWuOkVQYr(n5)PsO9gxl5hHpX~|ITPkg#tBv$lA+ipY@MII?8zm&Pn zt*3g;@D&GQ*Y|mpG;>Mi=4ZxVyzsm!Q<)!bA89t=C`G32!y;XKzwltYFgpJ;;x5eU zu@pBT@M~MLQm9b!z$)={MLBdU00-I(8VcwhZ01Q_SrX}P>r z(~ErMjz7GiyZ?bJ_<9n`Uv9)_Md8T7)Qf>fLnvL~`jb4+yDujHh=oiv@oo~J=mfn@ z_LTGJ(%a^3zmh*46JpTEm0RYNuOfj*g!Fz&7Cdv%R7^?Lr4+giRij)il9FD+Jq7b3 z%;R@S{CL3-+&A0?E={q_XVQ6}=w@Bo@`@T9=$YgusjmBxZ$?gndISw@egS*$(i zioE=pYn9XW#D?a@X9}1E*vkZX1CD^N(hMDIxrFC6FXDw$uhCGQt8RaWXvV~*c^Ou} zHDK;0_B*Jt6W`*j5M8kMC%HD+V=|DgKb7*Ds+hO~rmQ}VOM1EzMZS5sl@2Rhj12d+ zDv>9XdmLo_ZKAqVvsqoTerUJm7qph&cPHHI8U{%xQ#{RO#A-h1^1Hm*2h80Sd#7;s znb{;b%5$b3|L8#X*Le9BC8_GL;2|Gt{5Xw7qgTH-?08JobXxb$0J;ry_+vORPIPF+ zY{#uoM|>A~_I&Zw{#|osu0%|E_6o4fpsyS6rk!?8fc$jm$#% zIjc>}D`~kX=Jp-jOY*Gf(|>DLz}$@n#SF7|dj<;(~oexM@S3K5V0<3T-=XL%j9RXRUWlnR07#%1*i{2uA3 zmR_M#WjaUyAhF~Y2|a|ByG|arSDGR2NG@JC1aHniUm{7eXnhdnW112A5s_iw(u0fQ-nfexpaOQz(;eJ z7Z@ZeYfILx2+LaKMp^{?xbpq=D%)IGanTR3=|}0oBb2GgD*fsPDLx64cir5siBTF< zLetcAgEt1sOM8Wln4{na3O)lQ+)tZ#dK5U{T)jB+$ArwL|Ad`anl;%HP*g3!n|t?H ziI&rU^3BUBw}#^;lSU^7{ut?~L}%-lT+b>Z-0paT#m8r?S<6H%eb=KM%U<27Z6~8R-#Kn|-(&VV6|*V9P%N+h=#Z^(M$< zH)g`B*LQyS#xEH-30gBm*j^}BwiB*#EVnI7u+#f~|J)C-9;u}v2MrKX%2bA2JX@r) z%kL}K`mM)`s7JI0{=gf+p72binTdPk$L#%rqlGr>5{eeQJpjd(mVdRJYn9J5cl;>$ zvEV(k`#BIWW+5`LrB1t^gPV^m;&ugN_wbY89sA=X)6v{Kmm34+1RPLP?7mY-kp)uW zO85F_JBxC03I)mniL}aXnbt4#w?`hg? zjY+-CeqJXSN&k%V2(BRbs+%_9(KUCA=w7GC!AUAr8xm5wJ!e|gD_xGqWmB@T>(=NR zE3%a^(JI4Ur6cS3aHUcbr75P%!&y>88CzfQD@s*gFmQEGQx7}vCXJW%TSHgAGE^v+pHhFtR=q8ncOjs?We~tB}YIT^G^`2EmWWas>e2k-SbsD+RP#x8o@b(Ns z^mFl)fK%{hca@4OussYr&GRsMfSs*CBCj((*lR>xy-S_v1BhK!SA1c!)mss!c;4HR zP>Rq^en7PP#TB=wV)d($teH3^jBw{7{9=QTOxwVmjEvLg7?6wu9H z;P)4P!mObx?Njjk(hu4VWytjC3yf;Rmi3#BODV3e#8D|k*H7p z4)^Tlr`LueJ@szD^B$vub@gjXt=OLC1da~cAl@U(yk2wLA9uMVct2I{UZSlD%ys!e z6y@()sDm@6MFJorxsOX^oxiv5G<#IWz#Db~`!3(1sB`m3;#-}#ysNIfCm#1>;MTn| z)-`=>__%^5;nmrA0Ee*S8!GQksFCOr95m-U3{OtlDj;rZs>@9A>p#1uv6!V)?md7(0yo58HkrU+Sw{=-cRgK|BaS zWouKChYUv>?@%G=Jncnt9v#_8BEx1?)mZ^t)j_h&2KPi>dtxt8 zU-?=W{8_N@5x)F?_pJrCwpH;hzXk*-|18%-%HjS|lM=WbT6|PK zUIh8a*B!Lr07v=6?UhI%d}-dqry z6WvES#mOpU-a88&EVm)Sp0}gcQqtl*8umWR%ZpSQc4O1w0Ke!_?zoPDMe(to@2=z? zSdqSm47*Dww`auE!^rjFD>!o04*G}$d3tmtNe9;2x<1!RIrS)5jXVa{0C%VHg=z(F zPi^_{O*iT7>IB~#{Y>FHp&zRmryeD~aL64Wp)rZD*1an=d!6WG!&8`_751m&AJ0gf zgq6m@-ps^{BTepqG6OTR4afHuwZIH6SD3Cu09(6mthb>2X9H|CYN3KO<0(Wr@^bOj zzNSp}Jqx>_jlm4~y&zn@aATo%N^$b9an8q}T_J4HrS&2GYIw}Y{itU*=2b5)Lu=*iLa;i1l}X z0T18fo`Wuuj9cU8Tt12<_3e5*`Kny5?xeqj_i+S#8xDnqgvn$tA759G(RS@-VmUp0KvEBto> z8=;~wcw$Z!dKSpiD!b?7saMkZ;@a>F?*34P4JT;{$jogFe+gP9>@VZc1%E~^$0YAA z4LIms{6%^D(W&NpfN#SNx?$v5TI<{ozi}TcJirFxwNzK(W+`qWEkXH)QgZqInC4=5yr4#F>Hbzoa5I zdI`|DHi@pL*}#|ehb79XcVvy80d+UI0}ie32=UN#o?%k@jCVtyOp}2W+Z_Y-QzykD z90Hy#sovb0coGt9ytY{A`E;+jZ{^OSk`c&3NnTAj*hL&DrW6S|C$PM`8G>*9%~>}8 zl@M__IN`YPZyCg)$cosL-dD~{Zk;7}>E_b?8^C=QQM)cUA{IMCHERxlJ0JqKxg6!A zL)DN!n;^8{!1#_d*>9`#x)*VH2n@$fKjn}_2CjgE{p{(YHU<6!Bu~{3xT+QIZzbI# zuWYx{VJ{Vk;Mp{D*Kc^Cs`jqQe5!7RbFCmJFpBgc!<*LPuA`Ta z>Bl0G7&!22zuk37Zdoz69opzyWFVD92@IXib2JAFmw&gp&Jk^`c>GYF*p!IcxuDBW z)xR5$Ryh_4F?`H^;gghPJ%#xsxA3wSx6tYxH(o>G`_t2;2!BekZ2A!bWydOlWLs}Q z1IcTNzJQ`TiMd@>Yo{{@WBo**mdU`)mc6Z^b}JhFLlN}6d23Uho1lt>w{E`Gq^nC0 z+?-S#@`=9Za4}@x4zl-YoxB?+m9RRAiYBBjfV@TcB0OK!RDXy|f8 zk?4`Tbhi1o8lDf5d*ZJS3&9(AqeoV+0WppP&BX6TO8p?(6}KzIU5;zVshE3Ay*E); zPxwXivyIR6>o|4K%3rLype;A`NzBW)kl9$yZ!pz$&jnN#G4p+-OI4y7p~aYfHpN%c znJD{`Pr0&6Qj?~xbRoK;8F-pJAD~(C6nHC@r|@(J{`PGg$r)lh{?w(<*3uX8Ui%ts zDi<3M3k(}$W&Rx$k+=$5`mkGl?N=TVI!k=z1f+4GrfALE9_)$}meeCz{cw+Xut&|V z6`liLT2GFz8VG;WB+<_>-)QDL#wc>7^R6{ zM}2~#uLC`|f#A8{2)RiOjdH-+*_KT{P#sQJxpJbRYULu@3}f(2lsTWQpo@*_s)Fvu5#=>0 zU*`*J;=-AU_KX=aAq>)~CzSD#adY~^FiIvW%tDHruB6olxyerg@$z79BiI9l?1sVG zWa62d;5A}&A?VuqwgI2YHM_H)qgK8be>4u+WC649Tp7sAD++?%YdcUx=Sf7bEJ`?&kYzjw2shR=83qC}VN0)6AE z;;tiC3?gqJ@_j51xfXwE_2pNW%++p68}I_|j{)r5aO1j1E)3HB+gVc!-vMh29M+_N z>gX54G*sUr!bgQNy=y7NcUg}GQ6#del)t{X+H;94ufmojgXz!uZ-Fn%CAKGgYoRga zZP?SW8?RivHu!chd6FV&ZWq!J(tkw{^9Mc?6Q_oB4XoH~8Jmd-3h9Oj(&A}+!a)JyBQC80HdIi}h@rHwMGSZ^2_X!_^ zJwo(EXv`{~?xImBaOvh=$YNhN^tUV(Lj@3XSzaOBde5dGuQobPy8vfKOUR{UULM)H z=uktx8V+b(0lAr0P?H1?S`}#=_YgJy)B_Q}Y4ug8oyrVY|7f$G$ zU8)O|Yk?IM^%?6ih9m5EZ8AA*zenF!wTGZ4^3M)F#2ds>7ImuAfw+_Z_KK@Drg*ts z_npON@G}RZSD&F3N%I=1AKeT|;RSM4kic^$R_TY^$_UH^rpt?>E+S*bxG1jrGmF8H5$;a7_1@p`TE2-N9>0FZeRfgQ%oe=x5SkTLV zm7Bt&m3sq;0GPALN%kv|)|VFanoNn)F~d*xOaUC7Od1(eTwp zXQz#_XARG@8?>Br|Mj!#>#7-Q_Na%br!uy2*K=X1_w1;2{lcMu{?A{S?H7&!6hW)9 zyAYd{r<T`86<>3Ve-{c zN`#VU;^1+2WX#20SKV}HM*-kvmqxpu3gnDzozXeWSpT^i16>x`YE1__8&=RrO5#y( z^$bQ7+xsLE5E;d!z0Ex`os;yOj$XYx9Yuwk%x=vfvhoe**+^6QtH7j!?hf1GBoLEX z#7CNhYHZ48V^%OB;^lWyg!|g_iz?ZiCr8O<^L~;3iTz60R*&JKTK)|i$9oinyBWqm z9pX!21%Z+bJzCaPMH5y?c0m4B0(B{vj?kx~yK{4_)el-f{D;h1BnPVn` z0v>(t&vGVFh7~<$y|FKktI5uNLR%@kOMS6>DU{*mW)%0}jGAj5ipg{6Pi1YAycj#ARu_n>ycNplZMao1+ge|Rm zq2sopk&KqEx}Wk$CN^~dI8xt>#OgUZrkEb-u!znBV_ zXZb!WH1t^Ky7H1pI_YKao}7_G0_{jvwAj)O;a~8#Qb!;B1zM;Wdb|Svr55O`3-Za}O`qp&StIqIhvz04~Urthh}#7I2?6yc#hr&l}>Y z47YTLyPs*Zb~UMT&fj-EZ6uFEDJZ=3S>v?{hW7K* zEc)&ZwtGWTj?#>m5~vU;Z4p;N>C8@)ods;tDw%=4t#|{BS># z)+uQ9v@o>Zpkv1rXmRJ!+R}4k_HhBb<;LT{gx*dJX%S&^sEbU3`|6+t4w_5g(v6?f zfF=fe7e#Sc7MxILgJ={=34ve0-#-1E;~{B&hFkh;OkvNinvYI3#jR%J@u)-P1z81F ztNa_{XEE-BSjWt)BCIyW6+4E#hi&*^|8t+1)zhzw6Sn&T9IDOw)suTB^ew(BJ-iz> zu@fA>WjpQ9vC&&;NH4!Vjz7ok3XIwP1>Q$=z1@bmU3aeV$@ncITi#N9eDUKRL*11N zxJx=KKq$g1fTr()<|tGpCKdoL&)(Ld-(zipoOb7h4Cl1B)iWOQXIbA(&BNI0X}`f)_A#i;mMMqNV2D@sLCt=h7B62%sozQtlEb%N4om!H5>2?% z=b{DjYM&Z5-i43sucQTm1Tr6N_p_>&fvp;6>?CjSn9U@qZEzSD#hS$Ps@ZF=@h z)*qZv2QzjI6UhOG2kQ`_e*B_E9w22}M0)-o%gH~sJTeQ5FBGs+z*@IN6r$Lm9l8ct zd%LV1++9DT@0q+cE(dtCg%sI30xr%BW0wL}B!%Z_!oT$j_gOXtEp{5LrF!ZG}%&aEZvj|2x z(dTE4Md=;%NJ8BG$3-q?@0Vb=uNK}c%c=SaWYX*L+wA@@RCT3Fr%%Skx)lGpzOC6| zIKye&_4o97PKM^`b}x4b|D8SUMBQm3wiN3a%te3#<#b^m$?gm?2v1d&?uLEESsvW7 zp3FR2`Ot3@oACi&c8IAgjB1a0lhXeW$ zVK7M@KS}$r)0Okk1sC|%laICi`g`nsi~(Beeh*ibdlrG+7S-U}D8g>P@&y2ke({l% ze6~UnNh_u)u}(OCSF}5{9({8p`5YCv{uITeSiEBwp>hku^qtHT&O>4ZSPqd z)ZXD9JTl#k|LZv=>kwQ$+Yfq|vR5GE_j&a;a+Zw(0Z&I>vq_xvz@-L1YJ~jb6}q&# z#u&rPRnq#dWxL<~HTm=a6L;2Q;iB0O;iQ4nbi(Rv+`6JFLh2XKKm-vQ(Rvu6 zPqw9kGI2P~BtQ;JwTepM!mv<{Y>;i~=qe+u-p#Ma=fB5DlHlhIjXxZ{n%;O!G_R{H z4^4=P+9R)zsFs(s1W&-b4kJovD1-T~ATn6uYvjLa(A!QTt))kt1%{n7NgFV0gaK!8@rDNY|dss|$ z!&9MT8b2fG*!Gq6ue5cgejxgi5-XY9RaxZ8%9=dvhC-aKdnC}lWfMIUnUs(of;m5l zWMsFb4k+P!aYpbkbz_RkzjtVfPRlo)c$B$!SZ5t%=o&qE%#b(QITpeHn|JR|p!J)YPcb^U_m5wM0nUoqlP$O3VN9w+bi0WU;s=@B2r*u( zb7rqFZFlY8=srOp2wMX?e6F-)<`CYZsqf_`ROCkSSzZa#6PagFy?S}u z0>@7g&{)gR*(_>s`KH${dR^-Pn;=j$)!iK?jbNt?vRe5+X&sa%;GF}0Z^+X=XaC=1 zTkB;(9W|4NYKbZGX{`b%ABBAePqu@O-mY_qP zCLNME&%hAhmI;@2pr(_F4|zs^m6y)hw`#``^sQUAz-2C^J*-(?vinV)?g-_HgOwKL zR-Uv=xS|)+&NVxljc?WR+>m%fU9+$MIptSh&l0SG-xoJxbGwo)mJ_R)TYD~PkdQUn zR>T))YZrq~ZDu!3v}l8lw5whO+U$d>N_Fhip_k187X&UU6-&<_Wjl-2XT#*CMP89A zcMu1WVFSv&BW6K3{Mqh7%k-tjzWuMXjy9R&^^SHd)S9X-DdL)0w{AsqNaGAWoxSp5 zo6JZ@UQ>9JkqmlS_XiQjK#N)KhUC8u^5A8)!Hxor${hB+Fe}+gd1{2K-p$5~7f%%Q+#Aey zKL%U`IB9$NzqR7LeN3oYKPFnZe`cyeeI+wSE?SyDuhqZWCHv)m`rHI(>>%)F&N{)} z{X@7^&FUZczu3zm=Rh>6Di?9sJ4#7v#fEvQ_Ro4< z<)g2aCzyu`3MzuEic(*u>-L9Qtte!w)Z&k1oyULj<6dr(BQkUuzgJ^Ll(ZD;-aop+ zCp;L#a_wAy40yROiE*$Gjb8}f<^%GY1tH!bmm8`Z)qZt) zr32~`r>Xj{9;yOCbVsuV9;3fI8g=%vDaiNn&Q=xr{$7{=QY3qiT++P>#b%GGMlraM z-Z0`X37q?Y;zoFBVqEN)wqPk>4MU&}=|i?|+*xw%2PWDkwV_T{uAXF6d?u(ZQpeY3^LR!62feHX|JCezqB(W z4*B&XEcAWe!>&V#30W?OWgL8*qudeJ)BNV@j4N*zlyFnx_D`3{DF(5op>^YVY!&|8 z6Bh9k=!xau>whi{IyfZiyj!U0fW>bW6O6g1SqjCtji0w> zx#$b~TS6sSwfQXhAV)Bq42ChAGNijoa>sk17WCu%>mjMy{P2 zHhRj1V{|u#I1=`mBrcH}~;-sMm=LL5JN4dpu%y zE#ze23g{qjU&agxmcH)pKcB=kEo#|?8GG3pD>84oAh0TLqJs5rw&0i`=i8Wk1va~xo zMa^zaFQIPV`*vaC$*W3}kfU)w9O)2mNc*-{d~az3g8-I`RfZXDP$@A)f{O z=vH%WasGT$ad&AM*LeoThpHOIAXxkcze@SrRDsW@?#ECD1;%!X|2hGiXkGgNVITa$ z?O30yS9v6yL&R3^(6a^5M?>R@``;+9H%V7{DiPX| zM`2!nm$d-+B6->_#CSjcU1QiK-us7>TA{(vE8LD(&jr`WO;mZH!G z?noW?!ZQyh+@RF%^P$d}FQXJ~%+wWqStRlD4Cq8hwR521MeHD-FtoCIQl}myfqWi= z!m;&2XcM8(gPr@uqq$}WVk(oR*)fp6AoTRdqK|pJPd^18NoUW}7Hu3i8Z9$b=j%@%nqvgKrrI9l)t#XfVx=i2;qhLnWRZKfc)3f05qb~c<>fyYw z`}UcAqTeBURs$AT4qEq1qzVN0ZLI%R$8z$JBc>RWBpc0DAL1!yVf$?_vd2Wv!=8hK z=TG+#%QA?eGah?+*nz?p4_e5?F%_lFl}zWNqcB2tZ|;|X zZYDK7D8x_bIL zco&%s)eUhlKJz`FG--!nyqv~^mMY=$oDqDj%Z|?EGjA%@Y7k~OLgg-P2zjU zgL#eE07yQdbh?KMv;XW5v98OXfMa<{iBp3YJ0U)}r63Q~R`9b97R57Xcq1*?F6q_ zJ&#gTi#E(;&u?hJ$;}sxak-hkbOv~EK&_R1FMb3@)c3MBEJ`O3eX9%l%I^u{pe9-{ zLT|j=NJJ;!Tn2iNS|%&IHN))#uDBeui`eJb{50U{D;yJDOh9YDt?ph1oTqRjRkm<# z{RYeOzG0K0PL&k{+FG4_0m(1Wc1PG$eG1V4VK)1=S@cavQWjA#Yl5h!qa2erFMVUd z-1tm&mE2AJ-R@7m*B zV4fOts>_;H5Q1L1HqdEo3u~cGe;8p!5egDFo%tCPX}Rf#B%x9%*y>(cD+cWhjmLj8yxAeOt%$6i?)vmMJUW%uXt z2*1_mDs)QNc4DohLCyg4otTK#y}&-{JQb_T1>4Xi3KW4LOK@o%h6h_1nvNvAvoVm> zI+3#bBsanyn!Os0dv?)_vMS{YotVjyKl&2Ga8tP5Pazwxl4;!V63@O5{36yLRPV~Z=lL~e-|&Ub@#R`u%!hsi&wjv zQW*R(tmmx)zeqfwq3*N)eb#Ss_iXhWjd(`JShcFU&2q8C9L7Ph($L1UfryMU1+X2FV*OOfSlX#m+%88 zKaSaMpxTLy8UuU`h6A{V(*5zzw4}P8e`cPWrzs_V|<~M|*aWu)SJmiXx1y zG}G&{vkyh#TVQ!~^?-0Ks758gng1=7k@?Ath)g%Ng#a3$6s9AM9zY)HnpL{0_hY_a zh2Zl*8>Y7F~Tqq0I;>leb)ISAZrQ>;#2h~l6zcI|PYAMZfIb$ed@?aD= zwwUJ6{5Kc0%_8QBRNgYc(SAKKd>hPK*qbThN=Ak5GsyP3l4hY?oiaLKI!-*-|M45=Nye6SWGlY0xfW7sAfY;7y8g~Nb{0I-K6+`)<#4GPRgWe7U| zhsONx`xUn&(OsWLNq)X5w9hx9xl%#ccI>!RHc{&QBhT6X<5AiBexV{_H?cg5e<9EP z;VS$Etm4v{ze0dr;@F=gU3&7Un|l-CJ>YFrC9cMDU)p=k_b@iRO?>$+wKsr({D}~w zA(E*!b4T#P%2jXMhuv#8;cb%o+5l9MBpUIq1&52tXQfFk+dMN^>XZR?9j1H zB)R?U7aiahtTx3XA!zZ<-kf7XoSsy@ALpv~7g&sC+w5zi)BOh-6?iL!n+)ZH+dp5w zAAwt>Md5gd802FD@CC9KXXV2HhfwzY5l9rCS1-(kCz`2 zUJ*eFp?wI2zk`ZfVMwbdRfyHn49FDfs_B`F9-Yo}fDwcHb#FLC9 zlZ->_okKOq<8~mwf2*PMH#VVv?U22^%s6qsP}*!+pIv7H8-t&CpHg%xo8WLd>3m#h zFHv-oX=H82E8h6YO0Y;XsNc|eG`9IYebw5=QJ^;Dl)Va9-tQPyNE*>qOx z@nqF;pJp0i#GCbs^#~R+0-ve)%X&C0rMt-G#*Vgg9BQz*28mBq&&!xqRzo)f_M++i zE!E`BnmW&6-`!E%BHstK&C^6z35fi3WDd`-Ma%33dd^un>4;^UA+dd}QD&(#Evm3x zV-7py-XG#xMc%Y#Fmz}AcvJb;p^2m*aTc@9%(pU?k_H#!irUbZnXWYZ$kNH{E_DQG zpVS^c_iZ%6`3zVVuV}uQN-RGRtv(_YGBpBdWF}a#w7)6Wyf8`D%yJxrt4LTqu5FTz zyjda+2RUmz10Io;Y9}*H_JxyE-?*|Td58cYl$IDVeTdn_1CoQpkh?Cq44Tpb^=tRO}~u^4*Js4x8zuvL6O6Ps$RhGv1<+nMD+<} z8Qz(fKqK9z2ACgRv0y+ws!jKq4cz^FM2WDXFBn@jr)V+{94JNoPRnZKRo_!5Gt-t6 zUUn=|s&CAqji8B{>QeiQsYPdkX?~Rv2-vO}wE|>3=GPpPPCE8b8MhP!UKz!wM^7y8 znPn1J|3#_pfPCY1d>gSpkp;2QYN9zXZWjuQcR3XX`J2r6p|%V3sD}x)p{(T?zpq|l zq-L!;N-d)fr~So%5u4ahpr*bM7^1=nO?$e%Xr;+l+BC{|tDlbgRs>FQnQt2&e67i?b5PNu%}i(Lxgs%%DR|J{JBi zWG`byj^2@>uP7j_*G`-hl(=eVY^*SCZPDGA7ct>QQr9G9MkhD(b+Eb4+0OuMo4;Kyb@p25kHkK`9gXLn!nXW3g5kycMmt zB|wS}6u93q^!-OH(IH2Xb^J^+=>Fc)+D!~iQT}S_TKeeFjv|racS%!a53!ja4`sUL zaMWF+hx@T^HUN#?viE=lw)Y&qHKd8E#1Es{`Md67lA@|-9aMww9rX;#uvTjxD|f7> zH7&|Ithv`oZScI<2Ml*TV}}z<)P@a6t6^xv0+groF{)fMHf2=U&w(PYjNdEu0*?rf zVObNE9d*uMQQUu{{jdS3&~PVG_m0xp^Ax}x0q?yIy>8x*7W7g*E&x;I=u+d_;@qvNgRGlW7~gq(1WTFS|0% z14hqHwee->q+2m=O}!lRcDd(0CZfGMSQAmbaubz~3Unq|l)*1Bz%2#CGLt`Ezc{T6 zN{}?z-%^$)Ug=k@>^5Gv_l;|g+nqWNXLyT80b;tzibdJf)0zr=KWO8q(R7@yTsO z8I|4U??Xwus+{DaKBunemO8heA3y&U?dniI1FG7!7^e($1X^+C#?DDn?XyNVNz+9( zZ5-@#&%#9}FG{vuOhVXRl=#%*W@4zvg-L;YRzm4~n^r=R14r}qLze56_+3o{7H?75 zsAH7j^nS@@J%DolnCN!#X`LU-a;JWw+RlK!|#p>AMU3G z9xdp1@uya+?ibVD7~7-`rvc-VB>QEg#_z5fC_L{k)o9wnmE!8nXiw1SKjKYtZ}qiX zh>-~GDLF^5GMid|iWy<=i+ANQQiD>RK4?4I!Li4OuQ3NXwm0KV&sIqzl}S=_sm4wC zWUxBd@xPF+b#s!EZXv@&Q;>3+d;iwtg(%Ngo$P;VzvDH4qrGWtkF%<`YEiI5c!J|M=B9J>Oe0&yPDI^}t^%SZT^ur}E^$zzC}(mYl#;I8ZX^ z3!&aotDfNqM-!9;Vz|RfNd9Vz5*}_5jw=jY`zw@G;HBllfFVkM{ zydHO(8t|GJ9=CiVL_`;PCGoDHpowu<(O6!->L-1HK`T12x)jDzk2^x!8Bu>R8tUJz z4H*bm`Iwoo_<62P0Wbl7)mpwOblDqe%5k^Kw4ph!J1)~qEn_5J3+|9pPb$$8g2ru` z(#T`c#QL|v;F~~OFk0GLIM4YMRG3mnXySzHhy~}a7>y_~IkyiTxGq)cjGqf`K82IU z0WwyZ?9k3dzP{!yw2C~+`;M-!q@4SG8NNf!---J{84{rK$Ysa!LOxJ&qXS}dqR;q= zgN%qnvEI*QmZX1a5i0nAYf~kAQdm~cIEg3sbAu}Bbr;r~N1_o+x85o3Fq2e-7TjSd zn$B^>!?3??IPl@eQaM$6Oo$a~k}Cxk-_RPvRI0HlHm@m94tw66{xUqHIb`hKSY?Pc zTwDdv@npkA>t-g~yOSgNDBt{>vAyGN(Otz$SV6PU#9_+jEVfP%W9#(}aN<^3g zy+EncnAJCY=_~AYI#zvjd6MnYo!jza3cNf7E(^@#F_g&Wy~;U~?OvB1uVCXu-W_jd zXg6CT(i{7v3`-K2DhRS^1aDZQ6ZYc{C^uD;Fr9rD$R1{voHl^Te5h60Sya(Y6|45N zVJ{TNssj?@Ems>D!f+M=%G65Q+wn>7t)t9d`#rnT?TjtFsGUt(u7zvXtD3*gO(@y! zsYAR(@ZZI8f>L9>E?kJ2rdp^b>FtOTIqFN9UPhf%+7l#WsRSv>6B)~f#$mJ3jPlWc zh_?e3E~KqeTW(y9%O7vcn~f^!V`_X44ASW|Gm{s-o7d{-An|lA1_q=j09B<#)H?!H za@Ub)lOTcn7~!%Dh0aX3aRFMqNc-H$b6L@MH>MhGbt$SVS}WRC%;uj>^$BpzixwTW zSqrULxAUVhs4ezYOT>jTBS7X2x7<-CZK;SRb&O7|=xo@QtAYk$c*!)i2So!Il>ITB+qEM~-WJHNSqc_91PCFK7ac$THJ8$8Q zXwv$c*U%^V+T>9(2F|rO*Jj|eil`y|c_CxMCCB?#Ox`q!yBEK^+^dFfPidM^P<~L{ z&bXZhPRO)#J7?}W#FEsv6tvW*hG$4I2OhP}a2n4jkD`MJ>&+8w;US(8^=lp~Zxrpf z_8+ysxm7}wgNFGK=X^a}us{F+cij`Jilq9sne&o20JvGGh5SfN9CQFO&0m3nW=PcB zNN6Z32G!cYg93?=H|I^bFX`fWj=?LIPo8#>>{yn+4;t-{bJevfRT(GkFDNw!(Vab%Nj4t?dnN)4OlTwWTn)UzqXaWPdaYGdokq7?(A+3R#{e!R) z8A__45UeIo`a+4{Who9uOp2qZqih{)y%O}bdT0SYKU84-D&)vkq6@iRU?C=VZhcY? zf>($g>hRqtFnR4}2TBvL)8IXNF4N;;jIeNuCrHq;h3uN4YOV-PdQiz}DFqZ2nHsIv z{r>)?WM*d0D<}XrHa3Qa3_ns8bMKHa%l*F}>3K&^mzj<#(bh71IuG|3SMT_nWY-|3Q zbz0ZMiPr7@tsk$&L5W&b41B02JL_&GeV%7$MnSX zA5O7)fp%Z9e@AT(QOtQU|7&h(DI_TgchUI?Qs2;EaJk_wr=t_~^5TYuiJ7iTTR|TA zpC-TZn^4>#utp8uQZAKDP(oLizm=! zI$02UR>_XP!f+96?OVfPpS^J{pf*IONqNS*TT-DD5w1e}P}O9Sj_9&@1eUc4T>A2d z3QKwUUEx9c#^r#^>bP9$r9aUfv5Z2Soghg-C1{JW79c!kRU`@`h!ClYCO(pZwO#vA zU(=Qn61nR4ATllSQ1YNTk>)xmX$c{Nf2QDM-cLr*2q)syknbD}SV8py3iMPT65Zd5%1RMoVTf^r zd4ttPD|Xi_WD`@3nw$#<@Ji5k#%*E_D?Q^18vD|x7_~ff4CM6ptha@(e zP=~4rqfAgD^vLjiGDEqLX++IWA?uE`^z=x1ou{7iHVd{Qry$ekzEoawNlcqq3XEDSk}<} zuRD;rO*S|w{fVm|zEX^lKkX*m2Q-`m9ANp7*r+4Z~GMhq#D6Acf z-Vdgm;nL}>yHD4<2ObT7tK2C5JEr|V8zl#N4FEnel=(&y4NP4dzGT#q<>cbJ9=GuV zON`Y?kki_1*&z#%q!gFWLb_v0T6^X#r$Rv6adP5N&13qbrVgW|Z1MpeVpkILy9{~5 zV|7?4I|QT#IxK&dJX9J?Sa|PO9ehPa1)65zFqX1}gv8CDAjkh0*8c0yiyz>whY|n) zN54+#Z%s{{qT*tTEl-$=wkQ&mYylLSgZ=*YZ<9>MX(g=|TQgCVpf0%oKGh*9vWo{5 zPvf$6H^!Nq-49Gd|J@Iy^7OLg^x@7&+Ol-!{1iWS3VKHkqm}p=KT{l`^G`)ep~#jr}yz z7|!HUmu_9-KufAKPQB5QNp&eLkC2@j+0lojwO)N5<{v2CQ&sWjqH0H8YIkXe$o8Gq zyyR(e(~_Wq93fZpq{kPOrx&YH`e9xyK_Ve3Ib5P3<;6&2Fi!a&%!C|N9T^%D3~j2T z&-J&tmDO)_nl*$e%I%#ec!4t-QtZi|Ou@udsQ6)eKDWQSFf;KjfjI$?WrX?LaM5ml!pG~h(ZjJks-O9a81g_ zlZ!3=jNOT&dswqZ`3?ai85v{KEmjr55nH65iM--11q#-MUdq;~@z)bI2j80J1>6=A zt~{5F5{&vQ&FVGCR8L^G#ZZ0eU-}?t0&|xGK1s=vs|t_)PJ{ zzpWA_QU5xG#Qe3_5$awGKSvsCmk=b1A~j$ZEP;)!%!<`35#wBSl=~lD3Ys53Ia<%b zxTc(8<+MRpechkzy4GWGEcsX1r7UEooefg*WSWO}j& z3Ph!iwKXdrB70Hr|L(%SK7kxG=$T2D|B|Y*GWNrFdx(LuIRC(A(0FZ>ybvkPYXR%{ zWKg25Ij-L(i^fBy={BQXwJ+fiICS_57mHw}w>MAIw1TP3B;&PWT%GXJB_V-dBQ+)> zYibd?@Gx)eYU4%KRLK`4Bbz4Gqy*}`*IgTx#^Z4?elsOLa__fzdmUFM9)4nlmD~LIRxPtY6Pn@(-|mUy00J^4bSV+@CW!z- z8J~6U8hK#^DvRfyvWx%Ss=vJWQgu(8vg;u%0XI~C5IUk!r$KPY!vxsDd=B(*xOpZj zmk%Q|nT7sOHBI4D+z6*xp08BRjpCW?aIc}JZ`)ZbhkYT944m9z zTGjl zl_Li=zm>YcowFZb-Z!AvPt!U|k}MX8Rp{6kB}_i;c&n%+4gETP9sdD9qBvLdI~?P# z3PzxC4C}igZ7W>J)6r$uc`QsWj83?x$#OY?Rk}aThTuLc9NdWc#)rK!$X@#?hDI~m zq>IHidpa<|sUdv8NtS;0?E0Ml3{pB-V`PhO&63)i@2^6jQT$)m;a>{301C=Tkff}d zN|Mh^v(!FT$1xTpWhR^>b#>j+Bx80FH+Rti)rtn{oGX3S{pUg&)eluT9L^i3 zlq?Mr>Sa#Nu{Jh+X*FJNYyGp^13SM{B;vs-~ zf7nWd+uz@(q?Y1ck;IYAH=>Nw_h7>q#CzQfC5tn6AqCl_zXU6o2dx-3e;*YRJ#@e_ zqaujHLoe*7q^J4-%2icRKCHmbpLf7m2PTJqDye)n-cD@%3OgJ=v2$X&r~T*L@DZ3* zaUU^W_|wTn!oRkx4On=N`k;A0FeA*09bV)G8AV2kTxaQ{tML+G5h zqkfpRE;15sx1W$#I+*l|NJ?B*mbTRLR3_^+a--IjK5;(9@r~pg7S$zAc!Ache_xoR zeNO#!E!Z=*xQr?&6dxom@p3>`cwr-_&B58rAvKc2ktkIA$%NYO&?YGKG3j|L*j?dH zs-b#~YZKf3BZ$AdcH|zJBEs~TCWrY6D1M;RMTtyuuSd<2d`#d1i^W0Ri~O5K#0YM` zZfXMVB{!rnk)ar5=0#rs6(^mU?yopBx^YIK*ZW+DKnHEO3fAICRiqfwIe-zopUAf11GKP}Nd zd-_CObB_5AuPtY)p|xu$H0Y0&<|A>Hd{DI)%|=Haq=)VOMrh-E4%#UabotsQDTP9c zzyA1M2?)Rg+<(_omcSAFw9+v#9tx*R4jAm`sgiR|cNbj)41L^_n1?kg92P{K)aX(z zl@LHbzlR)}QAk-_!iDsjgoO7gQvm?I2jl6opl~zsK@sB62bSiIJj39I(hS_RJPts~ zhl|{$Oe6z5(*(6^O(hD9W+u=(Cd3@pUyV69>LUm+hJ=}QkU?L5FmP)(WNLnQa4oNz zWR$*~>Vu=ZFIbCDjG^PU80ofGeMm`<%5DA&|J~FTp>}+HJe6zX1BqZ2WmHiFtNRzY zee}o29GjoZQd!ocKE3AuyGr8}bG|{0zbq0g@uK*xeGTI9A-y2yi;cv zmxaDcS^&UxXQ={Z^Rl6*j21Kj*_=9GlzWm7O~d^GYOA|QEar4Qx*sK6ZCtNT7kX_d zTwtA3rYUSjqVw?@$k#-z7S2Vu3GXzG;y-gXj$62YWwjzoM8dmA5*4DWd@Qv zTi2q2clwTe1ip$bx0~Fa}B+NY7GDx***^n5M zu%Ns?h{40Tf|+llh8n9^LgxkeMRffyFNHQd?*rpXtk`-Jw^8|}G@_lA%{cF8!`VVX zsB3R?mX+IcVW`1L@YHxs9eH^(86iT298Q}=Pd}w@L*W&}0&jxh#6)bDwG_{fb^qNP zpq30>g?roG{W*iz6XS3)TU=WkKP_F;?&ZN=Dt-28jBY_bn=h=ono+CO1-{i4G*F@4 zTJ3m9r=(nXfIow^FfN(YTpJlrsqVHGMhyGIlZYMjRLBAfFIB0wibR-L)|*`^2e5zI2x>$Ewn;| zgor+{snW8xtc2K)wU%?mt@-pH&*&}Jbph|YL(8Hg@yJw7Z+c~{z)|u{-B1a@Z)#?1#zjw2<;Cllw^KXOj)2a7?sf05>o79$xzq?9)B&B3JCVp&yv zY-?-7lkYf{yf!$zu2B2V=bM{cn?mBMrQ5{y`)*j>ablynlv?_@w=1J)B*O=XLcO7t z?w~OsZmJm{)zVXxY9#y@CaDA#OGr2sf%HiRzXmA~mYsg{W4WJNv`oepO%(NyjJ#I~}_lje(Ayszw~m z_mmPQIl`!M-c%4Yqz%h+#@1F^`t9~sfhp2T(APJ+JJH$H^^}C97mJXvcUGR?xP_UK zQSxFTzd|7h7C>DpA;zkqsTsLi_2JGJF7xGqb~}je8|^r?(LGqhA81|LNiU` z9FBBMQg?$<5O@EOD74u?wD>&|)VWIU^@EUV=>=nns8pBvzMWrrtyb+Hj<%*9eTBru zoSv+dISMj?FaFNt)@M-i@B>f4+Q0y!O~W4%!C-S`MNBLph7)v@EpkYSO?Q-1$i-Ib z1T2OFSjqmWq|T2nncKq6M-1g0P3gJAsBTX2N@8rtFi2M71WSiY+CcUTZYLo6MAukx z?kKVUio?-CG0Mc=W-H8ckF;z=qgOXQT3eQr_Ae@?>|Wi@E!UN zGfVp((i=JxGWjusg)@3^_ha!Zs(9(6o6{U>J7qW_yolfS>3s(V3>L8e%$bm8; z+@Bp@|B&c>X0&3hOTrWZu%pNt&)xOc5%q<)r#OCUG$tw~b`;CBYK+aJJJFx`gmM){ z%*4gJmggB!W%X$An4P!XnCcltzG+Cg6NWAS5ITOzLJ`io6E`b}Y4@4epldymj`(?g zhDVjBO=y@8s6ZxKwZBOG8mff(s&!vXBmyB_z+_#e1g2vNZTGSSMq-z5m5mH>vS6E5> z=FKfF3m=H6Fx5V<_^Dz#+MBdHsjr#H$l@7Yg(MfE8V~ z&9eUPc3SeU>TqoC*fe5|eIA~JFwb}8B^7LMyisZ}DJE9bKz)O7gKE+YZ9E>N0dopT z$`~9q_ch~dv83GP`2IXk1#$6<5)hPSxj zi6xI$_cOjdSVmqx9x8IAUSA9BVlC;AU)P5jBc{y*X?RWs0N zn8{PXFpRd>bK7j)rjNPn?t(^)v{QRZ7(8?edufKC)6>Fr>c#2R)sT)3zN;pEdVs8R z2&Op#0s;qJZ{AX)ZT92e=7|cEpeWfOTM==|`f9g|q))q43$x1q5E?MeEP#4TeT8Os z9=(VW>Vn;f%O&fIMr|6GO$@)>7>kYLSec2=CHJ7dv$IHKz@VjG%-Io_UX$p^i#@|L!;w&Wmfw`Qnm>%2^|8p*<_ojj{Q63uT0X;d29 z$c`$`c1*a%nM??taePucXsaSCQPXtj8zntZl}~16boq$MX!cZp#ptDFrmPzTB8D`V}@*u{$B%sFq}8%lsrSvUg_XupE0;}A)0*zx4fbtJtdl71ZZ z1=_F9ME<{zw<;WI>%B244%Uu03HZBD2^$~3e`zUYxxU9{j2WLN8!1YRk&{zW@Irie ziYc_ErDeX;F{oH3<1tmnTeE#2a?VR$ti4u+X5qMeOrr#v=D%o>o>fXcpN&^GwzOO- z?0XpOUYPCieX>}=`F;8%1e$Ckwo(ydeZxS#l7Fg1=hGzfA80V!51Isn3)ZV+?uh-A zkDI#u0pDFpLt$t|&>!HAsUa+RRy^s}Kz2<6#i|hFH8V#WZB)?7!$Zmb~e`!^fgh zu+yPMkS1{0mx1e8Xy^qKZ#ZkiEk@YitrAAGLj(o1kBq7AY{;$foBhI;^N0$#N7yY2pK9}1k-`!R^6`kME%jyj*1jiYZT8lpe=`s-5TR} zGOi{L`lwpaL(y@QkK6}gk5ggX5Te?EWt2Z$hMVf3#GAOYgGPFQ|no z&hkOdcSL5UYg+%#l3P%R1C{N@t-;>7BjAiuDD7_p6q(Ekd5d4RKl!44`bmsrqMnXg zyk?t{&Bme|)pj$WbcVQKY_Z~FF++T$ID`9zIgaljc>b4RN=AM154RRf8o`9Zuu;^KeylApaCy>c`F0>!1}azHQWUI)9`BJ9XF zQ*MtFQ<_z;mo8RihP~mviO?hrcR15JOm)00q)xM+_N4*ve^V0%+Zh9kxxoX;?-Ubt zuDi7#1;LfAJ9kXEjpz;q4)|f(^YTKN)VD^^GOmj<-F%f$1vzBzk)*4@iF)K?W#tbC*dO3sU12F-%N^a3`>QbU>XsB4KT^^Z$bKl7n?PICK{KKgX;b~= zT>D2uU>~6sv-`Mx&V3XUQv8&e=%a~|8KR*qPM-u$#*A|iIT9_COJNR8=Ks)rEEk`0 zH~YY=WhV8Cu6SCK#YV2$n3g3HCS%1e(37Hb67w_DVe^X*F?Qs%P!MPuT|vA>-NZ0D ziG80YztiPf|); zg32dS5n#V{+O33W`|#AOdv?W&x`!7{?fj;bCWzf@B>H5RBpGpYIci2>0DA@p<7|9w z69>zL5hdAUw#Q$bM6}u<#JjWGhIQE+9a*Zo-BU=ntfxJKGtgXzj7!!|%TFY9VJ=BR zZhB{+-jKRE9&tebcEG*jmo&6qq`xej;HT5zh7ajZ^c2)D%DE#pM^ENP=zF@hr$)g17XLLl7 zZWIy!A8HsGwb9wa0%d)jcd1IBgw1*-@~>uNUPD9hiAt`eeJbJTJajC61Glc_n`YeM zyR22fkOQ{*1rN%jgEZhEoncnH zm1UU9=8$N(@H>H$Ta3EZ4x4Vh(H6DS6pD{+tIt&d4QjNi7~P@2G+kYzAGzE>;Bl%t zQ+a`kSQS{xGK zK%Dlk*g?LZL6TJkjVN#7LC#O|^;tCTe$I+td|c__)jeVZBQs2af2{fPz@NxD<>~&8 zb+?QcM3N!HF!>r zQu9isnNk+-xk(xc9Mo`8kp_X00Iy4oO*5<5Vdk>b{n45$`;|;4sfx~)saYS4Lmjuz zl~YnTZz9N20BYnMU36^-_iS1#ZkwJ7kz#Hn!sy*wI{)TUZ1BlF(uHKCjIA*8b}?Nd z)(NzMFec;Ls$cTty`fd`MXw%op_6=aaQOJIoi&0#1&F&vX%2HL7(_qOgcKw>OD#@+ z3ODY<@scLqXjKieJ`r@bM*mpP2!!W9-JejaMiYojWDWiKQb^78ZKPf;ysb6FH7&U3 zN0j+5EWETL(@sB~Q^DHr^*`Wx;w5Bm(sDAqSr*b`z1OvoOkdzs6)ftFs4#6+LdJmed8S`;XoZ*tdnCGr+DDlaZZ=I=NtWrRayQ*OYMbX>P^{n3ZWo zNf7&i_K@z>yaM@u$Lc>ic4L8@z@2uLpXG}O2jp;Ya8p8~NSUf>%^1M$6_JRrvc&nGssjo*TY@+Z>i`+DaG@8QcEz5p$Tx)Xsta}Qh$n)F&i|&J= zR+BrTPim1S|5eiZLtzN}#`@1+Ad+opx{f=Tih9JN$b`by7@Cc!-OfwsjW07Smf*XR3md@3y!P0dyTNEbwx53uL>J&qBN(}90vbTkT1=O1a;ex6ZJ}EbFmu1w3Or;-r6`bEs+s5^by;JV5#j14-*W z`F<)QBWb8#4}<4->#*e$ycQO9Hd}(nawelGL+uCgLmB$kZ)a`m1+>4+);*4sNjwGH zkx=mCCE5!VX-n3V5|+)$`O*i{*_lM;ZTGLTDTXgGB1DhH%gm0qlBCU&gE)tb6;fQt zN%0qTYgw927^>$SV`S`WJX0Pa=B6spTzAG3im4-p^;G5Fx<)cGN!p0D*BtFzzu!sX z#HX`4+uUsPlM)NHT0$V)As6jt@4}2(RojL6HDA8i#F|mcU38l@2G7!g8YH;gU@fIY zi}Gud9O0yFj)xliYjfVvlzgO}MKd8LGz!HEDh z3`>W{`)l;spTVJASxS1zG;NH=LdUX-SS;^PlloP@pA36RLMZ}R>@`A+_T}o%`68hR zz0shK2Q(fY$MBb-(+&q?F|su35ubx=M?raB=IB!nNSb$`zI-%W;po)}0p!1>fCJZV zxPFn`YI_^APx1Az(z~M*Ouga{!_Gb+{HzTOhQfVY=`^^TxGH2r7e_^CzNFdHoB3(-_D|2&+ z0GJ@VlFG_asoEmIek=dxyHNRwoOE%U6vm9CrV7!E4*t!Hjey?vI}s>Yr?Ql9q}PJK zt4u;rL3&P0wDd29^1;CYWvC6*S25}4jg=N_T$eK$SpzZXXHzkfBYbQ&?JPZEh-N6q zMXFhZOl%4^X>4q&jRhsqi+06m7fy9-0&_Cm93XgSWeKhVIEl?E+Sk}x5lNn+SeIz@ zo2ot%FW#uj-Px=sDE0QY@My(A9^`K5h#bvA`kJ@o3#uWuy*K4oyC)Aq>;Ogf+4KgM zoe#b|29TrFTIq~1eqF6VCWL_+JNk4flDJ7n%9NCGLfCs-GN*AGwKs6KNQLE+xLfh( zm8%~fE1Tu%T0G&@Wc+-3#Iz^i73*ml)BdDK6g7u0&Pq&jAK_)L^ND@Q`(4oMQU^wa zFmIh&UAw*^hN4Ie@7>flFrTFHa%%CNq@|_xvbyuEXYL3djrZBUZS6+$p?87AZLs0X zM#H&{m)i301?k{n0w>oX#wqz=2_JG7TS13+Myr*UuZU9x<|-+wZ!S|9Xnt+TW-Il$ z<8?K34{No1J{D;B+QrDya=T88&kRDlI}`Ad4qsEE)i$E%qc0{9nAo%mSy&McN%U`L zuiT~ra_@e*-9_^OZ8HhFn9)YVb!q$2(cQK__GigH6ZY`?R^de@3eGjeSW0~a(}l`* z))X<|+LECZ7iuqIISE>*b%|e{K3) z5h1vWUGKFl&yVp1^?2W+pMalAqNpLHKZMlWym@sbWH_18=EU48D0P}-8PM_k_j47| z>Vu&M4fPyRGhVTr9JKlPbXKI>`Tj1!EJ?|6*2K4L_yt&0`!&A;!&6iygpHu>&oTQ( zxmAkH#6vx+rh9oQC%Kg}1g^+8BEHjrrtBOI3iSCljCb)EXR=)f10~q``i^#$(v_Dl zfS9e4L@`WKre-1XjDOb-3>#Sd3{G&N$k?Hd?Mz+E`(i@J^wYeWTK2`X*Jnq3v?iqBY-_<5&k<`N-TA8qaOplZ7s=!XK6|!T4F-Q7}!|_z7^Oz!AYnM{gI8Cj&b-wwi&3$Tccb2(SQ;@s*c@duI` zvkVmGcqzw&V`ls|&Uc1(UJH?({pj;7K${}4E9}=Fg_}uM++V-?J%Stam;yauv|wON z7Bt3zO9oikxczfOKgj=NP9H-TL2o$V1RtXp|34LIU0mXN(^T!w8}DnagV!!Rj27e( z#wLqT+03TKJIh&_cMV;RKQPj{1Be_+)`C4b&I=Ol3(2~M@*QnFKjX*J9gvS&TgFDJ z@?$~_FIk8AsNhFnY8$cleAuDpdk!(wQoYu^9*1Lx-&xK?e9Q1Zl#}j6UChso416xA zl{~A!iqpFE5a3=GiA39RfZMYl8&34Rx_$jo4z${5;SPQN8 zgRjq18HXoxB)sg2E_u+5a;qfFyc#1aK}lxLIQowcCvU++|S7cul@TmI%+ ze(J>4m^s)hw|FS=LbW4_-&oYO)2BIef^nC9^N77NCBF%s!tq%KyIYXS;lg#Yyvg9S z^@Bu4bMRhIpEpQKpQHYuxaHHE8bcj25x1eZRw2i@s%dPwi8nPTs6Q;7xB@BS2-C)l z?I{~Yw^ysTii0Il)knk*RxQqP@-fw6>%YSQ3_gOvLR5pIk{?<&*$IWV__=Wwaq|@`G(2|AwqIm2+>!=pG?|FNdE$%K9VHgAR^EdQd2Vf)nHCNyLS+w30Wqt#rkioLnHh%%ZOO zv$$ZFOeEXtF}v6%wckn4;juGVaOM>Lo)dULy}ZoA4)j6ARa6s0(YeMsF`ObP6#VC3 z`@IDS=~PYlzR=mE&47p*o6M$wc>8S?MX_&*Kbo}x0^fVc)mFlHY8W&$r5Laye+Url z#5p?sHCr6PD?B@j0%b(*P+c;a^?T}0a(H-(F^V^hfhbTiALa$hmdeVe8eG{eD1pMV z9q}>5;WMQD{@5Un06UJz^!&i#o^P}kGi`s6$@V&|pWD-q`KZ2$KE{;UOiz!zF5!95 zt@ohyhhfPoo`uDJ*21MI)~gj|L7N#DXmw|>L(u-%Iv^z5xXs$?%ZAUw=id=Ya_J;Jeva-L3I$X0hutO83xMuo$U#}rcHE-zfu=*I%TS@Uyk!N)Vd)Rf<0?sGXrK1Li8ZR&G1$oCci1oCj?~b?mKwWVL^pc$Cj^$Ypi^CFk|N5 zm*#zt44-OZh>E@V9Ekw@&1N2V$`Yq7^1#YwxC$hnQ%UyMG5v}c$Z*@*)P{rWde*1s z_KDSx0B5t(==Fb=9X=@=_b`EAph}&x8@T@Ze%@9H%8NZsNzdxr-{4G9 zvuS{k>+pG=88{K4i43c_PDx7@UUU=UQ})u>A>IJa>21h!BU+1MH*4Pd@-Lsgh_c9m zeTv4OE&O$U&noqJ)7q{D;yckcRc`x9AK<6{twhJY%Pq(oxKuLspc(^C4NfERmN9>v zY^J-8`X*AlyrZ`c=9Z$&q~$Aul_h2Gg4jBwg|7ZM;D71XEphyAQyB#>)1|$YxChW4blnTJtB2BTj ztOk=T*aY&1dGw3m?sA@L>oA7>4&T5q02xSs&*07Y)U@G4Z{#{OCP&mJmUTqsAx)Ax zQs{GRp5cWlD-)Uiu2ft1Nw#f~l?A7J_9pvsx@`9-O{QNgZ0fe8;1thguC16n(DQ^E zo)%Y;z_LsepO~hx!ezRZHn%g!X6DqLj4v~qf>5-xN^hvjJz2L_MmGB6y1JPao z^*W`!ihA@!puKHxo9cN{C-yl#s1Zl^F?;})Sik(QWk4E@p5;blI||c z{2*P<17#5lRt#<*+TUsZxlvMC;-C|7SNgDkqvJQ-eDv9r9DK%1@05%sh;WktwkP9^ zyOfs5uBGohx(s@Wb0i^o}#=f%}TB}ITH)Kw6FB;xBdXs6p_%g@6d!K!8L3VcaJ z_d4F$_g54D;Q?_6D{X=pATW(EvJpk@ka!2;f0nQIG~`8yXM@#I`J5J*hXu9y^6=i5 znoPI#Y{Zj6oNwsll5}zZ1snPJV_PvqxJ`RF{X56+O74oo@R8E0XH~uc+I03^*Uj1R zq#YuS?swWXuUG1~>p{K{9sky=@1?5y&Vp6fnFU1G)-fklwa0FfWrk zU&%6xw4sur-{<1D<9-H%Hv<~I_L47`#C?!K%b~5FUwN>VXDX1RK6_7autsZ8={I0H zTc?8o*)OPPW))rXGZUY$vKk+@6LnpndC5Y?UK`)_P{TVOTd_QL-8Vh&yFA}nFT6qT zVY>V+ZTDf6nWXswOwGuiLqkpaHb~0nyrDNDQ{X4}zF_ic)YWLpsG*m!!@2q4?{FF3 zVZjk{T4X>BCZThWGi^7$t*Ry(%~<7lM~#+1mi!=HL8YPsF_0{C*BAlGo|J zchPq5=`LvxqS%AD(i8snIR^YDgs+%xr*BaYGyLtFc{D7eAb%f^XqVlwFuA&W8O1d+ z4@`7WL2?(-8NVGC$U846>rpFaq+FP)-<SoU&(@a-x2-M`D<~ z%~P0}x5r9p$gBK?gTYU&3AWPbsnLG-M)IZKSg$1yo}2&0)XnbQZq)|HdpwCWz zrv$hAnLUm3UoqRZU{k&~-(9J9QodO^WNU(VbHDQH5D zpp8*eaI@~SVa5-V1$7O|KJWDpmZ#r0&$8Pa|7jXD!(9Wg)OGcGke_b37wmQ1{Pyli zGv({Q;l0_Xn$;pPd8#~fPkZ40YAgSa!8ZGxup701)kfDFl!0uE6V?W zn11yViS_uFXF69^l8Yu9-RQFSYPuS75F{YWup|7r8e+`5-=i?&%!WsZs`M%>_R}<4 zMDe=%b)Z z4VK_d2s{ySauhvYy6DT$pt%D_Yzmu_6CKRUTlNy5r@!$TG`s~ z5mWk#d<4xBCxUt{bU+b$S=7?&uXl`j!`cV-K?7*jsXqOAIv%&C@p7?Sbw{8&jMt{` zm3cXqTMT&j@LuN!Q}(|2b*iUw!>lXr8N~} zl_R>+`yuqeXZoE{dY2s&5Q7cxreM0oz!ZBzml8+%ZTv;w%;M2TTX^xi(>L74^MT_4 zc>_lh*#uCnYW=KSq0tw8jd31kHsE&{IqRLJC58cWp$MPaIl+@y&hU}lloS$3!@%sX zEp$eKxq2L-v!yRoGq(PJ299(xfj`^6TL|?)bDn*rFg&N%-#dx6_p9P}f8^3>n+YO- z^7SE~K^))@bEM}9I&Q{oYW@()o~DEQR`2y-w{>Ovt}=?Q|5ny6oqh4pc_cnBKk11$ zoXD@WL{f#W{oZ0~zL|KK)5AZOs_4Yf3FVVD~5eV89$eaw9!Ub`_b7d8&C9k3_G&l%ynt}KDUPKw{W^y9^2{fF6-+F z;Abs&!%vx+0a)17LRN-o+>{%Vmdx11NxKqLkq>jMePUep4b0)`y)QmLa0eUC|EyhO zoUJuOJ`c^PRL?bp5B*txp=2Xmjz)Y<&%`25j`ZSZ3%+GLp1QyZceBM|pbbY>Jn$d9Cdw(-D zgdIPn0eGDA$ax(jPPJM?jTrJrJmW&y7wAL(Lz$y?9_$R)9v$EE;8vhGtwW-k;6;#o zB6}V}RasxF@U*b{IXHGsbqL{PlgyH!0j$EEazNq73Q8j1?6);Hi@kbERIbmE&kUP|@c$tPaC$%86 z+px~K$*Ty;5Y-esbGSNY)VNm<+jk_((&MWL*NddjmHDzU1fi~uTRoi0AFjk z;A>Kd*|k&Nw&}EC5alaWOj=Up#mZf`=~xo>P+I#_m4+KkCRzXaTQV9Mz3|`cY!|*r z*V|R>V?5kRQ$d0xi7fYUS9$+O7pX@QbKBX&wymA*3PphX-E?X@@DP4&Sw`0&ozZb4 z6>maDZ{9AQr?nyQfX4h<-PMIWTaYy!MKL*q$7GxEo^eyy1kZ8X8H|B{K5#X)XfoSI ztVbZ@lKd+qc)&nOsocm;mz2$(2b^Jlk`Y@3FhNa9+&;vwVkA`w(cZUPKt(Da$L{Tqx zK4xFu+a~NpaBlm;F6!=XE`rzFJAoq$-b+q7=*ofoAo+NGoBBIf&YSQ!{le>z?5m zplJ9ChSYUEpkaWS zL+IOL$C7d6M2z3w0@`}=XOZD12nWoR$D9U8ZI-Z&pwr|bUIlUgHO+57)pdZ+cONGI z@is%oWK5R>3>o<5BA7^RaibLSz*f|wOeudU$}OI+<@`Qys|^dYd~L=Y{&n1?Z?a}& zp6gH`Zzg&_X&fk@8o2#c;8yo}JtvmR%Uqsk(1l;vn_!05ap!LHggVb`=6TCBU9ulS zhVRM!wBW9t?)C1&(S{4&vLo{5;}`|_DJPNm%5vIg%*)5W$m(0n$R*W&nMP&%{9qVvwChmnGfVUC~5*dzT^7Ix6-P}KV>)tMBBf~v* zy&^hkNlYLD&s!;eu^iPv-a#;W+2-+7RQ%s?OqIx&yL{`}vy^JSPa{h<&>Yql>#Thx6}j)8 z-$1sYn4h7`TWu`q{?o^(g)_9-ai*6_?hRy7ZFQhm(4B~FtwCda-S=Ev&Wp=YKHOF4 zi6wt~*m7eMEQXhq?YDmUB}ZrIa@LM{d%m|Dn9={mz&ljFE!>nJb8sJ%E$=lqTbSf8 zowo!3ImGZDy?5BtRq4AXy%z?1rFM6+e2{$wKUtNplrgMnKEMZN+a|4=yQL5XuJb6yJ0@K&(5iPQ4+r{k|u_qHrIk zMU&6RKz!e+)L#Yj;mOG8#d*DEzpo@Sh|ulG&05@=U3>3gp6l>*G+L6gP3 z8GU%{|24!s$f-R2ax>hLgz@F6I_l3P2lH{|pa%6m#}BVbg!tCdVtL?}g*@YJHXYj6 zZ}Jx&o-4NrKB?=p^uFC^;ZGC$SbzN~)+YFaFw+LW_QW1mw(XvX(DDNbDkHOSq!rrO z;_k*|QXqHCJG}Kk*YnCE%YH4RoY2KwR~y0&k@#C44|KE|l6(k0bmepf5pZoogR(&r zYcOsv8X<{BxHNmPg3zu;)Z^+My z!EihT<3b5A%ExgN2%B32d~U(Ce{OkZ$7Y{LbW<63wFo&I+wO!(#aF?LoB7%}+T37i z76do<8gsP#b$~FvcczQ8EQtpoIJPKcssZ#FZ(RoU;KByh$9JQ^?Z>X$zHL_j))Gs_ z>_zyH8vB#)<#(^=D59GW>F=Va6eHG3SOCZa>V&;s-!}@KpG@l6wTNyzYO!MHChXKC zWEt*UrunUBG^L3(0w4~|k9ulR=VPNOq_E9^^!e20R*RUMiX>JF5}yxN*}NY(n#UZL zJ#l;x^hAN&>x>v2K8{0vxn+K?w*CeCwr`kD#g}vlnY z9=lxy{%p0j=1*a+s)ugr_zakmLexX>Nh?1*(LRm%kHui{v0{uJ>i`R z8@26ON!Y7$avFlDLPAP+5%*!$n!28!k)rz&;P&Wo;@&>xgF1T?l`wnl5djCt%sg(2+hj7U(*%qtYlV}f67u9kqhUsxU=)EZf!8>w$25>&QjsQIl?q4C6Uhzm@%>7 z$PAOo%iFYJxoDfX&NHk9^Y14rFLi(zR^-NWTD(5Rni2NI^Sa$t%1uG6T4X#W2B4i9 z!XnJ>nZQB~yF?SCg$%LEn^Q?ifUT|z=^}K4RTjmlen0QqzVS`0;SD6qeKn_-`Ywb% zZ?^nSc{d|6AwJys4552&xQN7|8ksz?(YGjfLo7rm*yFtjzPTq9<7`HC_hSBPTR|lp zs-*M#)QJM6mws!njN+0re0XZGyHUFAXU!|V*+$D(!ng740br68Dryh&eo)sjf49i} zSFh`Oo4%ut)I!N6=;p%{-#0R+>5)S~SaufyPCSlmemWHGxT+(wg%NUKeyBP)_cC{;H9hSE=#fo zu%<=KitFyPRokK9%fa*N(Tb-|f1vNB6IyO%M*lK`!zPOhO7$?(wl8$$JvrD9a-0RM zau)qQ!_slRwzok`kkvJB$|p#dPq%x#7{MqY_%}kTOkt%dzQN2J8suh>8~xrqO_1?+ zjcH#70HUt{GJ3!tSZk)=b#D>&Wtsc!`<~_P=BCQ)c40q#NVO0k(1xj68T3=8yY=4p z!F$Q^f#`*NaF0>=oYp}zp=+60&}t(tO-9>%D{fvB`A6^Gg)A$yEpU4o?2|?cztvMn zq%_s%dc&};YP6x^YdU*wB`}1h}4jU%l+(;#Eh$QBq)6$ zI2sJk;l}?Jy;wj5tj|=wb|g|z9=3MEn$AIg2TeYnmaqY+t~iDM_4^Xmhz9gSHXd!T zD9`6(pgoKMs_Y2;Aae1Kz5GRb!#}&;;MY?0lD=S$qqTO_u{$xd7Kdaz~Xj?$K;+X+iM^KmAhVRle|S?;M2A2LTJBKx}D9 zqpBbGn!eyO$rc@br-_)>=4qQ7?|0M(a$3~~@_H2wXRO4%Z=fSjU-WxkCnWw_qR*~a z>G_8tJ1XAW^c_K|j@nIv@sIH=NsavPhECa_?tNc-v|49Yv)k%^S#56djkSr~#yWqv zsawibPrP)O&5-wi4ct{;P!!Pg4UIj^9g=;(gkhDCEIEc^Xxs?u?L>31+W1uEWkeYF zr_3hL%UJ8fn3G-w$lYrq-2#KalFy;e)C*b<6`?d%w0F|MHf9!7`dezxl zqp&|cp?cYp$#&--pK^_E%eLX05d#%Jk3E-kTaS_SI&wLms;~VEJOgq!N8Cmk4(iF%KF0sfUu{*TJ+)Zl{BDZ zT2VIMoMQR6iATddKDF5Xr{>rE!`q#C%dLLum$reU=F2wcgZlhKR*zSdqTwootVKQi zxP9^QYmXQ>!1#su4o}3v|8G{1Un{y_f-5f44lJLeThr@59OI?!)tv8$A{cV36OlG>}|$&nJI=+s~TgDT~6M|CPYD06p*c+Pe8R;&lkon~-^3`{5+o zWSSEvNBRA`mG8@8^|dwOfF^=f-zq}Ao_N5dW!Lm`SFq-T(62IZ@%wqFFFwAl7eN@1 z%_~y{ijobjvAt|?GYGl2W_h)q{xJ=B}f|{3zQG6vya4wm4o+9&eGXyiUwq zuRV@0T#=*%@4_G7jknxv#B74^{*_Fh1v=ubxHD%G(JwEU2oPhGX_tqadx|G8eqxtJ zZd#_({c}y~*e%ROtQY5 z_kL@qRCg<3V)3@eQ=#+Y=X-lIzwq=V^pQvR27mAl^|t8q5}Q})v4XV~%^>mp1hyRkifTW&UCzpTVv`YUZq4&1fbz*8gMSKp1P=jN@v>ye@}muuqfwA-sV z)i9-KOD+-RxH9fZiLrH+`@Q!o0M_$*m>%CskQo!Ra(=7aIblQmckNT5%U5UGYaoBm zL*zlkrRtB5dzwuS54^g3iF+S=W}^G|yTy398@9i?-y@D8V`|eSIm`2Ah`6}y(^gS` zTSLv6c>(Bhxg`B;t&4?h35$(Z&p+2Vo%OL}W*Q{rlK=Z1&Ld{1cc3p)El!_>snLm@|h2HKGj zzmM*6YiBo??AF|u-)~>5p2!TNF=x{E)16ezR@+ZC6}lBqDzr^#G>{|+l~J{@7%?z2IU(tt0oDNeO6UNeyc`9Ltk!q)oDjsOqCvy<2Bk1F1 z#hKoKGX`B!d+1c{r4OmBN$R#edp-f}M6%`t`l+uZ zp}z*bWu6Xnb`*PM4#vttXGdh|J3k`R)~H>fp!<1N&zQh$8HdQ9OCut}YZWsDq(V{T ztnZAAk*3nqZy%;;oQ>$|pd_f83(AXeyRsiRm=AVI*dZqgj(` zyIBkynxIL=O6%qYO623ua6FG`Ld+kZJrp&(&D5pLt|*_QW%R_%3o@|;Az>zN7O1l6 zQrTSdOulqhW^)QkB=IQoSFaSAysw;{cVD45-E%6Kf8FaLK+R*)$<%wegRqIVpF2Sd zw;c&9PcY2(0ye?Sz~sU`&0~tapj{IQH#XD-^iWtZ6D^FFWF(+jk*R89`S8cGl@>-Y zcCkopU}k}K5QKQ;v9t%}W{9fxHcxRt5;C z7WK25tyrZERQ2Ngv+SV}k4eq|0x*^vnS))LCIU(MbtqbtYmqiVk6xntN`JF~oz4BuTO)n!aKz=M0A=+^$*!Kd1~ZD6qq3=;WJpjz`Vl#74=omf zw1VcWaaj7&q>ct`y!vH-Od^^2u&p!Ih07MOP}c>0U!g11SrI+WwUM}AP1HXB1-a%0c( zGfU)$n{zp0#%W&g72&X&Z?-~n!(9td2UEdX`X)F--U|d4h%T_R7Z9q(;&<>&I1nDm znruTGlBEq?&`dU(sM#bXBOU}5`cS`XJ?{2=%axZX3h#aL+M}JpzMgF-Lc_d%6}i#< zlMZsvHW63n6D2rbfPNV;|w2lO#-?cbMP0C@u*K$p z{U-svfa`%^VV3Zd5eyJr`~aLcqMO>3low51>bnQ+zg;nKM5C+jjSnjrLt+ zQ7>FRWJ_*M9*nO)t%U!R%V zD%1?@s04TI<+-ZSetYsY88ee|euyyPvuV6Epg7urPzvbtkl4XHsSQi(GeeI?#ZzWV?NF(J)mL!cnDF3 zmwW{OAd5@>McDADY@2YR_B8D5dn#xbzAt5ZddUxAP+|pWb|DNG5*yH6_<;knX2xa> zcuYv8{Kj19QTuv+xLgg3h(Dq$qOFn`g&u&!ewGeH228(S_knZlm@IRqB7T3&>I@8K zn1lzxBUb(~y*U{gBPEj0S@bzq-_GSlYsfK9#eH?L|7j!2ZRa?*{q=mn3%%|EL z(AeCVkWD3a6ah-&`i9HyQ9l93(}6cOp16FsO9~yKG0FH}xw*nmr^wHqTu0d~IF4G_ z9R2woSku0j-Mb6$pCG=|Y6Y*LOlin&-Y7EB(a*1;aPgE$zL2rQ1suRhU(xA@aSj>l zfG#v)Exf+2z<;~TF{HD9a-pPt%i+p3cY}k+#`N+&dwac>(rKr~>_g^wT}Ha!>;{6D z$ueBK(;mHM^Z-Jib!}L*#C|J^=#ngkUhh{05~!QIZ@-qf)!D4w32N%J-pk4H5rl5Up`lTB2%N+U+*5y zkFfjvxZDG+Nxm@OB%e6v^%c^U?zi^mIU`xG4>>i()JW6Zt33N^FyEU)_=3889B_0@ zaIF}=Rdj>@Q{$2OIrSqaf-n5W8Q3uy!3@2_g$N;gU;6IA>_o zEEIUFgc2W;U_A5pX3a>Qy z_LJ8&K;Gv81W!)qPuiz3o@WX6Jno{qlDEt6+__D7#k_kiuiZlciyQ?X;~AHE zl!GRAVE#0FWVQ>Pu(L?KPHGP=%AbSPuJ0;lp5W<~Sxn8GE2yia%uK9ZO)+7Scn$)) z({NgPIg6P1gnU0c>%6KK)h{H-LuQBao^gpfs=XQu@uQvf6rh2Lw$ ztrqyQZ81;N9zajgO#)oINg*O91^i>4h2s%QcL;Fy%VisM(dD?*Jm)t;H7vi0AnFsM zBZKN+GHt*8VQ+IcFNujqL!s85^ICnGBGyO7vxK1!RZUK7<~!iM34+KF!^s$s!t|G( zvHOFX;I}YIG}{Tg%-Y&3754UlD+N$V9_5hC$CoLjW#9u!d(8Vv5VBE~>hV$JW zc%+|5%4q23Q~g8ido=#3j4{!U%UpIPB(DIMpZlIO=nxRNSOI3PjVATR(5^~E|IxIc%60iwsLQ9uo0 z?OS0EIw-(z+9DcOwxpe1A0}a)AlvY3z$WNCEt33zGU86H|FZHAt~Y|pUz1?@N?BEh zhY`l}`{n$yBK$=kY%ijXeLZuwAPFch;yTAy^t>;kWZ!rz#^coP1vzH#seoI0K}(y2 zmLATIV*6C(f+$npv22Nzg2XVf5(c!QSjZfGJr1NWHKH(Kny~P4h!SC^NtF;o0J;jx zPn8P|5IL*yQ+@0ys-(nU+LxuWBNH%9zXLG}zu>=6WPTSPd>BU$U^Jl!?x$si>$8Y& z)9|QW+rKENs9INrvLQBZHyZ46Asq9?-7fZtMH2$62UhEhuP^UI4WAYY`}Bl2D5Z)$ z29%kkX{!iWV@|?yz{w8G1M<4v_2KkT(=QLT121mqN_vU0utazc{``!@DU*-DXeNsB zkFc~PYCH0(IH*((;#EdY5F)IX1)c{fW%+aupl6gd9i6r9>{pA}a88=d9ZNe*N#9XB zyHoELh!*ZBNg#W}#WV%&FtY`oQsw%`Mlrp#(x|t+h;jPv`X6m1@Zd0w3Q@hiL?Cs1U8*X^Sb#yI{ zlueH+i8-vQelh8hgK!>IdKHP3M!#@PJs4-LsW9p3c#*TBgp55&buDuHw!1`#{`sGX z{~7Hkx^pC&hp^Q*8U3fXa~~eA60|G2W8A@mk~#wibF`Qh`A&QU(PTghnSQ%n$ zd;%ki_r=`dZh?aTC24o{N{npJ1MFrPGTQBaFT;LZqZ_dM_`&C;htB70SE(WT`+~tl zyAb098W=mD3S(pE0hw{t0;aWQo)F1dAL?-hHDCA1#E-ScWuaP}J4Xk#BAYFm#WtY} zvn|*gi!RoZQf0}U&i8Bm9@6V-UvKatiq|ej6crg0=N%vuQDVgL;_wCGOcq6KGp2 z$$ZsDc9RTLlorRLv$|vZ=v}ST@=_cOC^2B+v231`ISjBJ%~F2#^=~}K6HHEV&jn@u za{t1g3L1-kT5#Tb+CCQ}PUQSNHrpiW*5#kpHUgH%j4VyfI}F1OwH2u_BIl|8NIK0=Jf&g;31*YYKb1v3Dv&yjrTr~m{X{?GV)*;4abkrg))H3#{#qb;` z%I2Ku;#xPShP=W14WavGgFVBe*Z255wxx-W5OjPmI8^Xws)#FMjrMvJj_8ee5;Av>0mT(ZEe>4o=?-_7Viy?f z$CcJQ!2b3lD;`C6V{Tup@Xv;43679+ZE};YW>x$ln^0VHT597DoeBjmo&Sj-e^#MC z?#{QVk)h2Sl1D%&CzPpAPUk{?=#;a4#mi~u(TgyL74=#rT*h=C9t2MGs#B-B$SurE zWfzLI$ds9I_Mae`(MB%Ff4Y9_jOZ??3Mn476_8tnwM~~$0xhHKYT#dPD|ue#8cxw~ zvm#R}%<68bE-^F z5k)~J)fr6_b{Zr}q$3=V@rnxUcZ^yf!P%#rFA6?QCQ=d=pv<5y=BcY-Q7@X}%8exZ zn&*7C^&A>Vqu>>9JIk2mvq+Ml5fuG^@g0zg<8c)-8gv& zVc!cz3rs?7Akm$-O}SUHPspno>Zg9icZo3nHK?Uw*4Q_;65&ovf!hkp_yu}(R{WzM z>7emqV#mX>PI?ckiJ+iC;yw;O8;T>2#`7nAlgAC{q)Vd;YN1Nj?D`2X^T-=S3G%b} zr{vIxI3{o8RjQbP5Fgr^)b{Ub9g)1yqk*JVCZ_6yg&$$|RS z4xiHeO%5YbhE8Y)@L9pM?!V3Gb%q9WemXlXh<=m9NEj~~Xh$pt=I8Dq_>dWZxtRG3 z2P{B(!cQL8t|$f{2b9DQNMzpvF?_awZgXhbh%ctIk<7(Qk%|Ijt%^vFX4So&5KVHC z_LJp&L>F!5pjHbFRhq@y==G9twXBxnWqxpUcrg=B$q_%ABT)LNWNP<$@Q8Md!$q3o z{CM~1Xr+E4QG8;~p}b~IZae((dseRUw{j2%wpMBLd!Dx;{9g_ z4!S{v@M*)e(mOL#^r;M#V|`=iAI!ub82R{N7NOXKGLsbKCCT@7e?9_DKs7wG%W5j~ zkS~6_N0h{+g%dL}gkioiViuMZqHQ z1bn)dZ75x9VPAys%aHVAR38g*gnS#7NZ)fGi7LPOI88$9`Dc~&lipT~odO{oe4&sF ztZ{6N$jc>`Q&)5UE}8o}DsiZ&s@Bs)bC8q9%TBQZHJY4vJnNOlN3#I3%b-tt_g>ky z6(bXB53F%}98fVZ*mtZLh4?tHLkTZuH8t$gOQT+k|GVc`!vwiipwImg>HWJ5{%i1d zgQk{tQEaeCi)wo^AoMEK|4)Wcd9V8STf{0LzL}VWr4rE0v6|KsRhTt_f171_TmWOn z{FO|RHMXW?7Mbs#ij8R0m9K@j>f>R;YP{H&qw5qZe}mOT)KJxu#~RwErwVUPbwqxN zfsty+Pmi~v-M+bS-a8(k=0^m=@QC%X(Dl{~O}>EwNTn;ul;*G&Y7;q>QsP=Q?=-U4 zp_xTGO(}CpE~64X%IW{Gf;Q;J_XyK`G9$^-XCs$t6ySZ9ZR-h@6nkvACrC5nJ19<7)S0=_nqamze5bMq4V%6+~5al%b#1Lc2| z;(rp*WxpbRuE%C$NVEg|Z7Q&1az8k`&`t)swIz4qukD7#uI&uV6)dY@^lQn-_%jTN zTSsQTF(+r&`@Ub5xOycL<%gjC(i&Muqvjk|Y`x}TSk!?h-FU+zpxHmkanig_J=6Zah&^v-sp+XA zH}@=&7ofl)6taBYE&GE=RB>okctIz)`Qq4hcLy3(+L$<3O`UThJ3aadq5{E~m^dOo ztyna~okHNce_cK_nU|Fl1=@Q+*CqOhTY7M9>rn+HBNA}HzUlK16(V-wVsqU#8JX~Q z2o!_<$`HL9sC~0%maI5MJx@P}5GiQc;P(r+0P-h43KV0JmuYm@UQMeF&_CX&uqY!9%<`$YSXTXGKpT0W3tnLk zRhyzIkJ>@UuDqm5gl8TwF4W5%eECSoMO@n4j{pWrx3?v^!R}dBaN23Pr!?`>o~6J4 zO7Og}z}|OtCh>-UdVSnN!+wKklhbA$P|qLD7g4^Y>vh!s1+Lb@ue19}VrQ$H$0_{c z0|5Yjl6c$LRcN{D9XHv8gM$b6TXwZ|KT<6BmNDuD>T(~S;|_VDP7**u#*|CZcSm(K z$jPq^gb{T!>V4>N*T#Z0C0o8@3_SQ^{a4lc|B6^^7*G`Ek!RE%GD?A-2(8j*D8P-I zd5K<1jPVm~VyKOdtdk61O2CAoP>vR1js0liH!9c6&6U$;oX%4SyUT(~soR@fCeTHQ z6@;A{q`u=&b1%yMv-AMg(qg>psDE$;T)Iz?xS>1F4}y20#Be52IJvi_LUV4FsShUw znK0UXPCTwMGYWRLI9?xh2jeZ(SjvobF4|K>vj%Nff-CT)y9j7p10~@q`l1(KxvM-b zjdJT4p_*OPq*^*=cTgD(LWFIT4t<_<1%4C^8Y}|44o4vCzhr|_A0->g@b{C(^hC*k z0!P@{8e-Hcm61s?=F=Xzf+rxI;U2PjFCzjW+QclK$d?)p?Dn6KQD+)vS3u5rDI?oP zsIDb6j4b#`DRHR&;Ec#kUR@>h-f{ukT(mn&)ci8p2#Jn^lwNNDlXOGa*FySo%7A?DF*d;`wREiaNvzcYu0&mW+{XVty&hK9ohxn9*}=0_&){ zAIA6tjl@qY#hTkPCfhb@V4h!}o{W=r1M>o0zLUFU0jQW5qfqX*-(swJev!A*z{(}V z5IFe@`X3s?PZ>!Cwc}D>vJ50`gYE1?75m^b$_ux7&_$Rb;$Pw+qdU2I%uZd6Mfvqa zugVP&zXLGvqKL4HLx_hJF@ud+n^YF)4o2TlmvRAVGf#^9z2}9WA;7Isj?zbU8ZEmPeVyj7D%fbMr#29;c_LhDMf>}(M^3l zVv-r{-8f|%gcV}q%T3;f0xa{Wi2jelwdy$M451KVtLZo+-@#Q}Bv z*)2SDDU51(MSzWY=1U#U;&)Qcr3J6*{2hlBL*;Zp-D=5%mkf2SA~X}HKX4Y)sEh1m zf2=oB&5Bp=j$O0#|EkUZeYRK3A=0)}v8y%Oc(Fl#eq?(I>HQ)v?5#2_ z9*Xs`Ivm%(E92A=N8HUSdtW+Z8|ySI%Y=DVVU?QIq(oHdnrW^|qHdadJaq(Ug5o$k zwtrlHp{|djc+mbu#5fyL^W9Iiw`B;U*E@h*r!Lj+<_SsV-gut6e7iBl69ISy&tkbB z<=UTV`9{g{9u1`n40?|>V60lUu(0h#cfV;k<8H*bJ$<2P5Vyv#`|J(3@V!I139A7R zSM(t`ctpz9eWS?MGG-1r{Qb)%wB2tt?l)({j%(4iDA^MDflVlK-=+m-fc$n((D)l$ zs9`RL;e4`2R&+xiDz{-JZr6SZCF6fdUr7^7w(kUw7(_}o?ytclrWrOZcR$Wum8^cC z&p16mePfQdoG56WP&w_Vl{yWlC!6Sr)c z_46UBFQeV=Cbe&KJs$lbz)K$t27Dp@o%X`-ezT*40XL?R9QnuJ)OTpJ^LcN!@~<27 z8sojOj(-z4i?8pfqIm0Eeg4XS9Fze7P`;v1Eg2Yf$-<3mG)lR4)#&g8V0Msl$QrDq*;)2g@b0t|4?@&(%dymH=Eq&Ex7qoJ^`E9xiS zew66cvj)#ilaYAFCF#suT|}LK(HvoU@zHBH>d*;X?8(iubp|2G2qm}MnBSJt#tc*Z zXpaUFd2^3tAwNY7@eIm-b%fB+y-gqw={X@j&% z5=2wx*eeqX&hyyj;H4s%WSTzra~tFg<(j5b;%z21OF%Ho#78q*atS)Ie19|EO8kuV zJl?JL&y2Y->)H+#<f$3XOjbm&g`RRNPx}`bN;HcNwSVER^bmp)GZjA76 zki^?I-MxH^d%hQw90=ImQ7cH{&P(wZE{A7*;+QKt7B7SHFjH{PV^+0* z#R<|&)a zCt2K*^c|BjBGE4(<_=cMBh?hLDnt$SaAkhPfb1VLu<%99JI~^kOaD0&+@F zKAh9uX6mVQi5f2COjPWXCi8Os)epto*^!|PF?_^N1Q~B?<%E|HT1J6~FgO7fcsw0& zh5>VYM#H=}$}Bti{SWtIjq0Px#WHeW3<8ryEf?#}L`788oF&u>Qy&dU=QopeiZw8q zf>Ob+vii5TO78c@^i$bSGaW=vh1yx20^)Qc-a9H(+K)t_ied4T+Z!^|$+voh zi*1^_OrI3^0cifoz(-ZB^GSJKjNS;1>Z5tX4^4*UdT0$MWAej7t4TA;9QwEV{pG-; zdh9xXs5D2vhaKG_FlrwtRq1vy6fDq^f#V;+7+&y)DE2Hba}zfjP|#C1X~qN2D0UF4 zFx%)B_~be&d<(#${Gd^LoMBILl3sTqL0@n|SUDAk&e zn|XKO8V27-+An5QfJpr=pBI8yU2*`bK_%cj;IgPFq#YG&Z?RS?r}AH{O2aQvK*}wc z;6o|Y(|aytnN%9y3){ytejdgkNJ|p-k7)Jf7$;0j%x-ZKHY8Jxw~G$Pf<&*R_ni8#;&dyl7QGoyPB3Z# zBky><0OWU44rC~UG{NR{d9cdN^?6k-H|xJY63M%Q#J)bD_?}J}kO1_e4(mU0Rux5i z$EbpqJ+RQSVDuwQ@r@WC{j;u=J;1ErD|epC+^y?;kd6p}6|pHF7SAvAyWsTqdoR>S zp9hp|kEO4Ho;RP{-ane&eJsZUlOX0_7eAeUbyME5l=_*kn#|udIdQ{ZqZA*XV=RlX z>Jc`W1Oy~oq1!WJNKUI=Eu#{t?|NNU<=&+${|V-b{9jryHq_5MXa^Pih>9CaAAV~J z`R834@482^UE|BjHZ?UXpHsOmcZsnn>K9sp7n?fa)Ah;7o-udN%zxd~cC8bbMq6d0 zMuf@XitI-uOmrS(%4A$liDYHs>LX@H-$=eUzIGhUZP7ILd=(s}D6KmUAl>odWDUXF zDorNtH$H)Cb3(mrwHjtq#MW`Pp6Rr>j8)DRx!NL9xiFChWL%Vh0Zgj{+rI}6#{O2t z0aflUpuc1V5cWp7X(|Js_4uk%p?>XlK;h%g95j`1*eTgs9V^w zFduqVnlmUXN1RYyoaXfc7Nx`Qe-{rC5;->OcGL*Ha|`1XMq!YEn;B@e^1;4~I@>j_X zL1ff&qpM#;y`W_+wePvSAr0>xOZRpwd|%A2RANwht$H8=yQgXDkw`RDc2Dce9?=X? z3NN7Vr^(gq6BX=c7{}$o>Ln&?mX*N^Hvu;bkfhIB_8%0$FI0`GN^C$>c%js8kPEsg z3^ck=oeKpG_Oh3cTibwfbD_mDCn^jgPW*k^LjSN6Ob)o&fnt|NeE#=|RB@Jh1B~Sj z!nIjEp(#PT*pt~vDreGr!sCpnUu*joVG2YWIrVY}X>l?)(>z`wLCYvF?b~L@nhKhl z7SjNW7Y>idw66GvQqcTqXc+0ij77sDbwu<_7L4&%N!DUJ zWf0RDBl4l{heQ&pqQk^lAtZh5jA$>>RmSmfKg7|D1W z9&$d2P`ae@e%`30)twdRrQ(wzcC(g~%Z(Lk%kQgbnyxhT5)FLTcxRxGr;#C?K~7d~ z_FjBrG$u_)SHTGs!VU3afr`p;BAX1A2ZyIA8_7v0?>D^62q*7^lt>W=P;!pbE=*c= z7B>N>(xR`=wIR0|bKOh3tIQLV6OZcNLt#}t zynYnoDNF&B;|V0NKMgJgi5@=y895CPFGzhK8nU6W3(92i(3xTS!6I1(^)8B(MMOnG zX`FTCCp$2vw&uj0RJ2ebh&-?s{@#d8d=j=DpS0>xYS6V%^Umkp31|8!Y5RB4x6Y4WY<#T+Ds- z=v&S~H~j_=&YVjMxUu12o8WW5i`6V>#+pc+`J+d1?be}NxuLts`V`?-{!uQ>e2dn; zWr9hLe%R8~kM2Uai~pzEM0vdokt?(6wt3PdoX3DS zsJYZ)VKHi%&{R<7kyeds$mBHtq9J_`)qCY9ir{y8CH*7B3e1`+9w`rph*7wZ`lv6F;nG2L4Ms)<6Q zD;KqehI9QG9Z-Ehsbg}I_PsX;4U1${zQgB1vJC~3eEp1jR)ctm?<9r;W$<|Vk-*{= z-lKy%eD|~w|0g;aO6ZwXZ70cx62~BsueY0;DN2w<0yW9wD&`12FXz#JvjANGpk_m& zrwc}7ezy3WjX@kx^$PV$nyhB&2B%IilWx=@s{z(UdPT4RpmHS3bHfsSD38xHAnAr{ z$FJE&&h55PJV@4VBsfzr;N?t&sq)ycT;R!VGxs-_X!>xCUC&H1SA&Vy-j>&fMB-71^*ej zlQG8jCnjUDJlOR7>_c@Ehk%iQ3=XOcwe6pp0G8_^r?vS+rISu79~bk~>}!C}G+U1H zcC0AWyk)x30PRaZ1rpF9i*rlLY~4F7!^h+HcsqU-f~DP68OwWSq*8W zxD_&J$<)rXlEM8$W`(wiaXQ;_LBhWMCJR}L_4=Bry?u81x+jcG-T2B`M~oGYQ6SS0 z+^|D})xgXtUsU&i2a1h=3K=@I{Dt$HFZ1Y=Bq;s4>_Oa2P#b?wB*I&m_APIE8lS)3h!2U zcs(D7$>nX~u)h7_?%?s#HXt&cXW-Gl;e5RoR2iM&83m=@rWkOL6|_*|h!8Sx(f_h; zEk6IT49A7;`?5eW#V-??oruzi;LEbuGpjD-%VeCs`dq?DkZQqy5rQs(iy3# zq7q!4*z9!wv}Ct)H`l--B_`0UHQ|A~8A_`IYkt5UwoRrf^0ARiHtVZ%OA`H2etKgo z#4Pkk-bSVgDuieo?I?FPeIXaV;@Cy220cMFKJLESiZAjBWz?l=1T&p^_mGaR_Y3^k z>YkFD)dOqSc@e`(#ELq&IDmlYhbb)pEq1bby}O3m!~}utflBS24|uR3RXYSvAIcTQYQaI) z_$2aaQDK02ev%?V!I&;C{LZ`h+C@ZBXGzs>m##*H(Q(6gaSX{RN+vvb%vhui6p+;< z)hME_7&UG%nZxMIG7Q;*f)f@)L`!>;01W)I!NZ1ShK^2*2OspY6&`41uzwVT4n(E> zX5TFiLNqDoFWE~B`VVns755R0{1O<*W%gvk42s=+Q^yQL!j;f=M$vBM;~|XzGP#V1 z`F#@KL8j+ZDRPX1@arGA%B3g!A$H@ZX1H|9s;|#oWvE67aUG0CFn0_z051}c(rs`z z4a$xI-_gXgcnOkzp%y-d;HzE+?*s8Sjw@@#m{bgJ=m|S21WlO;8piN{BZe!L+3mytVdFmz$jcoZ(!Mh zy(z>fjg_G!%Y^dr{X5Z5uCW7+vO7J&nny!dd0u*=L_wBVj3^1x(Qm4kUTJr3&Eo+{2F>YGQba`gEkW6c zL2T(2!SM@%KhSTwaAWs|)s)-=q=$gW+rrPUckV40PA4m#DBUg`;kP2KoUPpW+1b6} zcAvX|m&79L|EL!w|SA>y>#M`E;6tUe^7AM3&RgiF3?U(R&GB`v>x_7C8;7M4dU z>z0uVjfZRos67nn32o#M;dETOPPn)4x*u?^7^aR)o(~zxJv$6-`8B&;i+-dO^XSaL z@qK{sye#{MotNqjECUd~%qfvBuS@6?MBf)nw*sgvZNkZB_V#|8u8UU_uhv-yU}%IzN<^981!xE+M%gOVvNm^Uo$-(3A_ zIqoGkFKZ3w^E9_*Sp3rsSq--#yUok2M!$;{T*_NY^!&n3e8SBad|HV&(YzUPo1%(i z4%DYUjuCOq#vdV7qL`Ap%)e`yfz^i8=_6S7N0(zI{>;{@eaOLDSgI^UtXOzI@0s?Exf9rrDNLjF3=CE?rW zNTw1bS@ciXQ{C`r!CWuzrS9`BYFU~KRnjow%;2UxXcHyQUf^gI#+RkUlMEX??eVVr zphOJ3kn@iuXMR(Xo+ypTmbsEs@}Ir`BvD+4{VuP)c>7*7%_h`5QJ05Ht%tlWeQqgN z01D6DT+)SV$zZ`B2z&%5^IxIz=B^oqjYd_ zlj%UWK+l3Lq9z+>wbiO{0@_30k8v=MHXehDeChg)6YI7QMb$=B zOZt`s5s!${&(Y*+DtcPfmK*bTIDn^9TC^MxRpO(mpgJ}GX?%gtGC0b`>9uxa|NYu=f?EAs zQz{4kTEQm!VQNoe#jj$muXBMsk>10Y2oq!AYUp=#MnqxCi^@m7?NAcufD8?6r1>g& zJ9$ozs;NU@g*|~L#66IVP8MF^u&}jmfNpv83SgcxICOge(Kad3ByQCjxTQKYoXlBJL=n zIlRO>E*4Z(!O$k-F+GAcWrA@|af(4|+u~DE=0E%`n@kOxDILK8?(t-V6JQjIDp`On zheFjPyI#S*EMZV*1aFL!xXu%)Fpg14%A-*n@*x*oBgWj#BDS1diwM@2VTc?ihm^$S zu9(Sq6HjM+l`d`1QCY?>D6O2srnV@a22TyE~pJ2;@JWh^;ceCSJ@lW zn`yMf6jA~hC~%op*XuL&fhQfLop+2?6j7$KQz_s?+GJdoZ~m{mX-?6-VT~I(L?nuO!(CvM7teT&^58 zf;Xnt-V-gao)nCXsZ&=BO#f6r7Gw-)@qyO8FHT1qDR8oaUJgg|-01&lz6ds{jS{ z35`omcZf;j9?6^egK=3kC}c7<&$KB`Jv^3R4C}Y_ErouPv;$OsNybbj6rQ~LwC zfWWBWDI_~l2E>x1{&atb5f#A%n{Z8zW5X1^toq8vczYIN@p!L2ZjtEp1nT}W7MWDY zca@7kh*%Qi_6mt%EQulCh68DeG!b)@s5!4tOvHlhXbYjppJfL8wl*}wvt)I2(@upf z*^h-{IfPC^jWm9=Hd^-gBeX-E5LJ?=BacI1j`XK4d8SfGc3&&Le{SsX1g3*?<)8XP zeljuSyu63%JE84vd)o=xSTXy2jpO$$4MAO)O*_$zvDg`7dw}jQPwm0;zx&R7JMEIp z#_i5<3m?r~v2OM1*7;@SkmRl&^cqx8H5D+R%E7vTsFZ zhh7~#JIvB~N9;=lK-6W78dvwFz`b@LB1?bEr#v6a;_l-&bunm-O^rKBcI85}llmG$ z+tXc9R!=7=X6cQzHCa+r#t{4rB=rNB|A*j=mXp&LLc#Cb42kstx6n0~_m#BfgdnrRU=1FWmG|;+7jD@{qTwo!jj$_+?AC{dM{;#Lt^g z+GmQdDnh~Er=!!|k%Gz8&w+LdWrFzpOzeuDa73+dgs(hjecTxd>d;R_OMmrN-|o4T zG#LZdueKr*cddF@4Il64TO8jxkhGz37q(U$hY=g&f!m@2PPo`vokuk#@OW1`;IX(u zDoV&%+wLfdEOPF<;M=8>l2FsF&&#gOhR5_cLY^Y!bwfqV5sM4z;u=mLo4dXAK9Ai6 zC%)d%zIwwJ8A5+8R?n{yz&wfF-+ezBb$xQyLXHbDpvf8gf5F%<5FU161AI?xo(JK( ze-20JluZpSp9)m~Q)g@MEIN*5zQTNuxa<#=L5!xoQ1?smdp%`+QB-U^frYVntU)A8 zTVQQ^1L55s;GYk|pnBY=fJ9~=f5bnJRs~Y?+cr#(t+NlwC$_cp4~u5nAb62 z_^6!G@Rru?6}DQdo!6NsGY9ht%Z)>Fa^Xj3cVNnr>bqnpHYw2w({C?KLP`-25mL?O zupubo(iVQ+M+s@gn}@o#zc`zVG5l@azxkk0t9B24zt8g5tsHQ5xSxX;W7s;)$TRUb ztDYI}z4!fy(vX+;%XXL1gc|vBLKC#i#aaPW^&EqhGMTuF_5nD3?jIe!c@zIf=}F1QH3+6m1ju`=+C4SSBLpBoqNCq`&51LyZQHhO+s=ylWzM_zKIh!~ zz4upstR&s5y1MGA?&qmK%X;&)uZ=(0d#R>5v=ZDA94He7rHq}ckpnIyJ4N)30u4dl zq`|G_rQb=!XO!6{X^o$q8$h&RbZ?h?7I_t=Mr4@(7LQ}H+>G-}hcOg}ySEOUxhJ+B zNa&0pAa`+_40?Brkyq5m%fuvz7odGuFAGYETu9Gj1Jx3hDs1LPzX-9@xd^GODk+w0==lZ zy%xkL`p}R#?f%)$Qff>$z%h_bn_~5$TW3B1hnjgw?v&&{N6HYE3sFa^^_~+x*GU)B z@!m^P$hbQPqr(CCo{u-9A_qL`TWVu~Z{kGm#|j2GsYLPow!rLyn|_&;CL;1rTeGJj z+1$!#*`!^Kk%`KA0W*;Gn%Tb1aRq>%H)ZujR&#ua35G+pzz3TOqH(4)&l?K3%Z=tY z(#gROChe9f%Pn51P6|ZqxBI$F0YiY(St5t5VgpcR*MN-_V-G<4HAO zfA>m`Gt1r2-pCDd_>|Q4I$!T~Y?ZTe_4Cah%{DH{PC_m<+#Q$t*->FjPW4sJsg^>Z zbjRDfTFjvFHf_|KE`@^&!bkH{xg8u~F*8s(Gh&hOJ5>*Z_^cpv390(YsZb5TwZJ%) z3Mw;b5st!W|3>$`yB`*&nBdfj|Kg!2PW6KKLc;U^%WvC=`tYWVD-*cwT=!pm3Q z1oYMR4R*TMRqynYuAY#@_T&V=LLSD9>IcLo)I~rCH5s|}z(RU!Rc$TY_^pcaSUsyT z-Z^fQ$9&Og3k(iXVYT}ng~-wAPZuNT;ddB}T|GZzFWmlmc|_^SK)y>%&8?Ot?t?yy zfL6i>q{2>ccjr3Y)kyWYnd(O=)&f^Zf9dJ1q1Ew#fb=>rVt z?=d+X@ewW^F2jxFKtmT>r5CP|QGk-uXETm65PgCE z&4rz04i}>9g?rW6oBGWZ(%$q5!k^`nKWYj}h0N2I(S$V&hwHk>Qk8@ZCtb&lrciWrg(}6vUv->*^8* zlOUTSHdsV8(VsLDdz+%7%O9@^#!3T4=3}`R11r4?^`5nF_F=sTBVX3{nXcq0sPh?{ z^Xsdzh4-(TZrUwUf4Chy-|~-_V0gBxVR#S$V*uin!f3m_U-S}xmbsDi5$^upfEQQpuWHvzC88S_sl zha!GPy?sJ@!2*Gb=V;$AUm-WH7yKWOKvre+-1)2?y6tTqd&}LIjPCVnwt4B-tFl~b~ifW zl*=l^TgnwI*trzk4&R12>AkOK@%D>$E3<;bHUjvdXF&(?44?}%h*r*>505L0P2Ie| ze#ABv!u!$(a+IZ8m*A;!=D)JJ)bF@uZ?pIgcK^&1Vx8u+ds-+^mH8^#XWDYs=q&)0 z{5(LXqagk*M-+#P>Nii`@3jvrwxac$!OM0qXA5M2S=f9N+~qU)Z%MhUjIv76*?t(Z zi~^7s(RW~wD0aI`Y^KtLtSs&x!EY=wP$!o!mKN*wD0toyobZ@UvO)@l%h~r=)K?9w zHit62VIvud*W49t-O0B4-dKAauX{S2Xy1AeW&?%|+`K8Wbq~7X*No0&WL~!q>2X7` zUuG5YP0nN##&h`HiR$%h-JAMq*>xyMkkTqQ84gZ!2?eT^?8}!zxmS-8g8+_N3!%g* z1+o9Z+*`_mEV7=ncu%^U-Ehk+#g@oFq^OnKVfcy#Ai;*1pAcpiV-Ol!OT|Q(*Yi|@ zT=VE0QJh?OrU(mpr8a*(97*HOhBhsthz-*w*k7cJGJ}3&ojL}GIy8?RF)8O%Ny|IT z)uT3VS8+(t_`Gb}Y@brR1?;Q6xL~R~y?jfo`+TR=5f)ZNSh^5q78&`7m9-9k+_%k8 zgNU%8VMrnIvyFD#5l52mfppwSwrU+b@oYi$cO?u2D+Y67NMuqL?2Oq*{Pyi+*`SJU zNqH=Ckq~wR`J0J8st`A4;M8JbeS>`3INSX5o(^Hcx(!QTM}pSgG9PsHw+SvGF-C$E z+Jn*!Erp=-TTw#(*IpM(E^3a{3wJgl>}M`l%zQi~D7cKV+m~Tg{i^E98;@T9HpWy4 zD;dVMTjr`uZS+fLJ#WHb(~LOomvry$ImIuNQ8VZQDb5Wh$lM0nPHpe3veMp&&h;~5 zo?4U*-^%z^xMd_}xilyE3ev;wR2o)nU)*^kQ#MAMEb|~}dAz|$Gg^aedzj5#Spg=G z!!&Cj%56sOU>9rZz7y_FIc*J~QlFaS_(C4e@!h3j!}?S7zCBG+v&B?IMi(Q2?Vb=>kU#_#H93WSX zmaD>Kp-W9uCVf8_-5m2@f;Az$|K(n}Gq~v;;$`I`pE9=MQMsYqi9X!2?lM^(VPZ{I zC|3BX!J!q-rxh#M{^rHHj&m4MS_IlLVszH@(J0%}h+UCxY}4+J!uz;j3!20umN^Xo zwv}dg`I&CN+pW`zoF5-iv}p&~SygN0%bVc3Z{-Jp{Wi2z(kiRs4eXw3l0eTF>(3~i zM{&fKF|pe??>eO}C5hv@5Uixv<$AFq0ah}mpV%C14Y@A*r7#CC8 z3?)giJ}bM)_7mu+^BsSMt+Dk^q+f43)JBn`?Ct2p#zChUF9%V?QmukpI>sAn#&f?| z3({(|7T#TGm6KDB(u&AuvUQB5`SMQ9w{GdOi}R4%P8L*4>jClxvUvTtk3v#h&qyn4 zl4QrUmEpV@8gwsmw&IHuU(SXs|IhqthaVoir3Yk-+uM6rxz|M731aR zjkF$dChPdfZ)Vo8m0?+KLVEwpnws&xa2O53^L**(Aw;=9NE9*l&2&^*(#|=CHY(yN zXa+E^!V#TZ$u{|Pvg={F7TC~&q~B37sU96s=C$x2srf({AJ3mar!6Fa*_GR?r3`y( zA*iw-#)2aiI$++xLm_cJY4a@=OWyQV9NfEt!AyQ%Tm$S!Xc=L2R2yBOeV}X1(is=p z&xBQ10|p0s!=cd8J!bN~Sh&ejKJFi@HAlsHnkw*Yea|^Rxr1p*Ig^n95($y3npg#iS$>hFI^6ZqVloL7nrkQft!n(8S>fwtsW4}PF z7q;vB5mV^FD4B2w-<5tA==Pf;mKi9$LvzhcDU?8KTrN#?HrBj*2^j@l&jU6K@j{@| zk{zZ$-<6#u6Q$H*I-S2e*kpJ$f8D4C4J4;fKntQ+X&O;25;FB9hU+kghm+!hm3;jM z@68j~eOQ4-(r-r}n`bhj@@ucdc_)(9X$yX1PES@MiV(nZXjoBc`RhV>b~8iZGCAyV znVCa-LLoX+Ail+&H$cbR9R!X^tgz*i&n{veiyVS5ek!?iBuE<2U7JYfVNMK2iNn-d zD~GAFoHf)|A+-Dc65g4+D?_vdz$nmeiQM%>K9f*?A#07}3X>JS@_z8<@@s9#_k^O3 z@TL(@Wt>pc3|(;d0x8edUUPbJwz*lhXOrp{=S2_VYxt5z(zmr1v6G_A^*9}soowFE ze=sT;Jr2dMSMD?osnoALH>a#`tPlP6M#W+-8Y6(Jp@rU{*gU1)p{;7;QMl4f-CSi^ z2veJu)L^b@Z&E`s&o}GH%zRYz0~1hRHBlx?qedM%?c!s9)n#sL(R^B&Eaj{cq(i#s>z=3%VPP=I3IB7E+q#d|^A>2Whoj$MOA04c!}nxy z>-_<*+j9Ii1kgyk{TdSH(qO#(P9T8VeR%QU_2nh%vr&ZKRdG&ME41il^Pr7~4(1cw z!`61%E$Rg7uZ^H*oW`BSO~t`CF*uW3te4q%5!|J$S+?a&zuw)XhBKL;bCwrj(sC=1 zi?<%sH?W^tbVy}cb^S8b@%jGG`dFzf6?@z9h~*z~gRTOB?*8_V-r7u7Ib#N?$+fbq zYoq1x%h>)ONv|pWODtiiiFK|XOJ!qW`G$t$TqRDW!SPeFhC2I;5l`#h3hgM;4X*Z% z8~*u)VdGV23}O5Azo~9nQeR)eV?*mZz>?7yaxiuQNjEUHs3^HE;{|ED+L%g{ZA1CE ziZA7!BNVwYiVJ0XW4rRl$>Gl;M7qL!;L@0w(b8w$M~&5iD3jO10+k;gf9d2!vJ5Ikz;}pXB$jGrManhR@d*^h1SXX2Gn)M&h z*o4v<#CaTwWHZWXemS!41be@SPO*-r7P}(MES9(dPW#o%%fE8VE$k~l@Yh3l_-1aqn ztm(Vwhis?I)2%H5mFodQMAj~BunOS+ix9W zYrMlukx}twu2x>&MNcEKXlFXafuiX}H>jWb(@k~yPUdH^|DbKCfB|E6WO#^5$aWsj z+jBVee;CKg?WsuGV1m`2j#!N{{1~s6vqu=#ZTjZNN>+(hREA}Ojl=iJnovS+Plh~u z=Su%NDY@%5DQwp{^v*EFKrlMEr1BeUnXUNdAeITt`(BAeKN8B+CpDcFeaC3|D^!A9 zznvlLj-rvH5@tDA?W`iMV|<$tZlJ%o{Nh(!akCsGJI(&RB+xs`NpVI&(sV;ThRX90?tZzrY(X}UM_Dwmx1ztA zcA1CqAypp(IehH8U!64*yl$uj$+{hS^X+=#^}R&J&637qTzvNU(iQeesh@j2;(cQ3 zcnFEwTGK`FwvSY=e%UlNIrjW;E>m|~uzU8pgZxgv>JAL@aqm9h@fM|XCJ1=L>vJ;e zeII^fUfLvkX5siJyzvoLO(Q(cBz6STdRtizkD*y^*Y1?7x~PTSn0@!o zb|o&|SyVlt&lxjD9WP^d6-vI5Y`Aedh_8)PnlCQ>Uam4!q0gUcra;q#9(MQ zrNJaVtqiL$8HPqdC3l@e?H6BS$wa%}jEtW7O7Jt+Vaz;e?qQ?Q>W&!#*e+cBS1K4# zvbj0iq!pSfi$1TJ2~U1e(U6H77w+Ko?jSvnbUiqD%Ye*(1rkV3DZ>S(=PwX=myr`76kvHFn_;X0IXq-Wm0w416pz&X~; zk{`-%F4xOenrC8D!daIEKLDXz5 zjd1zI&&Jy;TV=)nVfH_lyKU+SQ#w1m)V5h!+mX*GKh(9J5O_)rQE91$ohdu7P z&SwDix@3+b|5mt~fR??Yniid1FR(RFM#g&l%hg7OKUp5o!eea5)(jA3k|$~V<6siS z%KHWss_4uFF>h41MxJ(@w0k3?Z2DSEqhtrJ+DK?vFgKq(O>^-AnG$|94hnHCROu3G z3Lcftno>nWMnfvrFva8v!||+(TFN0WBeD2-`S_0cf1_V~c;IVDi{456nc0ZUw2)j{ zxiHz6b(7ef9j!%)(D$2 zblm~>B4G7)?&1eA9S$VcoKWl_KQCi{!7vj&m=US6eG_$|e7eeCaXaA`A8@e{1|!oT z8#h;Yhz)eD6?z+UJ=yh(?2aUX<&>SPqNCO4YU*+$1W%4HPTP)pl>2w~!Sf!LvaB`Y zHkqgVBUVy{2Sp(g#UKqG);GLWJ*_*CyKdf5OzHSTQ=7)%`lFm~<=A0b<%hcJj+491 z)fUj$Sl(MfFyB7J<{K{3Z6TrFL${y{>Bo1W9VoV?*V9VgXJ(kH?h_cBs~I=F8z^T6bf|Thg=x z=Zn0CMp!{X9iuxUTl{bKEr){90yf@Qu~-_3C5wAkwCS&e{|+BOz%>nU`bN)KxKBMQ zQ?u(4wbN{&8fG>RoExG3?xpyY_V;KVexVMCe{4SwIpl$}<#En@a2kewaBzz4bw}`R zWmkmA-lTh^#CPHEdzw#fl|O>)SJWGMlul|QT|HzJ9UE%(*zC&S;+FZ^yB5`yWSMI@ zRBQ^t&2R)H3TnZXyjGvdwg&UKMf zJ7tIRD22ukh}%i)_YXI@y`&9APTz$+hQ~++{O7?SNk$+mHI-Q$#3X;4K`Zgl!0UhO~pp0H@G_=}ji zbvB*w1F_CE_6OQfwEnG?(xwO9Th*kW)2@KJq1f=bO(lj_?9jX##y@*}i7do|}tEdOf|>!A$T%nIh{pxTbIe zN~B`xZcaY_q7&-6LgpbMekYoRl$7~t$8dfM4d*4|ma=`Xvb(h{eRganWEhRpzfv%D z(>34B3~V0G7aDnj?0QhzS%a)~;6d%2|NH%?<}SF2-9K^cQ*?2pT zF_Favd9h_QaC){2C1`eKf5tC9{-Q6w8>WpINY&E)n=zViub3d!w83K#+xmT&G3YSy3J@=!jSVjl%DUimLC^S z{2sd=ozbk_&g?u=oz&HJl?jqy3)mSV+H$`ii~^%Phqx4q+zihs}KOlq%Mcl5WVAa((U_B82SZ=9DHZ(L$CJB{^k2|gumh=nJ zLB;vo-suQg1>yosN-OHuiJ8yBbIQTBL2vY7t##f6`}z#>3Vm?~@O`PO7q? zOyYm!;4KpVu8}siLmF~iouI~|liIrOCSqE%z%w#o+kKT<>I4!)lj3`0!m(6I?G1yK z^ycJDjp?eNze5z%0C7sg&n|6~3f z=!9chIp2{?`Nht#V`1~2zipGXS+|3QW&Sfpn4M1V|Hnc4|Mb?aGy<*D-H&&BNzDLc z1yHAU5LM1WPTl=Ucptp()(hWm&zfT5=t2{ z5RoUFknDm)M7d3SPy6HE;d9HuM4$+dG(qAM(BKOJqcHmuK#u9&C$Bo6uDUxb9eW%; z9(wik5-~7PmQs|y2sszv@wR$j;36JtM`J>Q0{eCa@^7sef9Up{(tgYYim@ZDtARFE z->5$edLM7jQ+?b{9JtXVx4vKCiMzb*^V-n^qRK#g`S20`{PABu!hHBF$}Dmdn+9b) z#w}Q61CTnU1Xgc2iPd}^U(ZP$e@uynED{w7>BsHe-L|^~X0R5zPiiEJG%ZYOLdQ)9 zIW|o4N;fLg^iKyUQ5pjypA`0Wcs$8J-z0WW>9`tRU#@keZ@3P2h{Nav-c5SFvCdS! zo>ZFNQr^t#>byN=CRTPg7QZKUe$KkGBZ$^4I#VUO65<7&_m#}^@v(UU4-dD%`>q!P zia1hqQYX)PyR_%#n(yQtLXr#Xai!crwo~!Lp0%Q&(Q4(gM-yrJllfuQv*@wyvirP$ z`)ji~mS+33d#}mul}d}(t>iZQ)oSeHeepxi?fy1op;D_g#p_u@NBoh4>6^*nsG3hx$LQ_20HjgaV=(dK6ABZg5QpsP&u}4^(!XNR-?1I9E1G zoF6#~47Vciyof*0WerQ$R~LMn!|+{F#niVO_{OUduplOcYdnWpSjYD5#;_tRLf|?8 zQdiKIcMDEMCUZk-vig`{5O6p-yV!ZXdfe{*PzTqZ`O#cC64j}}>-l`2e!Fs7S$vlK z`aYtttobxd^dg=pdZR(f>v1c5dp?Toc{9Y3A!MVdZimA^nnA zRjfC*dh>bny4eQK{I>l>+v&x*KGd0d6KT=(I@4O2PwASw-~ARf>;HlV!Tz@Oi}wdS zE|=metF||{=XDrwd{uJ5?nFB0xOK_5=XTs>AGvxLn18#}e;bK!i&&_Odf*oAzO@Yv z{8{&SAKfIqGO@!tw2)S|)?+1JdtR04s)x0P<-t$3y1J$*m(FJ$-)T>Ifcou;eTv6* zdUf0aKnpYK@B{2JsZA4YUb4=%ox}d9nbNCs|9_p)zcv6myl*!ipMAAd%JvV-IGXHc$GUWrVi~)LwI=PR64-u20%bJ|{tSKk z@Am1Mg>k`A zn+?x@FXXn6+o3yl6$S*O-jJ-%a!cUa6C||8ECyk0nb$lDK{yp!ueZc!a5s|jS!s4w z)JQy)c0If(Nr|5EbgF2?^rh3(j+8F)7P6TXU6b}Yq zqw-K4?WhF%dX++IQPdh#5Sm|;Q3TTc>i-3h!Cj+=NRS@?fo}gD#Q(abhtYVW-Cc!6 z!OC3o^7imXsH`1~jHli(>#S5hx1Tn@Y7Y$?wG-=+nQ|Yn(;e_mf6Yn*BaAVuT^JqEC;ob z?8PBmiSQ0OC7Px7xq1f={JoL(N8(2rSCj(eJf*zR^KY#3Yd4Fonu(CPs*yzhD}evs z3kM3^8u}-w*BV#JM!~q9 zQT*>w?q37Y&;hGrg&TIltoa(px_$n07-Jr=YHIJo?O!q`TVq{?OhfvftG2AyGS~+* zqY)ewy~$SdMv&=ZV%}8gWJCXdll(gaeSUTYX_KfIamQ+n>wtfSM2LV*NqVgKegH8+ z&DGhZ^Wq?W358Z4AB*Vivh&?_Y`Mf+tb+SePaoKo(E31SrFUQt$>TsQy*VjvS_(V$ zbte{FUj9H;aAscsXa%@6zJX~;d6~sR!>d>3|7p3a5~8mDj#+L0)$h`&$excpqixE4 z%yLBy=H-^_tuStd2*DBY_UCXD6ba`6x5ILS0Oje_rLm{H&Soy-Ge-~u!Bx!0{l%q2 z2QqzRRh>9#mYj1!Z17-)|EF!2kbqSa)oWP#9m|@l=G2a@^LsSo6n+z2e{P;HNrb1X zS5ldB9c7Sx10x}B39+!!4b0j7N}SG5b5Nj=y`+)|4cz$p>Q}Qo+_NXS(&;QTju5Ry zJKx@)Qbq&sa~Vj3e^ML_8AV2?(@icdr-M)${DVpB@ALi&4b%8(^TbZ{L0!bZ2}I2}^=ZXbtDqf$<%Gf{aR zXEKTBee~fS2q@iAIobfyI@%WIJgIlQV&?YDUGNCuF_#f})k1w2kyz{%+R05@7|O>c zP5OIMT{J{=ZJ$pCD`vXBQ6VgfL`h8j{n6huyhrTfekggl*lvF{VlNA=PF{>v+fS?O zT8(k4!I?9}N&a0Bz8oFpMtOStyD=~Zui}8mhZ?HZ1lA!WcPd%nb1#09^gVdv!?_O> zc}Q2|BJH^dYhg8QuA&^I!w9Mm-q%hbdF|!TpS7)@WpyTO4rsMz z*!$>=ce7e$*T%$}PYTS+{_mOZkGDC&19eV-rI;IKOqP-BbB_Ro@t=>%uA?I2%Lyld z+CFvh>w|WFb|G;PBuA6O1w%h$Q4b_F*2yz7Hdn4p(JOb4!4O>T1Z0-)R(jJ4ELu2Q zZ30xx1KenT3{wUFy{)$LMYftWSx=d3s_ORRH-T-bylr$FS<2xaZ9OfoL*4!lx35xw zeAKwVPtZm_XGkS^ykn7JH9J%~_oTt}+G4L9d$wKmSRAi^m2=tjw2_JY3?*sbdI$V@ zk(qO>9Opv@UH}e@YDP5kseo$Va2X#9T@JeKSPFxj4VGge(qA6*CcAVSF*Qpx%~e#k z7#x2uU)Kfx*5xuccOt>9&E@9C$K-MV)&I3IXn=vwd%oFOE%te=&!T5}wjbQ3xB#Wh z$k>+f7GP~WAgvJqS64Ii>G!Uf!U@26^nLM6sb;a@8NVmyEs)q?0dS94;_=h{j60eY ziY3#W8ZRldEl3ag{`Wvl2#{CDC<#B@?!cjG;>Pc4HMz={ujp^>sj#U9v3a_CW~g?# zKYy75n8kRdS#b{m&{0oExqHjXYF>uK^N+p%vga1+9}qB+-}?p(!jnYxW-~L3tP`je zTx+USE6V^GN-EAGRp^NoXe&-0t)7lFsn0oNQXBe=nrX>(P?Nk^1^vHfmp=o1hFs0Z zUiEKB)Rn_px(0-IDj=WmQEhFKja@Pwzu++}y;Am;v?P+EA4g8_`r${{7BXfAgqH?{ z^-0o_5d3A9upZ_KZQc^*G_Zat8JZyN=*teGX z8@*GUZh63z+B{*+=s{B+d(r>;rM!7Ay>8EF+N5&4YGS@H|=*+1@z zf>`u`_pZH%0#b4O?6-+$v0o60kyXjnP7;^BA^d66mMV*pTYm=-ylMP^!Un7LZ}7sBSH zqR&es_?)$ypiYMvfl5**lZ7Jj|8`40e4BU3BY~8>?wUkI!zKwJ&jn}7_OymEedOc& z9+v4(vYmx$Tq^!&PD;&cm?>c8Lmz947N499-6F!Hyp@qy8`Y0&%quR3%dom`yEjGW zLY%!>+PD#`jz#fw5@L$_6a5#2yGZ8TyluLNn>dv3M#Xe2M;-9e=(cK^1$yEC?gfy( zH*e(F7gi9x%0b0qCDb2BqiuAyG!UkAQ~djyjaQFTI=?h3b<;3<)ICHY7?}k3;LxAX zJ;SnQX@V}r6fi8Fc{{t}a~Ty4Pm7Xr6XeOF#ByMfQ;sU^O-Zb=m8Vt(0qX@*2bdr=`bPOD z^)D%by5OcH&l2Aeb0`+*Ea)8A;b<1vxWr$j^lY^~p7AEI!!Hs?QYChZyeP)d+QQh* z&{5V*?4YWXO8qQ6Tb&FHi#6vnD+yb_MI~)Bybq|mJOQ?4y$EZFuCQ_fCZ2kJu?AN?P-a!yg;qFk?Xfrl(PRQ$rZEK>0+>P1;(K&>X|vNO zs?>!?#48*>YT=GEoQ_zh*16h=G`uPRiKP+3>C=SE*`a&B>$#bqIC61^_AgoDCPx8R z7PDEd{cA-2toM2ky>x83k1d1wX3O|CmTa1&YcAmBsg8kir_!Pm=d$LI&g#T-n}O!X z29Q|w%~bO_rx_?(Oka*mig$F>G>(CT6$YZw9LxwFrk_xcq zrz!hGYOx65z!HdL`XvYw)QQJWrPmBFh0Nw{OxtRtG^)S<_U5h%{H;nYiAv|zm>2Q` zIjaeJBncRIo~^RVq)Sal1Xf|PHZf*__oJ5pv(BP8GD|pBd=j5 zDh;(j`m5zq2JNIj9$ssG)Su*$1_b={&2EDg&v<%fWtK7Fp=3!rrg zo2dPzA#-;0pt}Fj(0r3+l`%tqHNBU4ao=l@U1~Cd!`mz`>vM6o0#0!mXC0ZaMZe~3 z+A|bO=92yQdBkVT`z!(T0B#S%#I0FxLhjN*1Klyy& zg*L>*pY@yj7CBlZUeozRZDTy3wMnl~3qEa8MFd$!pPgPpq*ABfd;l#fV$n90S&ikaQPeq!gu$Iw$2?;P6}1G$v}^Z?W5 z?4rh}>IQ#XQ~zRk+2~Xv%5)stGtm%FsY?4y9oa@q3W)Ot_W1J%l9L!!h#w z*cG;k>Zm8325};85H(TnhShr8NZIy^<0>Php znjGH8a#TDgN^OaepC5Q-D%(tX8_NIBwmT*8k$}-|o4YO3z|oF;hbc>4sL1ijNST^ z&M=9#3aW`F*+R~PW}P&r2I58&{QGpkaX5zpA#drF6j((Pw29M)dyY;^<1qx{+MwyT zD>2I37-ZN~f1Uf4>$8-$_8n3n7=Z*_0Ta+M8;?Sg^|7;r3Ob?Nv5R65{>M6}fdZ|` zZW;NpqTTjme;w&2T|b#If{@q@2S{5JTPW(z9Hw85qVlpRC)|<_Zlzhdcc}iX9l_hb zogeT?1N4j*!8aGmUE(^-pkmc}n(61Ac+wSJ#f>r4gq0ifLC{W8hDQ2uy=WAlj){Et zl&zwmxy#cG37myxKyV>PRMqdWn0v?kz>)h^FQly!JW@3}Pg+f4 z6qh^`w#qUaoP~IfN~^-8qmkPf(cosRIZteT%Tiv`5IDOpn^g z*nH+`QyyQmKg>;wtjjztQ7tVWINyoIczGJ`dOSxJOm505+s)YoX}dd;pyg@Ye1A7# ztcYc=8QUEz%@GGGN0aGWl#0$?K~Vi_DW}N&h#_t+<>9by0OFn_oUW8A8P6+Dwb7a( z;$+;NWKjuYC9@5w&%e^ILy(s1I7FhXpfxxf;;>5ZNN8+qvDRzRhfP1hHtg6_J~of? z?8(B7@0vk@6?g>%W1k)_$oe;~J|fz}3%pNE^<@ET1Fwc7-j3$38jg1Z9N)IJHy0HU zDx``Sv;3&vPzz-R%MEKcSYx>>!|F~$m^}1(r@9kJQ&O&!Oj}ZAH&p@j^&;ud&t7$! zz1mgHR*aiYbQsSbRE_Z3=V@bmmq@?G2-3y&dRh`D!F27} z)1)@Rr+y+1)sQcj63P@ADZmpT_J@A4;2U!fG@0%Trn7G6CWHQ+DqN;Anu_kaJ+KLG zxwdi|_E@f!jJU)+bH2r2rF6p(TjqMFr=g{S4W}wjRm!NMiI^AHlqb_rn~P=vUK;D6 zfC;)C2w;22y2bA&1N9+4g#L9N{|DdJL0-K_5%0U@QlUoi+6;HZrAKjW*+e_an zJ|D(O2XJG9{?s?5pGYFG0_K$0vZ=`RlR2gkB?tCi-65NW?I zzo&Sm1Lnj0Fh)%jm<{DY#t5i(sC%T&w}!gI?(Bq&nO|kYEMx9i?8giwsf+U)EcP56 ztO)n}Kg|-SQ~-nJ!M)Sh(XEP6wg7#-;mZe$R?^9V&8BsI=?R1HS2E9Rdf*jn1#)qh zrYR?G;}#x8w#Q_ci#=0K_(JGRJH??LzEK~6lwa9v%HHJ&@lp>C!h7CI}};w3!2&02X_+-rVhNlbiN$&$Ln5g~_|h;NQ~ERYUIYSK8>tEkW_TEpNg%SH_9b{MB} z&EY716}0-7Arj$$){w7p$2RezjgGP5-WDca@Xsy%;6NwfKEEwHXBmDvmu?2R7t6gsV0 zE(2@98Zte5Elch|Qufs+adMVU4qCXOkOZ`aV?@WS`I}&+NEJ=k}UAs}lLXrmY#SzTPfIJa6JRn!LzNJ5q%rG`#&`|as zLZ_wjpqgk;IRvzU0^0b`s=rhlz-sC5d<)K3;l!+9n+?~3CA6&E0daL(hooF#wE4yM zh()@zRrySPF$dn;bqlOACHd(|Pt@?{we_j`GXsI(j}W2@_Ocnoqg+;;glO^8lGN5;f4dn*dB9=fWcnyCHCKg7+2x;yb(?(w{H~w2 z#lQX;Em#$yJT9rg33%v!q7-cm)Zg33nlfTZzR%0Lt7^TQ2@v>dkE$ve!|6;mzfzZ% z>jAtV6ol=z=GREwlq9aL73G6NANo|6SM(J!HF4ofDhNX5so@p_#Xq&kG7+6Kbw*5i z+nTH36eTRjxs~T9dj}e=+V)KD*=gfW68r z@v6YsGL?LaO%?2FOS7L;ywoaJ^cGx=r63s0iz6e{ZgrGle=ci{Q0_2?!j; zj0ZK@5V1`i2nu}(*APWr{|~7mLynGu9YbrnSm~J@)gP8aHir;8o?|C3S z#>!yo8171ykifSqs?_fqERybAm!UKs7&i^_gudE@8&8rpRzYJ$E;6gR+&0Fz9`56i zGQM342uaBhYE0$y)TXn$etw;&Np-l8s(Q)XhbO-|%j(%5-BM-BQtwDGcaE;;&d+L?hOjLVN&qZ?;+db~c)*8N)*CG1AqHQ`2o#E5tlIz1+$_j{UOkQ5Mc?h=Ht}0>| z0_3H?nw&#fu{}DYp`sg}VqewwJ}J#uc4pDg7ScD+$B*Hmqh3nx8-VlJUJ`}BA%y@o z%#~#7GdbSkrP}t{N~!Jb%yp@kPN5nt3CVZ*e;7Iyb_-?=#E(f6$fN4V-`&)7S+8Ey|1ex8~r z8K!~EJE=FSgQ5N%W5)2iB%l;;XBa!)i|Q9sZCR;vHZesNvtu!pN`#IP@qI`^BU!Q9 zuCEA0n0_)`{J;nY{|wfqU)bj<28ku`%J!=-4&h90+RxQyhkRY5jo9O1_Q`Br+;1cq z-Zo~5NN!mzabi9b0Gm1JO`E2-TSW~*^8>8<1boYH(mje(`maWEm-Gt{boZ`Ek<0}K zaw`ijrFXG?YMTu-+?CcaFm+H8gZY-RRzX;gp-kV*T%PYff9yD6OoWHc@aig8NuBh&UIDApP=Mw2iDH%c*lB|+@1MXT z5!}_Xs8|W_c0aL0+-KfP;=U9-!ZCGsc1$_~^yhroN58^PZeJw9Q~Vni$~9JQeW|#S zEnE1fz}@T_yNrx~-)L%0)5!1Pwb4Y?$@AKa`Pw zn8JrO{BrrZi+?^^e_{B@%wDZhUeIEHRfc6(JNO$(?G2O=8zc4QGJD^dya;1A6# zT|CAPkRLZ=O>uP5PMWMG0s)yuAi9KNq8sD113AQ8rK;%x!Z*Ol-NP1bk72%IuP9QN z9uCzcFDb%~qFJ^q+bxv}1An*BekVfSMHNjxN>`})eBlE~9S`Pod6Q0u?sy4otSq#+ z-(*n#rB&DTw3zyPlYPyM^d$-?n0F#XNzAy=5WO^ zTUHoKJKm=_%>G$rFn-;Wnt{=cBFy&{_Ts%V1l^Df#$}damV=jv7@2n0C8xefUXp3V zJJmbzJW|+=uYXn^WFk43ZDG=NN}lRN#kig<0zt7s4Qx@5*sD1nd6g2rpqSCx`E2b~fg;(1Fk{ zgug;@m%pPc{kkbpV>6bhq9@*E?$JMkI}c?g&YKs!#_A{zbroJoB#tr8@DYKx<*}1? z8d#SEO`H6E8Zu$t-T*DbJLznIvmhB%nPC#u8th+?TbYPMdNFCJCqVf(99pskeXXCJ zwKsL=o+`aiR~|n6X{mOgz#DRkV>Tm}a$U3XnUhzzN0SK*UlM<#Oc&z4mWOkYk{`Z4 z@Nk>KxgZN#hkdJ~VMs_pr;u!8mJK{^^u=pIBw6pSaa>+--)Q$d%{AY|a!4z|xoeT; z5b1^n)rJFI=`U+g0x;%?yBB_YEb*AVyTp>fOg0BAQ_Qn=HM8?AejE*$Wpbv@b=mm_ z0pg%khM|aCCr*|Bi($wWMU0@PFVMjN&1iqEs>O)NqtN0zX0t)GmMTAvQGHzivqf!f zggN?Jv_M5MbJy1QZM9y+BPq@|G>8tLxt?(XgwhVG8b zKKJZ>@B9C}{Y<)tuw{&G!H$V zTmF>%E+i8PIuf7c6EwEZe8{mdaN3ontKSR*wy1Jq;HINIi5tXlK@Tg|Na8puHej#2 zad8!XZ2#R@tN$r30pU-4s)J^DkP3hSowep6T=mF`LK$s^vhH8kEe;rdE0&x{?0={0 z^%o6~A@iFT5kWjzI0%qv$81esb(ljqzAV!_GRRpA(#y8uC-#2 zyi!*?KT2BSS;Fl@1BQH0?1|?{r#)x%?qiYzim_x|u)Eevp6yr90Bx}Wk%nPB+Mpe8 z|0a8QTt*(dX7HJ+y!Al*>eZBE(viz6K0~8t8&Sa(Tyo}@BLg?$6EXdN@V461H!_?# z*4Zx+0kki?=lWuR zWJq6nry>_3@I(JzJkt@j@~{6!K%@7Qe6z!zbhF1z@$7ra5H~>nTVjL&SRp611Wg^X zV=$$r1NKnj$Y#*fO8@n{LZ(AGMO6B$EKp|m2rjwSEh^K-ga1%m&e_^yeSK!OXB!tP z4>fMqpec%)9D@iI&_oqyLoxCmCM*WpdC_IfzQy?GTMM%(m$?9&KRB@uFf1+UP2WJU zn9xTB#x-xBXckL(rNIok#58&__{#wc;gEZq1TsDxGUr-{`}mLJB<`ao$G5-5PC;}d zD~9A-?2Vl&(VCE4co6*s=%r3n#kty}u6TjmO6I1wN>Dyw20t&gKr5ly!4N*VuCGxn z2FVNseGNG>rwG5sol(-{<4f-Q8m7l8a5?UiXXb5*w9}cE-I??|g&q+l-~s1tattem zHu~5rj~J`h6}ES>=ld6S7WsK2f^a2LS=ShDTDs&O3i6#w!bkHIwr}Od79RTxEMpJV zWtP#A-$+)>9V}655WhLG;*g+=Vw7je`zGMx<2=N7D|#yu7gk>ko3+#$0pQ8qXt-_-Kq!#dC_j^P(JZw)57has3mB3KJB+K4$p{ ze|`d1wWhI+kZ-jyfWC4L4yIng6CKuZT(g@gEO9s2Hf@q)|HQz+Fahl)TbH)R1o3*o zM|!`E!rLv&7uXTd4nQBS%wi!`{7wD^>I}Nv5EW*~6!$^s*k#eoLN9k9yI@I zGr!_a>yYwX9@rR_i%i0lKH|%-bQ_mc6v#=0l$^_RpTkC2|9xa^emv;sDL?aL&iZC17}73^ean!p^#LdM)o!L zAvZ1BjQ@NLt7Hy0UgennNXo@bapEI42Vg-n4k@d8n#<(@HF-U-^JpFSnQ-|^MI zWObOV%{$tymXn4XIB*WaF)8kbg~(SxcbJJrUK}hJ+Yb{9J-3rHF+A#Vkm59rW1>w@ z&yXJ_4(WIYuIr4U+&>OAJD0k))-xhqITUS3JC$^Ai-&twtgWc5y}E2izoI7@#i3-? zBz~Jm&=~&vGTp`;o}gx>5~7vw>2cQcP%WOes;YrI)LQbvrn<_Mmq&qGrOaFigI*EX zF0L0>{B9Rl7yWr|_9Lt?J+$WWoMUHP!VbzJpxu??Y=ecExIaxHN~bt~RVI*GiFUx_ z2=rbwHCyK`u}(%%n*z{flwfRpz-K~?i*(N7oW0O{NBsUTzBNt+qc=T#BaN#9W>}}a z%m7K-orov=>~#nWo&hW^3r!3eP@9`u&A)4;wl25|_H`yJ|HE!XIqm=<)B^_;_U0p( ze|qC<01w?#!Z>s?RLf?5U|M>I30jwo&+vT`>$B!nfe3?hBG6lv6 zGx__}tJ-2P4m_ckdn501@P&B(64Zw*-JL!6PUnyz!fHLc&j1HA()CYCqA71Ocr5xLPz znfFMQ3hm%qVlRQ0o{9~byHf$(jO%qFY0i$A^0n4fp9`G!7+akCzb%m-E|Ge_0+pb2#=!@h}HT=z^ui~n?Jnse@zhM3*r{HKqN z?Ne8R=qWq|cqO_@Amv4mx*TO?I~~&mAt4Od{EAZ5e-5@%ufMEKH<8HUuMjeurmGV* zV#LSTIJ%p-d0^@qr^waO_D2adopUw0`O{g(^_NY(Mb6}Ma!e_G2u$al!9Z~Ze-9H# z|6e_j=)$XxrIK#a$)n3$fKubcHanRkK30FFPu1A5US<->pgrxf6@gI#8SVMNNqTPK z@84R0%*;m(+`uU5|I%xUUk-E&-9k&Xj+EBhA(`u~#O?vH{d9&On%S-Q-X&8uH(COf zE7M(yzZ%#g8kUsty*Xtt5490F^WN1?yvR(8=MFikoZ~m;9#suD-vE<%se5T)wGjS& zYpRj@zMw_w=&g}#VA-8E)^G>&L}8)&AH##RGMgFzUhi= zkJsl1bTc0LNd4p>v6+AX*oO~VPd#>p266Bx2{>Dw2sq0@?OkVOI!zA1nOhs4NEcKb zochnC3V7P()-PCD|l|vBso(c=<1Tj%8ut=&}xdrB|MN$(m&)L8>EX zz{&2ST8=myM~;B=9OV8Z4ZIPH&4no)XF;qq!J6$_W;7PMZ2Re){`>;w0jc~T)fB1) z&f~hj-hs@<`tbGX6>uw0yHC_F2bp=k*LUrI+b`OlFl`Ph?-&bqIA7f!XA3%#_}}U# z@;To>_Ta*~cA{mC^?K64tHhW71d=NaOB->$Q@i`)o3?ap`X3i~;<^>}r3Hx=WjJ`t zA|3O@JDyqq%>2#!)+Il$;9vjYV)L z0&{jvcbZg*U?4KlDK=J0KS9|*U0razcq*BDCDz^b4>T3G@4w{>05diPaq`Kqk=sR< znLL+2EW_CfmN^{EQO8??)_L@>P39JX1|wdK_~+_-LG*zxp??f^&IV{~nife!R5{Q4 zxq#q|aLRB4E`kr~M7z-*l1e=66`2eM8p`U-tW=G23+AR(?d8m~FGnQ;14TO{t- z5_3A0Lf|{kT#A-SlHh)QIiv8!zw|7sEdjG2qv``ED|bX zRq~?P)-@pdWx|wy-!K-9SqPA|`S;plIrx@NFV9Ia2+$NV`K1&xc<1F3bl2TFLzJvJ zHV4*(95LbZd@n?3m(BF^9CJCW86Os%E(jP~=2Zr-`oba2l3^8}ditl{#qEeB`wHY{ zsAjG6$scWgxJxf?n* z-;1)f;(RNn>}N=aLD-){;d5QYq^%t31darEBOH4|xn-)=K~Soz$1sMrCxQ-7Ria583m0 zg7v2(%x{+~GP1hMA$f=Pw4Gm)8!eyKzjqmZ|BA2e-!jfTUT@YWTVe*-NAtEI5G&d$ z#xw3`gv0A5;kOWOb(8mlT^sa=^|QbosASg-{|7UdKTj(LRn>eF@{H%9{(A35qOb#O z^2wntX2G5eVZkq+A)G}1GOVJ-mDVrWz#<kOe7YgbY(I=165xoo>a zK6rVvAtdr7>K`zz@XkwZ4((;XmeS1HLObfGRJ^3ML&j(^jpdd5e1sV_q*pABV@N7t zHJ_b8YQuj^b9vERwq>rpqx_IA&gW0DI>mYa4j(x?(_2@~)$g0R!aT z@vr}(FKL!pre6&1uGMy|yYL)#c31pc{-QjZrqxybgCUCiG0JLwTDKYY;N}y33bjp= zo_Nu`tPJ%pP$A~?C{!plxUk2;@VVc`q+Y1dUyuuS0l}v->{b!2av82nnzo-iYjY_! zbRch(MfD;&?~bjWCm4Vk^{3#CYMoaQx1rmeaH!5Oxf$aWsx3uxeFRn2cII(zieq2P ze%B94CIf0DNBvmltppbrO20RVVT9*+XzJ8eQYrJ@WB$7{v2Dwi)Sa8THr>u5HWB>N zv_w4wI7|;$rGEPnP?%D$nbOhzcYk*_!l}xV#Yzblqb)eR!Ean^9ZUleVp9Yc26Qg! z^broI!!RVXW;5!CyLmmc@$o#qT(94CB>3#uy{0>zUDRCPtf~b3lA*m!F!sdgNXX!q zg)Y3_cF?K0@;}u;&Cp*3JudnPpemO(hKOLsJQ?s_5syXSm@hy-3#PfM8jNnzMR?as z$oUu;K-aE)_Qd>KOaMhC)AZ6YD>nv$h>c8Jq3rBeaVd%Ro5HcJ+I~tky+S;;20x=``%&7Ai1kZaX_nck zJ_397JU0n4So!IFrMwrxGIWz)dHMlLKOACGTu<~*L_lVg2kvh683u7{v-YGkD_kl4 z&DQFki~u3$guT|*{HX=nRpu)02{iUe&J(4pz}|1ah<}&g=Iw_dzvlQm!d}zaulIB> zkCV8Zgy=^W!1PY*2--L?h3NT^?HT-c&HR}9-2hx>87i|>9Kd}V?dSHQZSo#i0B}kO z9BPc2SauUTvkp@rI-8w|KhtU|=0mw8Vsli~G$5o=`Hzj^8%xPOZoo;S?NJT?<@fzH z*0X%W9G`RXkS61s+J4`Q2@_Pq_-6-DVO&XFrx7+LXoV`BExX%E3M>Xv(RZrtZJ*1s zk@|tD@~n2|b$D;3LpSgHd?C?X^!q)0${Pp6>wBB?QKD_`CT-PyuXIc3N4|D1o<zvb(1a1x{L&8-OpcHY`_QE_A zhf+HFt4TW?|M;k9%}591vz6>n9GIQnV?tVr$T z(i+hS8u-3u`uecSL6j}jq)ZS%xg&pgF4B6O^+9I@-a%E4Y+(G5>M}O(ib_YWL_<}x zz9a(Aa+Yo4y!MW{?~a=?Msbg9Kx#I@r_6PGj=e@WA){Pjqr&IW|_NMMDHy%ln z+i{U9Ab;k2{=Mz(S}YdQ&%I1(#^>?I1KoJdeA9g#N>C{9b-OvacJzHVo0)jKsK{@? z*rWYmvPn!bq@D!*P@loaFT7swRInp7y$qgHx8YxBliRo4+oZKn{le<`3Ag_n(}>6z zyLBN1&YPu#vECsp>i7x!RB>Q#amy0PC$Y(&Mq-s*iKu{9O=A#Ynzw9Gjlzj5dW_WT zqBWbeFYL9f{XCr(qKI?O_v&`gTQ(*vl%7ZlT!oT=K5X;Z)+ZGo9CKX^R`{!~cMBFHC%Kto39l8QvxY=0OXhCrqGv1a z>zp=tqv9%2U#WOX;Nl_row9vWExbPE%Ab@BRXpd5u?h zHri8bWA?GlMFBcZF)a7xU2`D!cLms@%k6sYu=Q*zMX0@|Cf^npzfO4|H%{9Zf=99= zG9N`85^}3e=B5SjI~3X1ugiOG7)L;T|H#;?I1oo0vjvR@A_`P`=z4wb?+>G|T&6)} za=Sk_e25vv7%6$q3`!#)Ze;96K*`V&A|WQ+6!FA!Gy5wYTD5*aY;{GfK(5ub&9uUz zQ|OoU=Y(_W#B;IVMQXSXU@9*PYrp0Z&9FvM1(96Jl9SJa@MM(TX~Hc(*VbVGDo%Qt5<# zwxq!wABp^-4{dj=KWwmf6Mj5of;dmX=knyb>*=h(_iF5JMk0FIk!&32{T7@Xv3L{Y zFt4qrTgZVdb|x0U^^vQ1UtB9SzrAe8-$m~!CGMC(_a|E8_@D0GJx(^cbQ6gMV*Lij zL`E^(O~tIIYTgrUhD0SjKTCY7gyOnCh&{y`<>Y$Np<@TdeOXf2(9LYo?3`CG1J@g4 zlP@YVkKO|fVo(zrA;JU^;ldEnu?~pGa(sW9J?#``k4UL8b3#aLdAS!B2#&4!^N+%# zbuIWB*9^ZeQTQ{5ULhfJQPjRH+B!6cM9z44A+z|!Ws2Ar;xp3Uj!+oT1s`cCe&s!9G2HdH5qY5R=wiB6k0|GrF5 zJ4Dx$eSfZFZtY*Yg%&{|a$JqjJ9>z{6EQV`RNp?$0PD#;mbX0B_^uxetIZ&o91d&3`5nwJLjxeflF?l=-9SAqDVFezKi_&T{DYtc zEpfvHPDJ?Y))RfZK8mdQD28fr-8o28X5w5OyHE;hNS0)`##;C1TOp^ z^JZWw8ReSnWdYRwCcqsQzSZJSUf*ItezLT1)ee5ohsPbpS?2{oi7ZR`fj5+x*n9Gn- z9M-qBe5gl})G;DVm}GCq?0s?ntB5I2ndPRN$!HXNJgI0H^SFP{2ZkSLK+d;{{Wjn+xMh$=ivqyuib4!%T(On~=x(F_-sc;sya0J!>ZO)5A-`u@`&G%C_v3}DFXc;_ogVgEWZyc*&yCDn-zzJU0t_Dr zB2?fZ+?UIH|Ei+kh%py@Q;}C@^Y|~)I>{g)2(4FNh2UU*a|^fghhD!}Z+_RsCmd7l zdw5}o6kf!+Y~Iar_24U)gwuF0HaIq{4DwuWSor-R7EdwY{x?-a3yy2U=4%xh(_Qbb z#AhvrCV1TEmmtCQai{~sZ|x%*YKM*Zk7+tWMY(e$Hu|OnoDdC~^moBg*ZBMl{DAg6 zm7&uphbdQqR9YBtjzg{l?DD&)ba}fURD^Dg?3!|LvsHT=7zi~xW*Zq5*`O(6fok?4 z@v8L07H<0KI?3QVc5}?>;C&7Qm{;L_HD#?}traY*z|jA*nt&Wf5HI4JrY&OYJnd1E zlPw)soX|gI3hZm{G#BksFPWAw-X#*`ed|Mu4HK;&v-p?)lJ^i6z3T45AVd^a$Giz* zGZwo2fv*|lT|t3ed=P>3s9VIvfhPa|Zr+_Te!ulpuA8UXLU0m;+vX0ZM=%)G@x6+^ zTq6Wy7KsczUDtAIZkH5vl&4=YCrB%47JW~l{G-3k)>~W|pVNEvP1&5qgSxn?>QdP$ z#|jRCpE3ZH2^b>u;?KzUqN&PrsDMB-^atII&adMc?ysSa>MwMY`go@RE&*cf{R?9R z{pX{Ts}XZTJQDtk?KtYi`^`A=X9Mo~

    eqh)|7xRek{&O}!!EmZ@S(>gGg1e;-{CANf{ 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

    2K!G9ky3j3*b+-Ek@lF&rQ`Y!slUUMtZ~dJ)0N3 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

    ^0)=Z* zS0HUxh!|^tT!8d#hv8`d>2sh3vsHT*mub3m=@PmJy`py}rXy9BHo=5>M|EO8M*%1L z6*K%wbgK+7vuPg~3WaXXLQg<2ecjlQ<;Mups1|yT?r5_b>4F zo&^C|Q*5toAXR;#X*h3r>$U((mjT5XD1MIfDt2zZR!XuidAJHdHR zP&-O!fe!mI)m?|AMKU3vg^jY6H7GIGK{(AG;b0erbVbsKhZ~0E=9G8frQDVW+BMPQ zAOvbN0*Wm4iF+a$e40Pr9)1cS{0IQ+-Le4MbB>tWm)}a;G#340M2x5T#^1<_LbG2rt^Vxp75 zd*+*5@sKxRB(&Ps2gj1p=lXo!)c9;1*vw|L@?zou4HxH#2tzm)4Ta zNm+M=wt@N6CdkhK6IMy2vR?Cya2O5T{IYAOesl}rC zVSiU;Xqgl=%-<_f%Fa>AgjARd@K<}cxIc88$EQbfZ!czK*oU^$$rZcyttn z!SO-27kL-9!KqAp=jZH|Ud(-ld9(RE3I+N^!B+~q+0^PX?l~L>5L~@@JnGtg!YG&e zeQ#=YZGoR2V*`5;^dY-QHc-9>CUUtaMMd&Zho%54c0?|AiG#1|;07TI1|`PNIJpB6-2AX{hoUNE2u+f! zoOJG!d5NTOu(Lu0w&VPYx#07hn6WG5k+b+g$tL6AoQsg+1Mf^;?HuN0RavU>Qi(Aw zXv{Qy>aC+1Wc?`~jp&i)e9@uqV7yzUg<7|zFACjTT}9Zdxpxi;&Ut-Ipqf4bQs~L0 zm_esQ;*c~`5*EogCNHC6;B>cHt7v48ut@&Y!CX;sI85Oqi0nfHb;RA@zkdqXE4U+G zmMzC?hevQJx=(i*Ov06vu1mi*R}I~yG0lD}6qnjhw<(sLMRTQcnCj3-;71CPCSJZ_ zwaKuQHI-TRZ-OC+E=al&3n4lp!Wm#8#HkN10k)JG%>TL}b~Rf3!v3vZ8uo}5^IAD& zSl=r*&wKpi8~FNv8B%{+fNG#Jg$kF~F~xPtlGC*G3abaP=iaUNy(Y~k; zrqq58;e&#k{ggZSjH}e%SuvAe*SYt)m0rW6ZB^%^cpqbIv%8DKyK_JjgolWsdDpE5 zBA{zcdx_){O&_vr%T##^G5y@Kf_&Jdu3fUxAha`Fru?J~T>~{_y1(_$i!bokIDLyK zZZ@AsW5w*P0p~*4%bTA^JsH=kgj;$FEJ+PVf*Tf?!|#S-$_Vf{+GAJ$<03H939gvY zTZH#k+hU@;Xe{a5@g1FM13Lw0zj0E?QxiPss1e+#J3<>m#VY=F%F*V_q+)=H3i_-?!Ur+uf!Jbc@)j zLF1P@^(NV%ztYwhj=8Qhr>)aBfN1akTr0BOlj}?81D{XAKloj&feU9na0VvUX*jJT z*#ItKsYaD~{0E_d+Yk}i$M|O9T{eL;goqLDXB|MLLr*ck6D|$`4a}}{s4A;iPb%>& z6An>IDOc*252BwKzXZs~8831~Uq} zh^RYDhqxH$7x|oSgl6^yS#r0t0;NfXc@#04;TkH|x2PLAD!}_d;BaW2M6WLTOG7R6 zMP&t4g9`=(pJn-vlu{;AZHQpq+2n%hP%;0CQ%C?B`JM2ZDhq&S^duz%j%x)z9x8Z} zy^^s!L42VM@kl=1ejIe5_`pSPTWycYuS0N!9`W=+>TW9AaZtZh4K)m1&s>+euxun zlkvqv2@b-5tK|QB-Mv*n)D@D#7FCQD=7*)ZG7k*hRp4Z%MMvG#dB77;I|`_eY~zM; z#jNpo8Mw3&j`{q|KwENc8`@pQoTGIRO>h7kiM1LhvNgmUQ^$3($rStom^QGcuK-=s zc01@M>J^Jnye=`}+dX^?@8M-TuZ*@}s94877*-!5)o6Zaf|88HyqiGhR{#~RQ zrwpS(272-BF9PGy+ zqJCfK(qKCL4eNb_{J=RKK}bqHU|*nJhW2suy+J@!z9P*=86Z={gE>UjQKN%AjWK*B z22a)GUF0hr|1H$pkcYKKZRqiDK+;9|1EE_|8VHN`r|9PndP7M%uiBiSVY%k#KaOLP z%yolQZu@j*GQ6#g@FNE{ykSI8XRyP2)?x!8*qbkAaesZpxyDu`PB z5Wkf&(&-$ww2*%ptUG6CStvuWgovvR>BS_Nz_n<%+YatPcC5p{(*;*jUee8yx!Jb? z6C5On(l-L7Ez=kN`1R|3OD|9?S*z9d1>$oBP(K73E%v>Q1LS!i?4`O8|IHSf_q35n z&k1OHcc-rd@CQLwPEHv0uR1-M^?39`3f?8Q9=O=ywQS@te+(n~zh|W$gv6NHh#U!XD*|v6F(?xU1{(Mt&8`|&CtZd#?A@O)F zEYUYotTjvbmr)r4X%uBKJ4;^!l%fKX0ANRw3(ND03T)^>mzbn)QfPB}fqGvQC}Kd& z!;zn<5G+OUwuTPmogop76UtZedrWXE%zD2YjM#=NjSaH4hKNnwa0b{kX77s7U(6U; z8wg3##n)=-t$A9x;A5)ciQrQ_+`3!xj-sG5 zCFtT%NZ?gLq#l2sAtAR^k^8bR zZ5SvQdtFh7-DlyuSc9%*9ZphP!JT$%5pKzAubE*T+5FYBU2kb>9bGvwcqm=MY@df^ zDx1~E<0wmeb;Q?XTDYcphUp=VIf>Uufbz~BdwOiSKoEXa5F9;TlES;0=1dfYUo@YP zgGOWoj;PF5#L^yT{=iTLj(wJ@TzQ3`x% zv_%`J9$YYXC?rObuz_#E?X^i@R^wTk_$Qk=+DYxXq*yJC+{wt8&vic~IZ6pfQgv_| zi=8ek*l;G3FiY}FT7ZKXt6=j66y(~UM88DVhc|zYTI~C1*i_XowySV@xCp!$^z*jD z&i~xAdhgOfvI2i!T%2rPoRz&QRdCgQ8>*`)GU2XL)|??CA;0Ic_Of$K|2*^GOpWVe z3ZuF9cC_?gUGr5%wt;j0yFu+&>(Kr`og%0w<9CmM1JV` z`g?c)YIW#dC>OcmM&3wH`bdNW;O|kl+B_Wu0)F0w;N;)G!31LNYYHu5QwI!W5KJ=H z=bAz@Lnp`=V!{wn44clGG#M$*Vs@)EROQaq-qP#}#dXIj)KhE>>Lwz;R(4}u zmyZ{6jX2P6Q;VZAOe!tnQb=VLWw(lCrr)im1!fYGD|o!3QXL9y$Y(p3N{$2e8Akfk zroPuovmfR}1v=u@(!vs_wkQvOR`qMCC`;2i!u-xlXBtoO{jKZ z7G1bY%O%>FzWQ(D?;gXVkR$9sP3OVRm!zRv`WI%X_)GYqCIbU%|GvW!xm0z;UR61A8|Ijakf}`rMKCuIgM6Te*zdVQiH|Ot zOly{R0{jZSVdkM+xt($SV|RkhCyYWQVYWNXi45!;1)Su-K@0%8R3KA5t>{psu(ZrV z1A3$dzGwpZ#^^n~Y*ryjf^9UI=s3zNs?_>P=K82v`~a@NLFsHcAN(=Xh?4XX(XP3c zl}->&)VhX{ZWO(LaRz7jZ9!S)v;K>wK3TZ<+GrN6rr-WgwPr@TBJjUMX7Q1c439B7d)6_j=G#2Zzr1n*ZRMFuI-bz>*Gnv7dvXzS*tLpK>^^S1y z&9#nHUn1sGWFzg;Rp-f{&aAj9VFPSbK^y|HE0IW$D+reYjjk=M)s-ZfWS7GOJ@D-S zh_6wWYgXij2i;m*As%2Y5FKUgyQ>+iw6zen7IeJ1gc_XI#PM9Ta7XPl886JDiD+E9 zYZAVGx76wJ68rUuZku!L7eVQFRm>6`Ea%DpWM%2x0Q>2O3-IjR%EqJAf`%L_2BrG? zq{pOau3~tbQ0MBcICv&{htHjSrZs61O4>=X?Tj6RRM`tnp9PviOQ+RrC+gFg)=g%x zbgXfTJA|P#6pY~ca>JA5Q*?gxe6v4-qo*zexaQ>YKC;egN;6`q;_(%?dkciC1rA?$ z^wkMgB5ip`LXOI)PEc&5i>!4nuCNRmq;JsIz-?&sz?i8EoPbl8#c1U5T`RR#iZ)VS z@Ft@#oT2k*Bwx%l-)c5w2sc~bv5ReU@%S%nL4!?fp9o-s+Gq%`%?}JSl^7(CspAJS z#qK5dTht$^lFPRfF0Z!y$?f8>`a#xS0X~y`tUQhUl?nt@Qh^Y=k{wZh*2Fperc7_6 z)0t0y*+kZbkJT_v!^%JDdy&kcb25kBmWR3ChEKcQlYQ)U7>e0zx6e6GZpW3u#RW|W z3KBj(lQx0XO^Ev*!Jvo@(1{f79!6vNl|7mGcSsj$s1o$VgVUW3cU}QY7LL-}Wufi_ z0yBN7&VitH4}28;lRou^$|$wT;3l73LaS92+i$PAVa884dLSm)us@T14d%`at)Ht^ zHiL^v$5Er`uyzxJiPbPE`Ce6EC5X%Ij~GF2OrIv14Xxj_ER0tX8ycpD4R%8zBpb5z zbM{))^-UTRMl;=#Qmg1b zCipl5eTYUi#=1b0*Y_9Ot^6Q&OhS>)Et7GVC=;7My;H`O#rdj-VaII>h7h^ZTB`P8 z9yE4v86*}YH}nwYc({pv6=a1C=$`0+3luLpxy`0_FEfF*Y4d}kLR9rhW;!E33LyJH?jeTA*!>@06%dar{N(>!ooa*T$e>X~(cQ)-9QIG<>3 z@i_B1_ppMhf`{^roK$m6R2aS`Qk@lAUgEWJ=Ki@KHA<#SmcOh{fDUnFIiohra-E*n zoikMWwyE!lL;RK=+7^cerpUfp!ha;AjzQteXXg6_dM>!m!E?`t2;U<&%Fr9|vrxn< z#88luSDTDZs&twgOpuR?CRQiZvCiP5koq_Ie<{%?z$P+MP{rh$t zr!=lLbZ@*@2Vmf8#7qcjqAD`MF(R_8^%4IG8GT@u5~O>UJ^0U+Q0h=QK)bQL45zcO zM4h*5S|D82d7O3-J7fy;&UWJ-L(D!Xm!5AoYV9GEHL%KFq1eRi)&=v+r&JV76H|R{ z2nyrPxypm-@u_elW^wsf_r1oPQ4U*|s}?bZ4>)_&aAf91r13e%1acwS%mpTeq{Mrm z@=Zhl86AW+&!GtUGEo0;q8-v`b-cmZy$> zEJat13Hsn5cQU+2Xs#W5)@%%)UzTBE|2=8{_rUdf=nE38PoCEDLuvw}>|}@&-YVcoo_5@-csksDItH;K<5^Y843o=*vs4_-(I#DNC1U5;At`xt?z}Dx zfcD9~$M|yB$ehsXDm8B)&W&_1>8i~=A4-`#2iwG|w#W?6W#FYg%pY#`3*zb*`ePPt zucHSE@q1fSyyaj#qCK>FfcFhtTep=i!rcK5C``!PafWWeK?Q8%U}DX&_&TJ;7&pF* zuxAt|s3XlRXT-7bg;lpmv2!Qhk6hwU39O?mvoLr!iK2Q@q}C`O>&^M@cka1=Va;cai802UJwEuNV>ra48E(L|MXY1TxF>p` zx8(V>_eZxos4V~*Z`q&HQC~^MsY!2nCMQc#Z|(LD7e!?o7q!^oSB#5?qgpx~Yk>sc z$d##y;KV)5njwaf|JNmc#tira_Y0!z+L`3;+lH><%ljXUPS`ioz|RfaM;)CB=f>lk z8bjVXGxT29M?;gO8df$?BPp8oRYBAb(4N#A_f7YX%zQ?D*i2B-;70nv0UJ+2?*_K* zDZcyy^i|CVQ`Goo=x!cW7{m6_0mBGuebS6BYiTAyBZ9wm{$lC^7Fy;O30(~Hb{?xd zFdHaRCuVM zLfk6#SKt^QYcc!$GZ6f(9Ah=fAFG~fFhIL)4k|l`fror=*R;=3sqe$R7Kulpb-yWS z=24wfc1|dM&V_h@XjboDmY}|Hjk&U>GF&FGV zh#7xpFw#X?hwlxq6YR<#7&v8q0RxBrMuEkikGd%umt>j`0Q|+f8aTvPpK>>Idi|AW z2A;v5D2F>F%aS(25V>|M_bXmm!$h+q}B1Kn)0TYCwCs}PK6CPUz1Ivb-#a~0%(gB*>6+{wm0>4 z9iJ2$8hwv<&%!+IG;_h2<1;=knxS)c7i%3o z#sN)MfglA6lDQ@{}Bi`sFBDAk@_2Z*+i4IOg8>>&1F9`L`!2((wnt!werd&{M%t1h} z?qPYHV{gR#L1G|l>LTt6Nf7-ak{Bw7@~Q;aRFognHX2>P=}PCT`M!*k`a!2uT4W)`F~Q!&wv$@ zetd4=j-^H2NiBg5SNZN}wIdd2tCY)~FVhnf(GP?Eh*i$F(Y(Fw_4-za zgkWG>p5YK|H`6o|OJ`uuUq(_-zofL@*iyu)-bw|#9(=h(r5?U# zH*8B$Rm&_1ftjZI_R%DV%Lp4fFR+0~%WTsR;v3F&S}V zkdxFzpHQNX_EB_Yuer&|f>H$qjGB9Kdt*dlSCWTr4re+Z-@K{u2#qCd;1h|e8)h+- z{wv1IKuc3P@pC0fvsPExqz6rYD)~HyV|JCqoUiPU6^Q%_g?q9^O!8M^lh8HMgpw!F zQt=sE)T0SDI7*BOuO7*E5fjBvBDpDNYCHt^QeEr>^V^x+;ONi-on}zB+72sT#O>LDe*|3&!IEe^+wf9G!y)vNo48Qc&VKxpU6j(nVDnBYhrp<)!$&@kz|`#8 z2UIVFIs}D0w|V%%B?Nyb{z8b$4M>K|MU`Ifr${`i&Ugcb7XwVy&5A9W0-QulYbtYvpBt8ybw zM}NnRmW$h`IjTu|X4(HNVk=x^{uXxGPG-Z2GfDT#7zH-%K`PU~|+- z3Ai2jX87yu33ai(g?)U&jCmrv&wh;AqX6@5X}pcdaGo=#A9+Q7|3aD!|F~&2b4aC` zvkxQW&nPzDSf9Xu*;|oG@hw1&qd8aOQL#pLQ8&M>j=_|#}X9p86mTnfj`I2 z?UP|rOWJ34v>V+H2yrf)sbw170s~a6naF0O+!R_G=^tkB;&ivQ`+eLNPD~|mGe9xH zA8oMr*3iw$+HeApYia52pN9P84TEt1o*{o>5j#pbsDm20XhY!nHKqx^L+7^ltbEBU zS1IlGi2L`QtJXx;L)wu_s-sK2v1FC@7-iisNqjX(GZ%yTs}jqg) zuHYceL^?yNAQ4qIQeVUt6TIwuWdlqTrsYxP<~$vwn;&*PFy%$j-t;+s(-FLVxIC%c zhnUn+vO58p>$TfL-mT_07dI=$lFXyTA&t&1Z09n(ASjdV5{BwSCJ-;3Moga%?rya* zQbFBunw&}v)~gTpbCI=39PXQ(>;L%?0+^xPqx1ZRweM#zkGQVZtI>wbdcX=qAjx$Vmv(;_>4lHeKwF$9;e^gOSzPZDlAJD&%yhO_f@ z?c-uSJK(JPDsy+Z>`(j-wr%mZ}`My!8XBK~XPumKWNU~v)dc}_#+T9(`Y6l0ufrMBUSZCmc^ zMIoe8s1az4?R*?p1Oz^I)ytmG*loqAf-#6GPJNNm>faqbo^IK8-3P2{yBoiJ*) zv-NwF@t{*DzOA!boo8ZaX0lJa^@gf`%a@;%9${m`q4$gFv?*_~hZ1^hg(pJ3FOzfr zl^Go#_>bOP1M)Fs)h|6-+R#~0(ud(DeI-ll{v_7`BVcXla1#6V^adSczI^fCR(S#AgfkRabqw(wInV{D$DR%Y_d4=o{&ys z^*H)cu$Jb^FV>)KHv2HpfC-kzJM ztF>FVL7UM!o@)p8u){xYV~FiSmV0QH2nvNo5Db#$CD}WUb(N}g27M1i)_T9k=||Ux zQ7!r^Q+~skNO<3hgTT-%7_FIP8RXk(<7h>s?W+2rP>%xh0g|aM-{tXrfQC z4Bry_&OZi+>;lS2>bL9=9Zyrq9#oFvpqJS$AT&o_!2+ju*!UsD(n2=MoQwOpD#c(G z7fK%0^ev5KG$!@Q$pNe!P6ccUJBtvIN@o6%LXnBzwNPLo4jF>s6&~n0U`+vLRs z{)AVlcoxgl!kk|eZMkvjEw-S_oe#1*-5;7$T?H>8t}zsg46dXyg#kfCc}wyGlvmW* z|2NGAM1#M!O?Qv4>GZPG;T zv^MKP)%!JHtG2-ARE#XIXgm?jHWqSklX}qgflGKB9Ce!3e)IQqaXJV(moekXAO7jF z$NgFa%G`9?dCjkN7Wn<9$7ZxnV5`eR#6|M+{pUh@YTwAHKZ$2wM$|OlT#3C^)%@>i<&8F4a zl*e_mu*6_Bu_iS6_>}ZmcJZ7X9G;<2m+Q)136rL)J!IbbtBUVFyJ4*Ma#Jy7qhw1H z6}wW7+L?M+W#-07!T_69Q3}*fDvWMMtND0CzD@Y)vbZT@0=eTs!RQ|Z0sOyWlU@hx z^}kyBcQyY=L-)c*{DLEoFwh74qA;~}|NFI|@?=R+gj%VhgS~DE>#_hx$4SsGdD2`< zg36|FIgfE^$&;(Z=(SmT#7uTi}-f?1H8mV&%YEoBdk-Ra-?+#cjIo{D~Pscxx96iG+3 zF{p3i*5Ta+cf8;>OkrlP$TcNV;_A%*{wy=JfM@6g!HjFHW!R>kiFj7z%oAWUszJms zhs-54OEqy%VtvJB@s28l%%0pjqCX|XQ1Lp)Bd*N8VvR|3t8xS~BMx*LZ*;TrL@9z1 zfYvD`Crj-t8SUK62y)ph&m=lj#)85o^!z&ANE^{~Kt&%6tBXOe=KxA9XObA+@o2cV z{b~P;V9)(JBj6w#0F)^(;%{@mE~tX1Qn((}!F2qyKAdexG%Gt}X;3VT4yQSz8Tr?O zH8^*EMZtR0DhEn)XcUvcnLg{tNO$($m|)?EM8U@+*(bB{bF(9niLU^~OH&*I-3SkY z{`B6v1;LPwqHA}~>gp!l{?7qoG~3qnYhPR*tR-I0`rIM9{~c4>r{I9T*1VIHM87d? z8ns+eUq-N&l0i*!_ZYPd8A)kxQ%+Q|LA4lvqWlrEMz^7&Z8^B2b+&CD1Ei65OXKvC zrcqjZnZ+QNiPs5-f(Xzv`O#V>EVNNx&v9S50tBkKuV^Si%TKlcEE4Fn15 z*YR+T{Lqtnur)Y5u`j;JyO!Dv(bmHpW}7;|u11PpK;;)#$#lcIc)TA7iM08NXoDC$ zf-}%(1n<$>Lm<8%z0b3yLk6j%^wp_GK(1*hxJ`IL)Jl3v7S?k{d{CPqWbk;LkjlNq z@KIa1@4?UZBjh0C|G7gsK&C(swoci}Ua2u=R~zEIXFg*m3+XYIK`CV_P#+I3ev;#x z4?-13$$|TAD0`I;3rh?4ER3~FxsiYFLH0|F2^+_Q2k+w;3r5B5abqG1@Xer*o(5u^ zu5cK#9krIghksV*9AGLGK1utHgT@1QfpYh&{#UO9CFiXaIno`5VQy}M_>~DC1j-X> zo>3qVORmk{-qTN@s}&h?-4}Ee=<}R~ug+uAZBp8LJDgmsW|oFzlvgfD-*4Ycx4xRo zc>Za?zqd=BN7($IDODdfmjTqlarbMCnV**9nP>!&CqJNIkv{)Ql0<66ibm+PLe=r2 z;BHAcv}46&lskQ(^xM6B4f9B%>V}y7grDg$Ka#*l@cR`u!9@SIc(TAT@ru^iXa7A# z61zE(rqEuKa>=|~!T>Q6${afSI%1u{+@g4OVY=(kD*3de!>IeW5yRerAc$->*Jx$D z3$m{tW6HH}D#G31d1;*c=Cz+4O66*pB~5S>2CIN^qHkik^2Zj~rkL*PTEX#_hc!6! z8Qkly=W!iq;3BjCO!03lQAic)FRx6}O}47eT?@va+gay!2`2~hWy@anm*~NBJu_RS zzcO&rvD&p~9$=S7_o{0*xPIuKB?iOftc8D5&r)a}?S~wG-3ri%TaQtbiOZ@R8(gKOW|>a+40{xdXR8R#ETv_^5unrN(30nSu3O^xnJ=fE(p25Fzn#03?EZI|+(u*^UT2vWzp2L$TFV2ILH6M;5$i9r5oDvz@2z&y;H)#!VtEq_LuAM; zqmhY1iMU{|rWZkM)%7vbzPgJyUbhu&4JmCdt1ZuGCz+HsqLhauv{E4JVU8wc5kZ$2 zl$3M959DBrN66XCXjcANzelp} z<_2UErsoP^3No6+c6|A7nu>hw?b#U;i)g&T&XcLJ#=4T?yNdq!4U~IP@?W31EVYLZ#U9hgSgBI6jIW_4Kfd( z`^dHVF_e^wAquyAg4V_&1pxt?%`NY}?LYEwEQGvFgNh{~7!X5@7ezSEfW#q+ZbOFe zE`dPxmecf!ErIb)ONP-jQw^Us%;mR27acieybZNs9Rj;U-W{0(so8v!d|_5x3?A1u zl9K1Dl%kMrg*R)fZ>gfC2fl30iIO+wYYpH3|LMjI3gEFkmGM1fcaq(gLk5An$o`|q zc|zGQmTK4Qhu%zkXw$>RjE)eV#;NAPnlOl$tDVS6owuI3Q7Rh(NxehhGz|e18h3H! z?Xvv=f2+kA;S?4cm50Tso8V@xfAmiqb0G4D|IJ>BNKZg|>J#|uICoQkL4P~|Gy<44 zCI&*6H;0oA7xi5oHFnbqE(=D<)j2N|STSmXUP6BaHFMVjAi<~uPlHE|iB!}#oV`?I z)Z^l{^Td2ZaiuLW$1rYUv$E5HtFbFXRxgg*lW%FWHwkS%FjI|9w#NkYL9{52aUE>W zD>RV0)5cUr_~yz4_)Q*?uDG=f%b2WZ;Y2Xw9wbnO>`khJ-u|NGlRQwQ)!Hnku{<-J zHs?J{H9zi$)}hV#J%V*-nX0dgR_~tkIljm~cucZcmfMgRaV&bw!i#Kq=o%8314Eg9 zv)AbStZe`PXx{%JpVp21p%I?1U|c3pffj{QGd<8@1t^X>qsf-JA_`fdo9zw=yX z)iXV@f6w{mm=@l+X@KE<(II%8wiCnmvx2?79#^1STbQYwK3)O)fPV~2j`f6C7apsg zoIi0~S;2aU1iY#KwDeacx5t4G3c;CH=yO*$S4~v2v=|k4dW|FZOxtjSt=4R?m|h(Y zw>an1Ki$0F7Fj_>|0sjaMZIfo!-vts&Eo|;VrmVyiw^ZHID7MMQE>Qh1Hc~HC%cBM5cgelD`P8cyg z;D&S6vVB}6y#=sU%ILQxQE1;a*TS$*3}R%#_`F0k{1z}O*|n2DMRJ}sk$Azg38b; zgY(@tp{x?KwL4Ab*HO9kA9>bWzE#;~M0+~Wsq$Q-|< zbIXlm&HwX$}mliov4_=-a_HHQGA79TD_W)4fT zgD-_v(`%#uf+0urb$IN*_PG#3UL`Astz2zb&WR6%)w+U*bU zWfJ4R#!(_(j*;FzKku0UPPL7Ydvt|of3G=;9u}Ate6Qjzjyr2W+Nx*7k*%9BF@cvP ztX_s5OPtxHNP6}p6&N=!#zh5J-7DUD_s*Fyx84SWSfyRshCaHIbC1Rl@nj7Sbs5W> z;gP#Vjo3fmmn^>HB2jnjv@PDAuV zjs9!HRc{_=e?}yFwaK@e$Oe)<-Qt224SEmhAUcbx>|O(R#*ik^*ad zsC^q@>2u*}X z0WVhRn(99rzG0E8gg$BWy&H`SWb3g}#SCH~#YKw-Mi`*t4Z z-9wITj*ye9e)V0gZ}w<&ZprWzt^M?XqRILFP0AZ8#?MRIR!&I?_*<}ogf$zqBbC&f z+)GuhsWFEGCM`bb#QvfRm=2|>qI=z+3*52xjsMc#?qsFQH0XgPWYMzkCHs`(zjV(< zb=hm|P-sFu2IQfte|H&NI^O%z!+Pw>CWIg_M5n~Q(`QFa)kPaboE`<}MOII;){H`_ zM{kW6J>%0lNCVB-hGSVn^B1X9P8lVuXAo(OwDnhyw|~LiluuqaZjM+ya7T4KhMLZz zjYnI>FhNd!A+Q644UDTpueS()YLv---&cheTa+a%X?@*MG&&;o*u z4dv%}Ke&;}50Ez6PGaGIw}AyjJu2kh3tC40d2RE0sF@1wi-wtsc0a`USS$CL{kaCt z?-eq{;{N(rkC5kmziy@+XoOHUMWFhNuHaMKJjtSIq$rj+@AOM%(`~iAo2@m`7-Z$1 zCu0lLRTZrnjItlPPA`UUX$Lle3y4WItM{f23dMc@8K!ood+)uZ2%MYhjb2=ruU8e>JKtpYNeYoZ9k*cM5Bjoifx7O-;z&1L7lPzS z1>@jWAQpkJN%l=x(c6 zOUq06eLdwskPLe5T*?GN_$DQ;22!uM;&In*BC-e6t;J3+`|BE z`0a0C5(Nv#9R#2aG!u38{;j7|7K4FKwoRNDVGIl!K%I6MC=3Ri17UG>_4PZ#y;Pl# zGt2zNaG3rlXaQykbMjV);rI~2Kf8JyS>k-0RS~AS_fi?y4 z)7~aqsx3ZQHM@p6(PGj9K88KV3kcO89akeYB`c9>gtD)e?Yz@2yjgphNV=qz>@tvU zQvZ$dYPEjE1H;NJ_Ks$c8cQvt`~^9)IF;d@NS{q>N>r%Xlu!CMr!8JHoUU3SZgSJK z$sS~kdN8CSMyl9bEvV`Hkb-y88%_;9pbDhyX~|m?MIF2HyRwFL=??NbxwAq%FN2Pz zGT9<7ACm0pCjJoTJFsQho`UV)nM-tl3pVzjXR<@D(`qI7mutWS^>WjNO-@N^Sqm^pyo1SC^!C|AG z*WtGu^DfXVIM_@LC=U)=`KpZxc+%@}Yl(gmPo4hM?Is)H9G28RwFG4#9^We9U zzy9Kc$!h)M1WEcF90@4J;EtyH)$+8q@>Y_VBDVznwiara>;{)&-UK^Y4#jEJLeN&t-VHF)ud4A_7PFzS4V zr}dYeMovfzV(_XkwDLXED5=sCMQeUAtzp1VpmR)@EB4oyssN1#A&-yza~PrUg_X4W6`zybHyc#uIhRr;B+&e3W`oN z^(kH9_V}pxHe`-AZ1o6@4TC;^qAbPzsQxd0`5y@gRr;8a2iPzmYpmzGs+?#Qk0Eky zqwxSV1fBrACg!|>bn2h;u9>#+3W9*s$jtJF`#kBK?2SmV{%MZQ=>rCjN$#Qgc%X_! z^1LHjRpVpbK}~&+Rb;wn>HG)0tH@MwU-hvv_O$iLJI9-)PxW{Pm^AYdbWYxb_iz`w zPr23}SqvOUq1N7A=LjEs>V3mPJ+8;%P`UP_Sew{14@b}{$)_@-fzC(EaYJb~!7&BH zH;_6qYabJ;j)n{2*OoESp0q|x{+x+zx>HH_OJOr}_-fqpo)M3DIK~OSL9&#MUa0Ne z9g=#tOuXx*E)0=8e^Z$WYg5J<-;*h~i66}~F7I3Wg9p4>IyEj3DqZA0Un#M?L7a8C zvBf)sfIZ}2K8-08{C(h_=WO?Uq4ZTJCrW2euE`5DnIt`yk;9Tw{B@&wt*&<5>YX?B z^dOF+Jp17p9kA9n!66eP@pN4gsJ(9D3t@f zacuab(@iiQwed&Gll|P`r|z94%|9LYQJ*O!j^uMy$1{}Pfj{HHW8JibX1-jzYAlH8 zB`g6zMOQAm%UtI8@$Q2oluy49Ajt>Eo-RYV(2$ z7-^O9C@+Q$Ma?8F0tfg^!w+dBZ$HOPuEc`V#7(nmWWi!^q2)7Nifkc209TSz{iKF)r5aWIdvW+Y8U?x@Nh^qNH1Gc}7d`t=`TzyQIzXHRaBQQSTU3UMG^A(6;NK?yGi#`yn_y zj}5zPmi)$e#ky@wYQk<2xwOTJUIVU|{fA71Nndt%h-EBQG$L^`Rcji}qSnLsWnUlp zQsj$gRC14r>(l+1b!YhH_l_L8D%1awa{trgi$Yyhavwh$POY3ilJc2y$PUPy zh(@PuTRLKeGY4?<+Wunl1Z&q?fc~=ZeOf9XWFC9YUEds#+>FV#s?&O*auA&`Je|R;>YBDs!!bbwOQ=n(WRuXnlwVH<(5+5!*Lnz)dC%BH@B-d_C@&&t;} z`RL-|zph#=;3>R_n0;Tz+#0&c!Wl_5Kq&=PyY6Bczw1HS^^X8URP<+ky8)C{Pr~dpzM`ZlNFl+U9wf{3C>N%=ImOCwfHP z`E2VRy~3d(O9p6X(j~e)D?F|}&+X1c*)Bs!jHGH5fVS~{SO4dQ{VG4*lN7GB#t{H9 z$#e#N#D19nNh%K4$wH`)Y*vo!@yAmg5!kK2s9sef#%hM-dh%w9UM;sa_{=&#HH0IwYT&O_ssspE4{;1P0dXSikj?v zwX05*s2P3#8D1|Ekkq^`J5I@3&5>Xe`)8H53az|XH|0Wkhj^i1Cf=^maQ^^BY)hwi zAQJD8r<1v-Sw~&LLpbX>8AporP-ny8gAE+nGjVk8+J%5*Qa8m$O6DE0^%!+B9a3qb zZe>IcrNrt}$*=Ibz&U&?P#1(?GC68toL!(Z0QPK85VYinO!|U|84y>bgsnLl&P>G{ z9ZC@m)|Af?g(B;d|2E<+(}_^OFcuiz1K)qW+HgCm5_XfKThk5v5M|XEa=mfwMU*e^ z4#hLK0Cl4%*ww-={-566z6A#qKR8ssVo7$vyJH!FHwTVW7m&<8e$2rIjrI~o?%RwV z803f4G<4`o6;+IvFTfY291nxrH#EF#wU$&50eA6vsy9wO{Rnke2^5*|mfHAS4Ew|W zD^-UxEbDiMaS#+VmPSoFCWEsv7Vj4>Lj!*>a)C0ZKA~JHCuAtspD*jUPvdL{8o}h?C zA!>+UbbLmdQ)h0%t1X|SDG#W^;*D#D-*UjbeRR?qbCK`qZfP>ooTRRzGP07iXH*(u zRcxR&^&T-f&=S;Qc}!Wi30jR*8ABQH!HF<2V4tt@AjfH`Uz#{a>nq{-uaeJZRwQ&g z5yBu4dzR4Yyr|g0i+eid^YoU<#El)v(pmNA!9LVd2b2;xvujt^KGl*}4(r0dScCp4 z>>ZODgX%=apS86k@MyCHyhfAZp6aY0!>5yCvB8!1_i#D3ho{)*N}`e;OJkY>{4qY7 zbYDK3n`mlak8$Q&4oHy`tduS6ySjr<-NOop#65g`nxd zu&>4xBaLPXZadTn(x9MqIu#;>qN^xj$Qj@-VuZJ21g?{QRD?2OB41{A7IuA>Vl(;8 zl(ccDyR+u$%T2d|youjt6-8NA=K@Vhl#|&j$P8QgGXxlJ*$zjMn*pcv=ubnglAI>l zmdtNqR$mXi#r(XWYGgVD%rGR_)Q4aE zB+KXBdulAM5)88N?ZW3NrMSrmKYc@drg~jl&^iZ%J1?c~4%=`MrjPy6J@t$;;pdo* z(H#xSMamWPwi#uRKUr!>*o^m7g=@ocVF1@_@8Zz_SKi=NV?L`h>F^$iIk7G2Dmk#0R$_=H(z$!Gg6NNk80U0j5YTCimB=cxz!?nxdxdV8sk=` zJGI3mQx5Vxbl!2r%0C}!zIPR0l(-cq#6~%!LsZzBmL&{?$Opx2UO3}0DINeVR&4;V&s+kx_T={{%!XCL-XaOb8fH;0gr@r( z?P1OT>U9HdNBgq$CT_-pdx~Gd=mV&Vtlgx76D`qhCQb}V!B4JaL_pT zU7G~AQL$7UNQkhmm^A{TbnvIRLUkSTf*OIbB&9k>pwvN~oE`m*+@!{64|J0yLmKGRrInHDcW0393>d(P+sI~Vt`xC5 z7S87NeVjvsItL)tB#;1f@l9U-}xolJ*j4 z%2w*tczi}Xi%npnR!;JE=$l-eb~8h&Zgmv>#i9kYGt0-#<}Lz$7TG5Bv$ z#{?Do=~J=uu(N!f-W?a#wnH^?H94LL%3)z?qWo_rdXDw;_Q`qGi|&WYG&AIs52vQebxujSJc#-cK2eRukvwn5niu0 zK)P;6NXGEq(;h5iQy9})dy3KP2aq!>#O~u>yNA}W}eCKG?U^F zv-U6?vJ^Uqk#ub6slBt*1}0h3*0J~G0ezz{Bw@uKLu2*I5qtw?!=9>aQ%-bsVYqr9 zqHSQTF&r7XswrH}%_O*us7_V>l>W=9WoaGeG7E!>ZZ@BF$NjU0P523tQ6_yh3Nx>3R9~*EjF(+_hQ74~J2!~KiHYB4PGvt@!=vKS zWurWXx6hB`NT8_(0`mETw{C+Z*`KIoZ-D>L z@t$>s3F0AjO@ujV;U2EkJ9o6%+@Uf6Bw(E0f=*X%{$L_h(?h?k0bNmS}nk;>w2u)e*;+>(9M6QBp31zDR~Hwpf-*I^$g zoMAC8uE^io?a`7<>VI+U)6a#408)g`-3Ulsz4#>ftdKSfUqehNRx*j4GFFn{&()2wO z3&Q8r=bDw}m73Z<$`sKHhzTZ=x>yAXdEqQj%LYwi2*s*Lm1|z749RT`F9w!s%Bp7u znDJ5g1t!B|n+f(75rMk<7l*;FcK`X8wl5~U@e@yiQG|_HQbBU_K-xBvVXq$yVrgO) zF!5YG6w`+oF=k4L6Fa-Eycj_XhVk=;tMsl;{;%{}Dxf_Smsdrazu6H0uery7VImet$sk z@8%mR=l)uS0u0ve4ufm&!w|?FLd1|}wVV%-?FguRp*#<~y`~by50%PL4U%tty)P#J z+w#ASDHGHT7CaH70t&(wV79O z`OqEu&iYP2Dx{ED?Jlo-%fdb%ZV={#9=G#^-R|RtUl^iY2uGTc;N$CysPEBHrPFYT zMf&N%#P-cpSp?n9NCKwHA@GH|YuM9y_!{#`51}c0pW!LoM<&XKW&IZqM)=0~J#YF9 zEDl71QX3=EHR*>+w_?qHNx%KpSkr&3nLdI$)Yi4+eYzJF_(!{drjQjjz~>+FI*~$q zvUS#PBD)`h$pIUst|OY;+(`pqBV6p(^j5*M3{c}j;T+D)Z`G!_o z^Q%P6gI8)n8TsDyxFUKjOC6Z-4$*sC}F5Cm%8<{%N~_|B8I|C zTCHaQV(ZM#=69&Si9AahxSp`=Fa?wp_W@`z^^Mv#RKd&9V{s% zdz*>VL%HAruBElJgBHi3PK>vZhY1AE5>ErWD1vA@MxHn&KE-(OBNnb5X9Q}xIz6^m6(oYVNlvAddl&sSR>vixj zj-jmuaTYzB;o>x2%i%sH!qs}nL1 z>^s3$_%t~Dys!o?wcm+W5YAAP1Ii$*QEwr5L6|}~CAT7nI;zo>X=tp2=8QeNiV>&{ z=W3Jr4?5wlV}h%tisbVFfKZusx#a0n&?~z5QjtN}fJ~aU!XL<%c5jT~U|1ZjM-^$> zlY7_GF1155f9v{$db7oOFEM0&$T2ioY(AfZ=`@M&u;ew>BulzRfrU#3s}e?0-P(+B zqP@6mOe3COLh*i~^z*HTrWDpkl{R&wLzKPMt;I)EB7VGP9vL6qwP-j3UhZ##bRA&S zc^q*KcXgpccZHRBmaf}w*p(O;#&E5LBEwnrj0y*!hGwJ040G1iOK_S*fnjd9pc?Ke zTgf^blTXdp=qvQYJ&dAtQ-t;kkV~usTna?Dz>>qVq|(Iq8;a*!l8eNjbM}dM8Cr(7 z@h_7sq*5Q^XjY|H2#cZ%F?KO+Y|QMN*t|8F;lo`KZrhp zvJcG3!UYbx%;H<+oK3cr3gRAWoNXTIXp3(e+D^*R`qHl=!!sCU2dcpvY);Ko`4L-Z zwK~{*<-D`09bL5kFT)d?`AhKe31r;z$`QqAJg-_ey@8)ODHqtRSGQXzJgLmO%UokU zvAW|lQRt!PLA1E`e|`h>;H6C9lg3JQN%4l>>NeagZDM8Z3!I`zXxle+o@_p+h#(!B{jN8jgTsX4=G!gsZ^Lqst9L93{!2c@v1aI<^(XofkPwP;t~P zH2-aLtjBj65TD=RI#Iv_*^?H?8;OcnW$13!s7VN%1WFoHH0MN7>PrZv0xPfPKsl)>u2L~Kh`q^yqQWmjy;<)k1 zMeYB{QYK0{=!m*=l_DJNr8vN0INfJx6IYjU9QShK&@LUC%mTVK6UtRVN}}jt5gu2J z8OpDqoygsVJXik6xNkQk!toTiXgT z#8Ky1b~qaoeZ5{|>#VxqE;M(rQk%On3el7A8047R@Fm>BnbP$@Z+*JGk|nIuXt|HrZbM(mIj)n>Akp=chJ? z5y`}A;5IK!c`)=BtRI?9yH(ZWlv7zozSW#|HQ}!_uoumCH77M4Zas5R3PoYoFQ5$G zRVLeLqy3P;aHdZUVq+3OllIW`LoF82Emi_dVb9Jmsf{7Em~Mg#e+b{j)wIdjTcmrTr!#;Mx(x3#8R_{C=w z))%9Kj)ir}@028_w=*_JcXQ=_wpJ8%uV@AJ5vijQ{ne8GKcXf~_vP;C%de^v{&lkj zU!v`FZhJ89s6f(Ly$7tRTJtkJYYRY?Nj5x*IUOIWG8nZh5 zh9-7e&6;pPy^sXQ1By#rzfw0^C*`@YcTs38Y@`f!ihqZIB|VZ2EFYFRaAQ}eBTWRi zq5;4ll!TFKI{`bzw2*9Z8kk4RRVYF1|5+zjtzoyF!4IWq{}7|{cnzKPY8O)VAwO`t zz^vA5N4KtaEb2EMznm@aX8A#h9pDLaag89I`YKi_>zqQD&r`c?xzymDv(mxq)#~hh z@fuGyL?UJ=#C}C;=$cJA+2t}Rl=R5r9H79zOmOGt&u)(?Y4@J>J|kAZYnK&!8=I(Z zRFB@Fze(}b+Ons_YcA_Et&?ZR4Ao~;@@4Ls<_zxKd^hKw11-OWid&@_=Rc0?A}S1*6BuWliQ z^2EZ^#*@Zh{N83nHw0BqD(aE5n5HpoFs~2@0ebh;u8OWTw3~yEBX+N}R!0@(7bV=p zcn>@N@PFsjACvTb2K$`YJ}MOv?+$(LPE?J1YJ%LfO(A zrM|8MhH|`SXKdZgfO0)+|1N$x^-1mYtBLA~N4y)f?H$ z%-{c`(Ik6OQsIx&C*&-iTtUpBFZ$2~EXK_K-%dDP6Ev7xRhZjg>-l0${YY5;g~7zr z)v`Z5+$E2*>L$p)_e5|34Q|Dp%r*=QPA(aNpLjN2@g{tp-F!?cF!wmhiQ2vjmi}=! zoi&1q;Z};|bB+*x0WdA?h}PZ48mrJ)iu7M`xz^gY4)T^FlSC?Qrxt+Jf6} zq4uSMs2@4{=aj2P2_t4$9|-@u*g`_?DqE^^|==co9Ev^Pi?i$IHb|$nK*_G9K5A{kV|yI?4rHj9hDxlnojrStT|~j zP(lu2WzOW~k7p#k$hBNOFF=cd)K`I=_3B9?4{OPI>~Jcp$UZfi5;j{ZuEC5%^qr~q zcgOIrxD?X0zXUpYCfm+wTmAbMkf9ZHN*0Er5ouCgu%_Ar%qhk!foImz)?@bd??n z#HyUG$&TAE3-@;-NfvGY?Our?!#qdj7Ndyt%p$A+h2E zvE6@C4weqS`_Yp&S(telzCr%@0FSBFqW1%Bb70G$NnWnFOTB(t9w!h3B&aUO94dwh-9+;Ok7%RUYscbX7u_!?L=E`tQV&HN|ldUPIT*?vOq7&BvyX9 z{-cQ81G0ut$Tus0Th*_cZ|1soGXbN!qeIlde{W*G=Dcn-f9+j5;krG<@B7l+OAS=J zRsYbf9c~5j#G^t|X*hVW!+X`^911KEN@i3*~ZIh>*Z~BpQ-RDmxInDU7E0Fvg zcfNcCf^$J#ILW*mUX9x9L^*xgCfi!%)nz*_M?G{RvujgTV#!q%T1lK4&I5B^8T_}9 zHFyiXI{#ecc1xuR@~;+RRMYGZFd;1qH(#cB^+@K2QGVH(1h+2`8~QB^StXGK;OvB3tg6_1{>p%0o)ZTgENL!b>rK;TD`RoF>9TUZ+4pbYrt}vhdXkElr3{VZqUgw@?Hi1V z9FK%Pg8l>^r?d<9OL%!t=p7QqmzHm!y&R^W={+j@v6w3w5g#7ine(#u9awZenl6)(ho{L=z`mr?EqK#y6_UT8TK}E4qGibE=2prk zEQDiIWfJaxRmt|}m&&nXci$s9dqoP|bTFr5Zf&hsq}Iguf84&m1;@UiL2GMKQgLMF zK^~^=gxSrZiO?)~kV8u!FP;?{T^hzQ9C+}M5S{r4o5nVues6K;v$kkfa9vBBAdc{>NsqNDz7EZH4)aUj zO)0_s;=Z9f>oL8FPa_x1zid&n$S)s@fGs0{KjFC5>>`5-D#KEr&HTikmS$5D;;ye7^pj12J& zf#!1Z`PCeFa2iLh+_I@{TsWK+t7@^o9c50dgD}%v4EbW5y1~*nLbnccl<7Hh`BHSA zc%K_?pGy=OxW~>1=)kG)yl*x=8Kbqy6!%@7i{s}sXmO}2z=yPc?GpQr9hcZ~0rWYg zv1)SIml?LRY-EU(+i>VN)iipYeX7w;h!&CtAs*5uQ86ErzUmt76j(LF&WN|QEl`Q~ z9D8Z>`lrSYrc9L{_C!N*ysV8-@k>N}Gq|_ia=yKq!Roa@lpj2Ap+=Q^M%ptuK8=A$ zJ^>>G#9-sS4~k{{monJ@3WWVzC#(;5nTi_feF3ut5g_L zDwqB4NEQ@P;1Ai6tsi1m@<_B}3oov=+^AqE!8blz{UE_lAAJ2cxgJjv=bwd`lZL>*t$z>^f~kxTTC z!pIqj7K_MlwS>^=rAX8Km z<4xoR6xsqGWW7%>k9X5EwTV@KSe0@vDM{=xb{xm*d`Gh~)8ZDMX(&q8p(Urz=qNvw zI}CJ-WcgA7W?sKntMAlHL;ubS{CIh^!qS|+Ha7AFez_AjFzt=W6@J2xe59B9TY zjZfJ*TW`xLZK>GJxa=%+{<3%gQBR8|sN|10TG_;uKy+;S-;Uk&;gz*)jdnrjZg#T# zWI$So?%Bt zR;=b_Vubmic`o*6pTA}!B~05m0PVR_CZf;J_iCpgEl&LE9q4_ggg^hR!jwanvDnclz)fQmfcaF24&r^<8ygaV?8g^G3x*Y^++2dn_#WNc zb2U{%fwY*K%S0FA$8M65YF2XF4vOfZZv>VP?{ZX7oXx^2i@Kl*6kK*n%c0{<<2 z0IRiQ_uGwbw-Jq0ykeJ!DBT0NEFTLKQp2@mp+#?1H6A=d-D^My zZV4OC|IRKR*jm=KB~M_8c4^(M394WM3ClNEog|chiIhqg0XZmN4-mB^EVWBups~6i z`c+X7fcsGJ%qxvhwss~g(gdJ4lhnUgkgSjen0kV8)f?q>W0fNkO>znPIXGK!od0?XSgDRiZfhG;?Iu9JDmdBqFDm+P5Fv>tpg?9h{ctT#B1y*a?h2A6 zdl|y1S4laS^v#R$CUk3mVsRXTk%S0)7+_^+e)N_dkwj%6+^RGGZ2peuUc^a5+rwBc zf>Qn$ZaL^&I!cgeldst+IQBqGIUC)mP))mb69sEHx1hf1H_n?c{vfGc_VtA6=QACFcDCbB1iYlgINs zdT1%p_8eD&?he2`}lf%5j-P%*I|&-Xvhi(=ZlqImgd{4#TV39n-9`*M!; z$NlAy6ye6KW%hl`SBtN z1GKTvIA5z$F@z!(%f}VJ0wWqm0VHE8_1Lzgh?a5#F(Oh?5v$V2KnJ$-hPp*qa=(P* zm=3ZLw`>{38j8jm9(RaIdm~GO=Z3se7yxvw_N&uTMRg8n?~d;hQ{QFz`?WXeRn|I! z2Keg5vtt8GSvAY-0JKk!IjyA$fPLnsAw~a=5z$7^z0J)k%JiYUI&M*U0r@ zI~2Xk6>VDrd8+E^)t!Z$b?5iLD)49A3K9&f9(x6HuxpNz)1f#a8_jYR$0?+6$H}lc zBhHP)yyhx=z3EUfN~>T5WP+=i86i{S;L>%iF(prZ3z)ML<`$kTi;s|uISUAyzMD6-;3t5mDg`(tNEH$}W zpA53PuYc8Dy7-D%Ud9gQzP{yR#NW*n_1rZuxvOigh>LY25wxK zC>VPaT0mMOE-27VdQJ-<=gn*AUE4BpAnRt}9>XQ4aXZ2+va0(fH+<5Q18X9AawJ(t zA2T^$N$bkU_l{_hnbvoupDtUX%P3AyylYmqBf4QX(*Nh>B&!QOR_}Gu(X+*btb+!lVM6#3i!jfh~_xj?vxB1f_ zaHJU1p1z{NsGAkVGP50Q7)9mHXuBM-A3(`S(p~(&Zk&-X$RU?%G}-@VjdoyY%OBB2 z+a%+O)Uo@y7ULxM!-NYYAb5KeCh?^}>t@s5Z&qw^wQ1pt6&fpbbgz3%=$?*KW0C7f zk<)>7sFe)A`S=J*gvIQEWvI-3F4v}(ZjiXW$~h8IV>|N!?>hATXB{=;0Q@5kRf?%^ z#?joAh(Dw1Rz+|4)*Z>EdP`)}$Wbx#(K@u2c?-KT7*gh<+`lcy65|#vG>1t=gz<23 zyBT3n!^}}ZGz1|cYII%6?xj?bFWU~$&`=v1;`q%!IOKQbz^fYmx(ELsBLjE_+(riW z{@`d3?R=hfv(Cf=Ow{h99k`Sz!!Y7P-+~K<8LkDBb0e0O$0hDA{cUa$ad$I|;g?O# zsj#|?IO`xsD>=iZqCfsQk9s>u@zf@9l3#fTDad@=e1DP60O5~6qv&sYx1gE+{_$vS zAh7yoL?fO$#Nwgxqv!_J;yJst{_s1?*k^vJF9MGGzNMrp6icmT$;RRZ zgbIexpZ_#=5-Q-M5;T5zwaPdQ%RLP zOa9`h?~I#82M$~OCfHr!#0sFgyfpEWLQDf)Z~h|KE!#`cP%525=idc+0+*j~mr<~* z)wt5u!X$3)K02(&D~Sssp0#M~Wuw7;eVBc_a1M_B@LTq}{w4+ckCW3jN8y$6JI$pX zlpK^mPF$>85z+dder?J2qeb@Gkm2s%Afb0iAf8>CyE%Z~mU>I?mOeey7u_s)({|d`X3sXp125Sw)8!T z1)tMDeLNL#So7iFr8r3V{H#Ou`B6d?fOhiq?7_MHW%|u81SIF4HC@y`VH@ortJqV- z%=NPa?DLNKaOsq(rkYuvrnMh`e+pkdQyX&%?9}L8`_lzBT(Z6`j>iuf_Ha8@hO`f3 zwz&`|GZ4WscZFI-jh-p@fwzm*2eMn8pBA3nuLuEw0N@op`L&tQy`QdNjxNHfbf>F>8 zq3$`zM!mzI41-~uWi%q{K@L{P7&3sWFB3B)qyo9Ly)pC1EHwk7kVGJDKXV;j6zEO zZ>Q&=LAKn;VW4;i&^amwRB@CuN9bX%{f<5c+57HY2pHbNlLer+=XX^d3f6uO8(*|D z9QNTlh6mp@6hb+Y+q`q77@m~x(R+MhJzG-wj;qEv)zlz}_0o8G6{QI`nd1!v$&j%u zVx}v@RcHdl08hxhOYt>sBDUxJcK8dqT^jN{C`{e-F>M+6DJQAi`cZm+8nnDS)bPAI zEo_mu3!^8%j}iHJbD~=rJLlE3hY^HkafA%vY?(uPa8l`Bn$_&>C#|&KUhTtqgbm_RF+( z7S~||p-t!ZrQ6g+D$r?d*LNtPK>>^ED^ljPUB%KUQ=ZkTlG!9~<6`F@V`L!P5~}-T zD4J|O`UVA-cbPAreuRu}lCzI&2@P~S%(1rR%W-2=?h&3Dh}fnmKQ%`&-=J?w)#g&Y zq-khcC0{FMC*j+~w6Y>-86f5;TO{$T)y1#(mq2K&mRXBq7#I5*ew?z%{qr+HFSmm^ zK7o{bp?=eNa`xhB6fp@GG&fT8IC7aYnc<+(#!_cYXiE zdEG-7Z`>If_+%(YAJ(&Bj>h#-NM`dzjkx!;M8$&{d;jbCG$JBn%e6L1T@LyU%|c#)#KM?V=gT5I#s1f+==%c7 z7IQK*;SIF{D-knIVE68Kt67J@W^sYII@J3E$e;=BM*+{TsuO5X@cBesntsz~(rH6S zLw8B$F=sIc6${auvpvX$;&c3pQ38;lB=nz{PIK|IW8? ztkn~~DxJ=1IJeN`DmR!W;2SZ^K)NV&de8Nkc1z6oAUZH#z$+qCnGs8Ez820~qZuQl z?TEY)UHevmvap}Y9{j=)pUwob8D9I9T!&Xeb+#(x;6z15As5VFmlId%!sy}wd5B*{ zBj&|?sFBK>c<}@aEJdA9vnEsq98f~?W`>D`BFh%U(7#Izw2xyqJ%}fe;(C^#Qm^-S zructJc|jHs@Rw>Xca)%uH+${3d!R$j)awo*Ub{Elp1kHM3ymj(n-~6fx^`bS&NmP0 zp(KKO0*L1JYmp12#M>3I>5UQEn+{r=+Y|p=LjfqFSAcryK$%vR0&Ob{)xalXerkgkx#Ze9#@jGAxw3=txEBM1}}`b;iEZf?&lvC=5qA1TXfoidP1Ud}=M<}

      Dry=l?P$3hph%no;ts%45#di4G_7XZr{j{t6!N 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 literal 0 HcmV?d00001 diff --git a/manual/images/elb-health-check.png b/manual/images/elb-health-check.png new file mode 100644 index 0000000000000000000000000000000000000000..1c5f8615819d96f04b088e1d11deb60bcd1baab4 GIT binary patch literal 14813 zcmcJ$WmsInnk~Gs(6|N(4he3-9fG^NOYq?C65N9XhXBEXySqbh3-0a^w2|A%IrGgq zGjpFif4=(BbnRUQbamCc-nG`d!xiNvP!QiB0sw#_B`K;50ML|>_k$p4$g7G^+c4w@ zjFYgGDhLEx+E7@Bbn%_VG@VuK%$(hf98CdpTRR(51}76oQ&U?f3p?jCm<|B|AO)mE zKd8EAoUHiis@%45J@JO|~eLwnocZYp`^^RSmTu7a*;g@1-j=K?a zGr27-(I8?U(v)>C!zM!!j7|RU_*@p6RM)Ed9Kmmb!WF{2LvFK`(Fv!MqD!Km_nt3}UHP!$f0FVZu3p<^?q@KNkyn860{pb`X+RF@-){t#WLS0zd|(av3~zfa-&l8RTfa_g{-#o4B5GqjK&K7M z_M|PHp>a6%)iD;E377l2`dN^U*O}Q!kOADaU){KkhueyP=$*n3_y+!`5bOA8vrRjA z)$Y0%R)--!>-%iQwuGIGuc^PoU+ff0f^JX2hRrT0XWiY*=ATapY~tn7h!x$Qen*c> z6g;2!AKon4DG2Ojj)6Hhg;M$_(q?-G1bZk3&t8@mGCgNwPcadLg>%l!y-4V7@0a!x z?ARGtkFqDt9&uuQmVjc*l)yuT&im&s! zVAmEh)JoLfX&8Jg)E|@>wJcFD8|FSj`f6WQS9Kj|r~A+=z`fQ=M`e2b12PUWi^FCq zYZ`aK@{_=9$mq}SZN#KQriT2#hi5lxBPC*alD}-T4a}SeFlXklmxL-9hDa#Bg{ zY|S6Cp2zpNwiAALJIUT)#ShX?;O$^82D z+ovwaa#vOJUU4yTM!g@h^mjfldw)jZUr+TOUaFdYJl3wO!P2U*Af3+lqPvqNfy=;(+)P1y>`_oZtuhXsxQ$~}Zb zsVpi&+M91?;z0CzsQE3P73=xp>^z+}t%ZHvCIZb=lR>AoqR5qPe)?#{h?u;Ez| zSn)w?QCM9yaH+g#HUDw%V|VrtI|?>9-Z^dmvtFU61{)rG!NV`VmX`%XZ8BnLoWZxx zXChOaez%+JQYU+Qq1p>?qn*#W(hrMJi9lN+bFk^Lyc6yNOM4`I33)NPZ}9VFfBNmF z&PeWTo%vlKnowq*b3c`1ZKD-aAap<$5=#k<=HwqMqfZf5 zMb;c+blJ1Nor1*8xK8Mdj7dpoxx#P3JpCU6zttp$W!E-yxSfiAGD8 z4&omM+%k=AWiW54$&;evB~U4+cN{LJm*G~xL!aU{d{@&O;eP7si^N@9p|JUt2yO*? z?v)!nDf#X{Jww`U_N2Zo|9#<6fIs--X+cOBKhe|EX=JFnw%->p9}x)sqd)(==T=qB zv)k?CId4E$f824fp#IqX6CKf6`-^l}U7L<8%J($XcVE5;@-8@Bnt$oiBm}`ipC&X} zjz-e)FzUCuU#yrX+C6Uy`ntW>+`Sr`F_-U{x_CZ#v_@&kDl8-NN z6VX$d8k48L=eL`WTUk^Q5m~>c-J5Tq@|Cym_pws!o!UbJ&V-#N3+nzJKOS!L@r77% zrfC6>r|@mHlK5=*C#;k#nyAc97Mu1J)SpK$I_A-XLt%&vjs@&Lpr8XLMXWbR z2Z$|NO{Y+r@?TnpovU6p!38r&FDt$_h!Wkuc>`3RWm`(01fLn)Ual%yWzb-up&Yfg zSy<55NtPZZx_()s08pzmrXOF5l&>_n3DQJDUp-0p$!J3hZsoILov? zB}Av!^FCR=qB8JUyKW+Nby86Y2s}6Nxn1DIwdSnQKfDFQmE0~oKZa)P_;v^aA3sj@ zyoZKtV>IL}JXl~G&3pjUw_~k?@4cGu&ZvBYAUd9|2J%kp!)eVPjx{G0{WbW>_rvin zVewV)n6Doo>0#w*;bi*O<78^Kf=e!4Df=!|gS&P1;@aPDn-PSW{e0#1lF&T!=a?WI zn$9y$&U-{UUR*EDv^pGpB%dlZ$~(A588l z?l1=lp>67!@zxCy6WACDO`}wgWwbrj`4|=m3kwSLYr6c@1Ml1Ma!BW5$2cOTC;zG; zbF7G1;A2S0TyOdnkphI)qOby+SCp=_P-XF>7tf5K%)Fhtfwj%u^xr_+XP#NYQDGo( z>6PJrvLYUw+x4g|$O?9AH0&u=VqIOx;9D9`w5Z6-$dIJ_ZO`x2a#>^6{3W zjrk4{>2hQ~>E%B3CA^gT@q2set@cM_`TO>l8EN=(T^L7vsgMXViox|%pmTF@!!J}G z#Xm|D2V+=DG|s+<+n(R5@^ue4WaQ_ti8(+>RJ4(k9$(+H;_hX0j_IT78=)HmPmZJA9?ab^NM|RJ+O;!Q&RDdhcc$SCOonb=~p$+Q{a{MUpemVax#V!bG6z{MP9&mIlN(>(^b*9* zz1Uq;WQL9paS|lQ+jMCZvi~sJkHdeQ@BM=e{&uZ;EgXp$q~wn8x!FFN*I)sFWRvTa zz=;{qxXWi=yr7hr@p}LHbDG_!mrS=CJib@(FWl~um+~~9UjjicA27lDHG8fD;?Ebq zlGHlnbvYnkE~hyvyV=xG!0kRUh<-QoFA6|CHy1S3uyRbF?ZD<;4Fc{x7s5~X`3Nu9 zCf(zVTGHaXscVa6giR#A{y}^u!dV#Q+>5RPkNbIo?nknR@u0@t)`zCG4iI3g>);Lg za%mbMWLR`;n1Ocp^ep7x=IYUTW`GDV+uy$trN>1Vsdxx=L=;cL|9KAs^*&ej91I1` zd~(jOb+aKK0NA9>f-5U@hS#CUBH{{Uh2>m<_e_Puw!YZ;P@0lJT z>4A#?Kz{)NjqjN-F`)qFCt{q_O*Hr|jy;=SYkI^0dg(U+FdQ1LvxWi!=QniiGT?#T zDLAxVM8jrE!Eey$pu2FAy@SEu4}#)8`%w(?n$o&RZQyDASqjwDt{nFJU6IrPyH*6r zM%Q~!i>s1TDA)6%^jY~v*Rf057FxA7WB`C2F`05Z_1r*f+D_33iO$Gu50qf9qr=PO{_ZTO) zY+6D^Id>XXf9gGvHH8z(gdOqN^wZw!Ob2s%e2{2wK}GwVI{0u$h!nk1UT4_1xyLcp zR@NZ-7TSj&9VAMxK~1s#3KklpN>Fc9J4SO~h?Mz!*Y5!HYLPLP2aM+a2a> zv)oUK9?HA-40zp6x78QsD@=!m!Dp||TbJ*~Cd}#E=d&gCGnHo+1*1b&UdG8WfV+p! zIp=xvI_Wy&Ap%=aS{qm6W-{wjU3z6(0@7*AsspISca}HR8g6eYN_~H~cd_%!+Nt)0 zeWqfoEvURN@{1<2i*WfulEuC11z8i_`WfOX1((1SeJbSN#0$^o3NIy@sJ^xKnZ7ku zH#RJ;de}p}_4nqnVLK!1!`yqth4E2>y z^S1P=>QdC>J%IEDLB}soyP7b9*!$YyWZ0kvK*y*%1pjxWq$;a#9wH8W}@LpjC_bG++>;C)~9pYxNxB3y? z(kmxMugX)cJ(F0f;mClXKBeYnbH8Vpmn5ei)9x@dy@F}21XDER*91R|oL$z|I+tJs ziC2TGt0iLh3d{LwoV7k4=P5j!m6%Lds5B^bY+K%Aw)=jjar44Elg3&}#zAV^GZ64G za!D)dxHjB^lhSuV9e@UoF1&xcUVTx=1>8NEynpw6S^5GCweI!!xU?)X=V)5{axyYG9C2gzRejb5guu&cW(#s~^MsH$tpI5NMp?8+n8?lCPnRk!H3So z)5IR;h=kz1ul40!*cH)%8lSj+Aw4RlS{+ts1K&*z76nPvoKj?GJ&Oen@fvxki&%FW z-i?26VHGfi8q8O^Ed$G0FMO7{8>shtf2LG<6P~+uzi`+)Xo{h9G`E5~>3s6A=i5$W zs`}E)7)bKbRE)T&@n)Y+klf5UOxA7;7I4%nxo$T!`KrLf{rI&4UbCGu((ZvMHKC*2 zeiUJCGun_cfd`LoeBV!XL+BB@3y2QG*PqhLX>D*n_16DLwv35eF{nKXh*bFG*Cn=M zH`u1BE<=Y>!A^

      Wzg4OA<=aX2xdue`F=uVrcZr6<-H)+kI;uIe;o9W}@?_SaGhxV37 zkaFbE;5B|Rgw@cEloeVn#5q0*|M_+~Fz_xRNI|At8lKaxmHHujjdoNOX5&Jl$~qP` zic-h$QqR}GKmGCkeN!DHVSAC&(Zf33A}EbipKZjD7lRD}{=vHGyV@&^H-?i(t8~N@ zEu(blXGxQfpu6RAP2B>lj;I7_4GrI=cCLx|WL4_X~PgAh>KqHn;gn_WlNJ@5wK;D@Amc*vWJQ>+{CP=(GHcGyyaq z)8#>wmsP8?H{j}(`JM;q{W)Ks-G=!~EEkW?fl@;o zfI3a`eNJhC6!X0C*T2?5uyk45mO!jHe5J9?%HZO6a&^a$f3VX~C8QAGV8;sA3X~+# z2kJ_pxj%1m>77UP*>?Y_IN#s|bO#iaTs#PDZbQtfyz;!C>yLyIIK(21J&ou}%gMb8 z@kV+NuRDh-|MM~6{&Te%O(y&{=_mnmuwTyBRCPZ%qy@Oil^taq7vq*W4e!HQR%D)t zN+6>eQ5iH|FeONga*%ltry`^-`83}e1Xosj=&rwrMA!z#In`8^usw`8vhC=Uz?&1- zv}_f0Jo22a%(A6o#muDKcBGJDU%C9Yo5<0~->&QrQS!J`GAeh$^JA2J@A-SzTZHVV z&Z$yJXS2iaXx)>YWST=mh*Co2YPe4^RR@TIJJhLH&yxOEysiX}D?4}=uSW;CWtevl z2fkgN8{wuozwV|u0S7%=MGJSVjTBQ#ra?QP!?NhYX*dE63!^G;ycO|}bq?b&wZ0>( ztWE9u0NpRM>Xz?@Tbcq_>(HMPGFOW_0_|wHJA~q{<}0eQ zg~?euLuHM0CR_aT4_PqJU;0vfKer|-9+U;SxJ^2Kh{=7Dt9#p(88Vn!_jHT(&iqJk zusfmSg`GX&jLWO`Xm~?k!vFcgIJQu?uHU^4>D5H|5^^0=)5HDA)?Hkr{dL9v490QN zv^pHV>?%$BknsygVZ=!oH3J{tx_n<6QF7n^X1dw6=RSSj+{IuQXZu2&_Wm zx0@7d)4H=&^PB?6cCi zwZ8|?uezH^j8nRpO;zBCPtL4QQ5^1C?^U`F7*pLdo_Cdai(JoC*&B3_%>e^Vsc0CbOXhZs zv(Q-^lbK(=d5-2L3>o2O>L3q_2Orpjc3dlS2J_p&;cU}RW597{yy|nsMCj!e@bM|I z1K(q1-cdvFQn@h*ly=X#&;hz!Q8^VyyPJxK4y~Du@H(3MI)rtAS+^X!y zLsK?vX}%A&R+#|~wv`1}+;Ip_)4gobv~Huj=A8>e9M^3~!cLYH2Scv6ej$=d+J}9O%;0 z@1>kAxpm%c-M{lSgmS;9yG=Os79aM0&HlX9v(}GR(4c$OKll=b7X>1=p`!^T!y{H!iCS?^O*kWAf}g3d5Y9$RAh+X8PzYK_4+{N^g0r@A1zW*i{D-SqA29$ZUdoIMAU63=YCqKpXor}#pNh3+>ymdqD(fk z=wCTtOg}gUn+6sB`HVU59+Z!_##-XDjb+W&A|>S~HqbdqwOX;-$_|GVXVJqt4tDWn z>WX!qDaJTRn*`?@%@YcfALN1W)E}~NEElv0tG%wW0kqoiDx^XQg7{74y7FYEL}Jj? z8V(-IbybrfRwBbi!-cJi)=~tA&M5+C(ss zCXGGbNuz(!>jTW5PU4jxcd$n~_vaBVJS1M!E*Gib(3HBJ-O1VWnlR!I`)m%|tz`jj zK{%!lJ@4ZgfJaj^BNYO>7&3a7S1~TpyTzXGvN8X@Or2rh6wMk!IJ^@g7gn`&%i`;k z70i(5^~Vj#9WT|P8Q(i6*_I)=SNI-%lbFD%+85zfvt9;Ql>e~>QX=SC8tD@jiBra^gYtd;`qWGDWV!p0sY@P`%hOjKTFL^JnQ+jG;@Ke@s8Z ztjvtMa+%O;qXTX09i)A^6N7eSe@f}Pm6{Ru%pd0#;owqc`0!?EA-8J^EN;>9nZ#0Z zrV#dZ`_q)f=$(4;?Oq72-f?#QCKa}Y3BuHm;Jj^KDBRKIx5~5)w)_?TOD;A{|%rfDoqJD_8b8m-wV#z(7EFE#=nP+AmemA_@#)8DtW^RL)ng~czowYEC>wmgE} zFS_Db5q4J}^iJ!iS+8CNzi%3T&|A5DOkLVPlE`fHY&DQk)!nufcnZzAttF8Fh{x%G zv4!cBkLQEwVd;+oMLi$ConAX?OAHb5Y9veq%MDO1*{tNNBLD z1>jYE?flXPr;c$ySvoF(lXY`CvsVJ3o%EEyx4NDbU~+L=5a(olB(MM*>sTW6uV;U} z+zyEh#J#_{^X%Q=v`Yc`iw5UXXZL?QC~ii%4U0ZD&2|B!>ZZ zj=~(_Af;8EGzQV!OD-H#UVx$gzQn)sO=8qPkvU3VY+*9J*>}U!c+%g#!PArIiTa6p z)G;?C&>zT&5>fXZ6xxQcG{>LUh^b;$OKabU$YO!h z-hX$X#%7m9d4^e+{qAmBLY;)=;dH>|W3I9WMzWai0v^B^!R3@XZyHAp%|kFB*r?r~ z8JIXTuNK+M`<|1(L>Fr`#0Dq&w*L$1foupu9eHxNZQGgJjA0tDP$l^ilu+GKfo)+q z+}$`o!LQ1V+gDe8UWt+}5``V1{2b_zj1MTOP4aPSun;vaUFV z8_mMuaA-s8&@|CVGUK~Zp33nH28%Xxhts@A)>pAo^FP~3h?mZ$KHc-PcdMERsp)wn zl4Wp8_c@ngqI=YLr_XoY-fqll*ciLkEE?6@wOa^TJ5S-D zLPm4|iwwO-L#!dZ;n^J0h|tjUfGO*)BvFqm0{gSX%QNTpH0DoktcHdZfh|>RJWcU> z{e3lorEC`~beNU=taNNindZ0Wp>LjGLgf8J&Ki6zACozLz4RXFWBuxBl!uy5Dv+BFg8{pfdUSK#kwdEzm_F01!O1&aA+$_D&V-i>bQcj zFK&ms@rmRmHR+&8>M2-6!8PXM1bWC5LGF16Cf>p)@Jr z${sxy3VmA7;f66AfoWA^UaRVfz%Gz!jbdF23hIDo-)tKm7FF0%8_gF>dF6(j+1zKRpoVlf?L|#inugU z2jK3Z`(WVU9rMpFYOVY-gO zM_+@?3(#Y7?UR!gpkn8Rl{B_D8|#-I4w&IEC?AtzsRyu_)KTty94I(pG2gEDhZKv+ zMiaeNHUA;l)hIENMRDmZgoioT#?bKt^`&7k7PG7Z@`TwT3WWxZW>5kwuM7}3m#b!` zF{kJh-N0|rzak`N8qwQh|FFfr!K)F#W~AyZnUe*It7M_bTXs3_*<^x(O$HJrROTLini zQ%D5GKR?|ZGW)|_Z?|n<-)WEaoeehD&8j1P6(lw6z>Ll{KjHHI!}+^1_TyC@iDOmI z`=!>!IHKO31J|&Hx!ztE4@r(q`lIY1MAMJ}TFu0)HZcKok9@1@CMbD(BEkb5QfcmX z4*H{^+sf03Z%thKB!Q!J!>w}Sf<^A7G%bni`Cy)2Nc^bJ)0~cvrwPZNGBIbMv~Mkh zBEB4O03_CMhfr;H$Gx2?sQ8v7%gr z%68wth;=n3+_@um(h3!s{cztC&tagkv7LYkiY%d@Lx?PECUF~XTI!EhBquKne5-!I z+Imj6KPB85PQiD7<&%?IZY_Dt0A*mG z!Zszcc7u_sgaJ|w8?6}I-WzlrVHl@Vy#QNd!q5hr{8@owaSfn}K>w(3j*^zbKkC;2 zde1!xbGw+zsjkjJX+eXITJA-0!El^W?FCiKr6J?g9O8)LV8)a_tHS>RoYD^|FOL?2 z-==XS8*U}wIF)7mLQa)v*>Z=0vVs*)vmmadr*~HR$jM3;7pmGXw7zljdz;rKXo^l0 zW!ITmAYj_Co(-#nfysU{3*|wLGDGk@lQ23TL1b1fa3Obk8okHy4M#cTqyvazb zPsfrAOSh&Cr@Z^lZ>wBad!k|OZOwo)mdN2Ks_!)ds5v9j=Q4Xs-XjSzqB?6wL z0dQ*^(!5NXHP`OUep=&mz8m>$f-B&Q`WOJNBr`Q7YU3_!tZ)f>M{^GdVTet3hjQ|@ z_xnaO`$iqqmI;NJmIozM^5`U-KaN_Fn-d>7N89tQ%%kqkUJn!90_eDpjFBT4+ zY56*i;mYuEXmLixBv-~fPm^|P=HaZ$b?bN8d#8>e$CSbdDVFxAF*j+9#poe>s{He7 z!=r?qqv@l8L7#v>D&AnSQNO|Wa0}?+fNc70%NPd)fn@76sYz|iy$wyr;^S0am!sKF z`0xP$0HIWXBM0ed=<;wskGDU5@adM}k03d5D+>Em?YO#uT28kfmPM(RQH|ny5;=N7 ze6DPBaC084OqNS#OL#v$-C7A{%^Qn>#_N>>f7k8L-A{;Yp>z?stmx&iM%#H2w+Bd` z)N8m0s>oVD_S{x)+d$!BWcNb_NTVUUuSRo>gFN^Q%PMi~{Gk!$p1 z&lY4SlE;JFy(3PESTh#7RLdvqHrESngFE15bXAj#EHAt1m^m1X?px0bI6p0G*$R)0 z@9s5cxTVNjd%47XgFuO?P>*|CPQt#=_?I0x zpAGf3Ix|8_9-%3cc&W|P{6O=?@(upA4l@+Ai#-@Kttb4=up+k;Fbq94ZtI7%9f4QM zwvM+!NWo-uC!}F)6cH}DRisuie$A07QiJK|?;9QyJew#KEZ(`Rzh@)9=UyP-im3<2 zBiN#*uNb-PhJ^RD?CA~qMX0k`*lQT4d^=~mg)mYR=gffX1rx*;oEhD8~dNojHH5LgBx={AZlq26-npV zg_o%D+U+jsc)l%NcA}Iry|;yPR46}_GjksxSLn2gx%I?{%)xCSuu{`FWxi9n|H{dq z)mTe%3eauBgv13PSA#U={lCpMx&{(ngOiGOOgECtIwTf}>~V}~wAHcg9~>L>os44u zVT~i0Is+!paDuZW1Q63jT@LX+6fsQ6KCP8wAiO;K7K6gpoC?<=3od!dqIdAFC7J!3 zR@7$|xa|q^hNTnXHK8Q$ zZWe&#Gcm-nUF$8#(!{a7x>*z(oNx#jR|2H0u`=O7>fnF6)4?0OFtomn4?QSlCi*tv zeldAg>&|^rJKk00)f&Ow*;=%fUP6ONf*q`ZM;^>cmqz-ekibAwxrl+`chujgiHR@T zoeFvv=f@O>aa1841)ed#1y|_nRO#B7gk4Z{ZYsGT9n26!FrR;8)uBq7km1nNLM&+UNKakT>hBhDtxTjDa_NE`NZW%Oto>V@diRm2_fYBE|>x9|f?dDJC!OVpLMqasA4C&@VA-88?&tL2si{feL=6XV{5 zNHc?Bd)w#3??mYOTqhxL73M~U7}zd~!!ftOn7{sxZ&vPOZl~)Ln)QA(n~A~dagGEF zRe6pdcCMv4)7vH(!mr} zTXC6nl?*`-LN|7oSY+qU>T>szifWb{2B(EAsQ5}05hBb59C%q&2%HbcVgu}f;dV!w z)^jf-S=Y3idPV4zOadA(9gQ`=y}cMErKzy20ViQA2`3B5TyVn=p5)M!J|6(IK$BIC zZd+mK)!^q+>`~h1+=r)jD~+M6$mL3wiwRWqfSKkaGbg@A)Lb4vm68n$z1sJIW`>)4 zg)MbkIhYFu#hX=7$-^p3hU^6}`ji|oRNbxlNFzw6qRQBwvQ>l8ABb74C#Q)t7dJ}- z&DUwrsGk3EiO`{R7$Fa@mNb}7%Z}Epa$t6X1rJ$la5idilkAni1XpSr)Mr^2<2%O_ zJyvq2~-9)OkWta(L&SfdjJN-(}UV_N&6r?1O_O-}y_8@?DGamlE8z zQN^Th57K>3w2XB+y}y+oSI;O(E5w~U&7Iw?9-ftW>@-7Ar&|G>&IY7VO%m3atv&c` zilvtjckcS_9!zI?=KBiZ;ieNl!QI)E*`$bnt1rZiW7Erb2O< z-_nh6r?FvpQJN zFtw)!N*=nZcHooG8~r5f>XRnlpJ>jmZZp!0_Y98LfP~!Pi{PXSHTtOu6+B8^S^~oj5>x8aw6CSv z8JC%6@w}=pY*!Tt?kSZ&C9twJEB%G)wO4eNX!=asac(myOvIZ~CP#3@*D0KG%?!9j zGzbNS!x{f$;=FjyZy%dycdpr|k3I-qAiiV-{BlJEytq%ZV2i-_&(h6noHFFz{c=Q_ z0{A7Ql=7-Uf#GBiYT_y1!kS%~Rm#F&+tPAA{J2Kj1+p{Po&^sMNgx58i=dSioUJ}C zdWZ>J7_3lAC@pS&x=(53%ke5WO%GVVqUocmu$d1lwW`6YEa0U{<=yhgckR4FDQv8S zVbNcn2wiOM60R4Rnb0~W-u;y|cSD?dA zm1i9E{dC;G+SGjtwZ(`KDMPtNqaSwg#9dHb*1&%Q@R8gv*}4WkbIl%n?_eqq{iP|H z6#n6rC=6AKk+53WT=RqB_Y{f72e-V!@sodAxZAZZ@x9#TdKcYs)^4Y=m3A{(Y-w9v z3}b10Si(C0#>qcBQHk5bs;udmCX>g{dd>=6`!y+q_s6JeEs$P)0gW=@9x(+}y08nU z2bXS6lp*#{w=3Y|idV&S4l+^twm!5L;3Z?@R6m?ZV~T)ekcX$1C_e+YjhICeU{@~j zZbdg+DtxwIk%36ga6?Ywn0N^79jS#EggFi~T)e!D3F0I*GXEo_Hzwk-@w?vA32sf~ zUa=>R|6uV&W&EqfCv5o6IXlQ;_@AsBsJ51gV}E9_XMpa_N8@r_qnXRAo~!wN{=Nn^ zdrGWR&xKR6FSm$IXZOj0)I|fY0rjCnG=57DDnY7_!;dv`FI>;OhcsI=d)jJQT8+7z z>v-=Ux8ow6FrD@KFSdH-6IF9j3&9*f(+gS;9Ffd2MM;{orSM}Uqmd-TZYG~PcCIen zx)HRrC=!N{NoE@jl?+tgXjq40+kn?r}=l@ojLMpocUBIfN$*8)-#KWb*ZIz)PB#(R`ODZbu8CKE&OIF^(S{9#@~3V5f1m#i z2-8tszxWp48R^8+d(DsiX(_ueQ+_MdrBDRKjK)%^-f&-T-GRV4{u^{Qn`;8Wt1tbi zy<+JFr=sP5Y?^g4ID98DSiR{v2qrqhvyDwO4*X62*eFB7voy2-#8RaOkBZL<;_HpO zL-rVkPJZ2wrzJAn;u+EY7>_NsLE(Tb>2T>*@?mi{yx*d2^`5b8^@!_|E3eTf2;l+E z&XeCXdFt(fIv$gEgvn)gOo_{Ia`jd7)Z7c9T^c9yIPBmwBR#|UnQ>W#p_sI%S-f?uXlrbAECd(58D#GR88FA;?XxbMiEn0NyS>8DLr3FT&Ri> zYPHDzrpThJ5pR!L=k+%>7LNJ$a%!XJoQ%ISjvl}1b<5gF%?LMD=-zdT>$tSKS%vFU zMYk{Mb~qj_j**nF4m+v*0J3Gen`Ut!zy?Lwzs(oMp zNKa@=_A~ZnO_r9|aH`*SNMxOF=-i}RJfHV&? z2hzc8Cd?{8(E9>lR5XXHJ1D!&3GAxwKFAQqP$ie;&_zIs_-fH6kF3TnxgUvy!b6oEV4aa4nihhwEGLOnfhOqA*SlTs_nnrQ^nC8RX$b z-G6{P3GWme@b&123bI6z;EF+C=%TMpxC$!yOB!9I)Vk^J$c-*F{`p$&kiAU`B7Uak zqZ&md^Yw;`c0=laA&>-JMXmaij{SXp+Rcdz!m;H~y$w{CA|+b-s`@<~F6^bMoLFuE z*I5-ldj;d&KIO$o5LkjBE(QJy|d~#JT_%=M7EU1Nn?i$ET~Bu6g3Y|4q=Q)HSevk}g!^ zrzCJFMMyfsI$!+Wkd8%abd64V$FABpNJ!2Ze=;H>Mzb#c755Fw7UL&Mj7O8d86HjM zkZ)|4aWpP4*s?jF^*6+G@>%q(`Do34U((9+jph}{VAo4^L zoRoV;C_*Zx{N%bD>vVf^b1Q50DWMr7DiI0{vV<(yV-fY!QW4M$Xn>9vX!6CnV}gm) zHvLYS#iEEwSjw5Pk4*Wvm3TIjXHVqq5TBig?ft$ZzlmZM2R~6=%1dvom78~7;OlP& zYt;OOXc5 zozibHxCB8kfK z=0|2%I(@Aas!*~{a>9H&(Crr1K~*_NjV1mUQ{QwYSks- z^H;uswR9t;dqzZ3F_Ed_qn4Hy^*cC$H2g0*Gk}kTU#fjB;`P~3bGcbhg-`o-N}7(V z_FG!dD}~{dQqFbNV78IHuIoLw#K3;zJ--QNtuJhV@wG_467up`EMuNBZJ%CVfd3D3 za!N!t)rBbr03>MDQ@O|vse3-|{%S`W9RZIkT-@P>vVG8ZWX=I0rAEeSM22dL!dA01U2>C3dcSY-KxgBLI$#8GtM`xf|L^u--1Buc$$ir~t_R5YdefCS#O+cC^*C z^@a4KEAm$$-~SMB45s@spvU97&Bw5RwBm{(&0XvH6i+Fa<817FW1PiQ0}v z7nwuaIRyab(64Jm4Y)Ij=ot5;`JgM%v1gk^T$kYS`Pa!w$p29IWk+8r{07|00=1vq z0YLALUvjWPhuika4bL_68^nmF(;5fAzpm=go;P~W>h8MvsLF0Y4id}5l2SaII^e-S zLbE^P!~hep+cf5&N6WJW>N?cY?mVC3Su7IO*j+Xjkw04-t4r>5Imjdy_T+?iay6Zc{DpE%MnbqNcN(nEgXYV6O-?YZCupVX7bvE}AZw$LRpijt1 z)0eja0$vZgHRiGSKxafxDnA;LkK&b6tDJzew!KDT=8YM&W5nB$5pMWZnI(enEYDlq zF1Js|U#H{**pi?DqTO#zt%uEz&`P|&Pg$71%9{B@M9X%UW4%?6`9K`w`u9B(ZN96& zjsEb}3@pl0YW&IHlX{9{+ZqcaR}m&W+E(6bv?=v9KN&>A(w=^{tuvR=lY*`_3l z3ExVZU3bv&Y$XBFj$?)AhA14q+5Aagm(+*YslDe=iBdSFa+#qEx2? zj!JoiS3aPbVMI`ceChsVn|cok?c2`suF?)2SM`lO%Bg$38%YC#`q$riKCL^%0`B^E zPth-F$~>599hE8cUfc-L`#X?5Fs&98e&xe@-X-H2F8gA@u(iAyK{_xcsn2A!mXHT{ zBOc(MPXA4o$0$sM`xFt!AHc2du$zK0HC0NJ)!AB)-O33{OrrYqcdY&yyH_h$LDGSd zA3n>|>kAj1{eh-NGDkZ@?K4xLH_GUau0Oi}6gw>L2-kzxFsh8O(goT$;oaXkmeRIt zQ+rSZ&!US))o%)wz{9d*RH@RoJ`ZbGh2FWh(Qr?q%73BcLj;N1A>NlY;qnfmbfP^`Ez<4jnx3-q_-o>5a~H zJ6w=V4U8>l`8rQ1QMUHK16v=5ty(XrD72OQC4JkfBX2Xa9^IDot5YL%ePYv-T94Mm z+bDme-uAxErX}eDDY#&jDdWo|Plhzeh}i4g@nBKJ^N6WOqi(@yh*EbT?Yuo@ZsN{8 zZUwLI;hZ_DPXcF76=(GKN6bCytoY{jVeY;5ZZO&7TB8`rB-0E-sd9}v8wp2#`nltl z%jxnkYvl&j(&^J=itDRMQgN#-JEf>_HMz1Of`KoVL0(QqJ)ItTtTv1M{n&V<6?x%S z-S#mE3q;kRQ3-T6V|N(%JPo=KVW@%ZDQ@BO&y9@PO6hZ%#4tlQ7k3aiP97gzJ_YU= zydCXY){dB~serAxcgf;vTtG|ZkzAMXqM2-V`1O-u^<}I(-q1k@r9A4c5dq9hD+GZ+``aer9~j@ zmk5v=SiO269U%!os^@fr$RJhi#Ln!mo=qh~dhu=qRdy?{G>gIe6Dvnk`46}_6i1DR zT7kgc4V?jkK&{8pHsY#$HglcWt~l7)tGu=;@OBE3$wU~kFjmX;`y<|3`n?gK+^{E? z2yf-}Zmm`;3+Mwgr5z{+aYv?N?0#IP)I<@sazAT>FF)Z#3?i~Z$1G{|qh%gl; zn|eQg59)$u&>u`e&$I|s87%J>P-sIr&{C;42eRCl^w*jjT-LXD;n_1_h|Bz;UtOdX zanall+?*XveA{o}uJ~Sw-r?8z=G}2iQAI|J8C{rT=H{2ym_7G+3Z1FJHrdJ~R9C{34 zm$jXR8}_~;=}l@sOr#cu}_T}{RD!Y0#Y{%gck4_a3zveGV(9ATA3{|u5+t~6n& z#p-Or#L>AUZC-A6>w=NCLX=@z_?DU}G2p3P`WFWSfrzj3&J8(S!`?JeD;i*ivJT_rV zv=jck4t9dJ1MYnqo51ZY|041Pj|Q= zOSXW?2z{#KVX*FXV@|Tv#8yd)ziMe13R5xMKnbA#e<*=7Ti3)V34?UIc4$qh#QUTD zW1T>}`E8J`cWVqb1vlHI7<{7kv=nkS9C6Mni|Vgrq;t=#pQR-xx2jKCaKC+W{hnr% zy?t5MWb`~@#^*~0l5`|H4K4M0xCfVwWz~U^{lAv0h}eJG9U+_UHTCr10{B3j*GhPD z;AcsU$Ln#VQx_|}MYR^bMjMr5U)Y5<%YwW(vw+5G@zazDxQqij9_9uHM)Rxt`cmH-vn$+ zbMzH%OKSJE&ss9&$v9;$HHgJ$XAXZy%|JlaujM)9f^JF^4oR;!SS+|_>TUl4>UJf@ljN97$^k35O0_`Y_4C!SA-$R}|xpn_BD#1j%+vN(_QmLDc`c(0UyFclk&& zJj{NXzKh-K;xsyJd(q7fiU!H|0pzpy2hgt{KK`TWZTT_%L~0)7ueT1O-ue3_HL=Us zQS$iZ0y_98kcyh#Lz^kd>faaVZP-!)3Bpi+o#)I6B8syb!5IPlc48&~M0KCs)`dSN z-r^2KM`=jc3v!y=$GwQ?9{rX=f^ zl+c}3`@W>BsOP>Hz*i(!`fDhP^+2dT8j@8IoyBy?6 zP?weciqht~5qdxE=i>Bpe7w+lg;}`P)4mnAJ{vP9*`>+*V@IExD;LF8rity&3R{MD zKK}jvJvcbHfihr+ttf~|dd_wH)OFS0G_{hx;@VSjkN;CKeZ|0rp`CGvvS#!eFXS}6 zkGb59(~xp1+kNED8kgK6yGD5X)&nD8`-{`Y-fi4A%U?bmd))`HWIA*UjGT<;$&;JIa9vI``d^a~?*Ra!I^6 z?JcLDArMW#rcN<{6 zB{2vxaq4=eSVgU|o`Or$>lWywUS~f0M9`Ow@Sq4Q^a-oL?D-3_>qInW+MjIFh21kC zG-ap=&A_7^#fB==Jlzj$osaC zZD5CJm%z~O9J2D;8}WI#y&mZ7vVWvi$Qvu^7_(!+&2$xKY8 zK)GYKaiink2hXA2a+>!#a<8{cpE1L57g?Vxx}rT%3k&OXw_w_8E=Xa{B3Zu6S{IiH?K#l6_Hw~OwfQvPK{R>_Cpq}yrrp;qJJ za%<-<{osK!;y{1P!|gVkOgxTTjRBn~M7WG*SfG);k$qT?QT0nUc??ONOSwaUk2F65i^5hv~$7rg)h zX_%VK^GaU~%y?rZ74-92FEEN; zitU5gP-gWkvlJoj9a0|=jpkaygRm~Q#fP)|VcDBD%d7cmt6l0wT7<_EXWJ_gMUuYQ zuSI@(kwKQXGw=`YI|?6iMXrBcK66?dnl9mD*D*e&KieGb_LF!8Yab>l)!>B7;I=bX z&@)sV(#B2XJ~b`4UgEK$kj)3`hk*9v8;WmXZ-S3-L?)j1@a5Zni?TMnMu7M>bwQr4 z+T|#aKY|Hdk=Ij9aA#0`ZHA}*fsDcAToIj}2!WHtx=mMLmLLo#Aw8Epe6&ARP;a)X zb=k$Oq-o$qYTaZ=*jrbRFZ;|`CtQOuZ+x9r6Hi75HmT--gbGj zkg9Kes@=E~nY*##b$JD{*)k(6k-qcmVMo!k*Q?Hi`Al~&Kwojwid06aTjwr80Sk%< z%I6h#^%7?PY-%eW9D53_wO0nu*itZ$yJ^ksK}LIyxtc3c;%Xx^)Uz-f(XreLWCm*n zvz&p_#CqLDoqJwMqT{kX!Sl6zzk(J`#_DUE*Ip!VydAbz#(DbJ-Tl%`!6h3z!-f>{ zZvSGi1o5A6;r+&JHtSD2Ps1Vw^>~k$S$dIBF>MdLU17}-jxX0aagV1N%m&eN;Sc1& zfS*&{_tilEjrk>!Tgyiu^9Bn?Gl9vCR(=H!o=PU=d@i>0-BsRG}~9Toj=Qlg!*gb}AGy$<^LD|GBlRlGOxM%azbiS4QbMr8$w{ITG1c zM#rRLGuWfKS>D2iUj^F6x0$ zWBW^8(Zi82Qfn+HtNj%kswLihrI0^+ba5k%EG=n}f)k;ssi-c9CWlK(k`<*xyCO9u ztzPz3Hk;JxWCEEh2Vu3`S7;q2hw=ex;h1&%XSj?pk;;}@(YvZ&|_^Q;=VG@!LV6QMh%Mm{2 zXdOc_S?%Rvzf0j{)rC>3|NM5HqlNFadd2zi!K}O5Ziy79#%lJNRj6xD-01xyBjk2X z@jKf_`nhwt3v8Nmf(Qm?LTk0Dl{Pr?lpcQKre9^leM)U~WG~ijbwHCdP>NY?U@;xc z4Xv4PgyOSnb9AOoM*1!4394GT!jbWW$gu+(zt};W74mHdva!uSt~QNq+K9m8X|?qiGaK~g_Tr!j8QMpGOM01ORd{u+ZRQu|IaYo$ z6I+nywI0D4hE#Qo2qW>w_BC4nAuhNp3S+g59!GUs-&Jj0N$|vI8wXlC49V_xHeA|w zu6mD6*p|8$YA`&vVZ5@aV+LQhAIirp;;=3|!425nA4A$2oF2)DoPQD@q*D@SRf()* zAiSKxOb@6Allv8?$%hO+Tv%tzKuRFwB1BlN&pLt!>1(xZD5N1aq$6BQK)tr7Em9WH zCYcc33-YC7Y^1MnHX%!`))AY>{cbXE2tMK_xxmcLt=Vj@jDB^5Q>U}LYQ_ZK5csx} zA68l3J&!;uUWRF65P{#M98+PJUi``MH)zWZkSHUE?sFbs{#GPKl#t|`tH_WrfW4{A zt!7iNjWFWbe*P@d2-j4v+*(vMyehKo*O&fzoaXGb5k}?pvbw5H_kOV)(bPik*a?{7GI^VW@5cma%j$DKlpFq6OVrxE!vI*dd8 zbWs`I4r!<|!VB%Y#pne-jLdxyhrPq zgq)J75Uf)FjH-ALqIH?M$X}t10BTAHfa!~~{4`U@vPb7MGi`{Ovp5+hu(d~%v-s`8 z1v}fDyhM$S>!T_gU;&!m?L0|NY9hqnOZnAVaCT{FcL*(B@u=}S<)k96i=`En&GG53 z@p6~ClnO>>ZW!xHTzYPp{b?g_2qdecFp7|QNt;baiMwPd^;tZy=>a0O?Amd9+AnZs zEiBwe6XD@D4X$$WQ}dHO5iszgMr16{JxKWA7SCF83HFLh30m7*r8P=ELwv?q z5nWT-jO15dS;hUV6pl-QcAM<{m1XB}foE+$jMG#L2W@-cLaV;P`WW#e`b%c3D1T=c z+v4%i`SWW1TN3IBAa6*^Ve%D;)FNe2%oco91Ab2uJU@t|#Ew>QZZg!0y}aMeuoF9} z<9(&#(q#1WSq z5PGaq$-i_FGvt-IOD%;R=~Z7$#)o&0Yn7V&R}Je|UP81cW1ydw);bRiGN?0qQNP-) z+a!hD*ICweFNBhoV>((a@+Bsv7H}k*dQEosCicU^K#ElzuKjNLi5j{BJ#DO54B<3j zO~FL*RBPPo5)>?eN%defVyb)OUFX>ObR}q$)AmU{(U>TJxQ7`g9*}!A+T=)C6lAqJ z8Nqfj*1;Iat+#^l%|VAjeeC#`60v4sZn73W)Yc=S&lfU*z0Mb+AP7-!xa_2T8o?Kmw4W*W_#n6 zmo_73ET&uXW`({YdXIuTdA8bE2~tD2M$Pnm7WqgZ&}Txes`eWckOjaF5z%2>JpI08A>Dcm0KSD9$1^U1tgvsngClr&fv z9HzFY+ZpnjpM}=BXz6N6N^F{k*W*P?;l(#!)MuzPf~Nm57dO9mwu0?+)43fjCpF?} zsVNIZ+1l*4r6PNHBdv0;;eOQ+x$jQ$R`-^i?Hi7A?f(P=DHro@94VylE86?2rUDHM zyP1>G$YND$r`VqVS&kYMK$hw7!Aw(?0g&MjUUxhh)7!m6A+LAKO8%QG%JPS-X%my3 zeJLe7(f!%Vbv$mGb(3cdj=!Fg4Bz2^>Y=zskfIDm-b#q~EPaWC!CR`hNJ%S!-aq@azt+08Tu1OpC#u`V#PDNBLYMCg=K zN`N~~R7VWcsmKh_w4#*izG&}TTHSfmqND-tc^exmKDzs zsxnImE){w*>a3A{E)??Fkkfo2(hP;*SNiOH2_htbS#ZcI6G_;{^HC$Hg-3n*2@Na+ z;!iIJW=FO~gmX6C$-KgJa`6kjW^A@Sr^K}Lv+`%uEU-bI^QW#Jb+aTyqY#1 zXyY)`8P%rcq$Zv^D0%^J*>?6KW46sdA` z?43hs09;4mtRK7(GRE8Ol}ckP&CSdDc=JFSd!B_&)$&}CEoP$qc7O!;)q+MrILe-m z(ruHA=ye+0H&AI;57!m874xG9td_RTt2>(Y zb3?J%t)Ydk`D3$;P}t8CYHf<=`9P*dm^hOifDiJq73H_4NbAw8Q?*PDXEGFL3~OYRzXU|tJ}_r@pMbdVQa{EZ z)x_!ZbHC=}rfa|^KOxs&65(%weT+{JM8Dl@b9k5`EdI!UZwlCj@6-IQOh90uV+2hP zvNBY5Ok=ZF9a^~WJ5BOW)8_zcS=!_5YT^@#LpOxy%qKze|IjWUXn&()l5H{Mr-|ZR zw^vVm`;X(yD0~Os1^7^c{{70CuW!obb$jIh|NZ~Z#3xP~hdtJ;{L1DN45+JNcKI>j z5h$2ko78rtp1~4m#iN*Y7{p6;d19onKk>RF(2a=yPj&lk>SgOeDLl?4DX^T-9jx-! zl({`4WKU+5H%#Sgqe14vgbuZb_enREN>fK$YlGzc9QU~<&E_+e{PdzONATp-phc267(QrJg;u-AqntfscAHf2;7no4;ndoJ%fU1p}+d zi}HlQb=J~r_9Gk8XYHk^oZ+*_@(UcQiqwd|6@x$!=2gd3)yan*1jxk%&grU_V%nDt zXcueDmN>Mes%;C{P`P<}x%;S$p2y+I+?mh&hI?tbrREpfQpZt#HD-1IMxhF5+{Z1o zN*@bhHZ?S>ey=y4%H$E&<{o@l)}Aq=7w7-mBT%HuOiHlPcOl}R)EF(+#io%$!Y-23 zQ|fV;9mQ?zfafiVrJMr2uT{`~E)!}FjFyx^`K-Ypp}akNj^$vfL)3KD74KywQLJ%? zL&0Z|p2}X6le6JcvxQ^IoczZ+_-9W(RUmnm`vZB{;&GIwR2sX*imN@mT7##|L+wH{A0xHpKW4?392%?#PE!ixP#buMxW+;Om;J{u}|ID!%QnqncS zwZ6jfQr}5uUlaP39DVEx@wvycPLV&KzuzDwh82z|HXSzZJby>3O z_viG|poU;sXOHr(fj*5u@dW&4VWBMJCCg=-o+$wVYNZsOwx=__YZ}@%EIPw37$x4z z63*cl%Z{s+6KTaskM{P2GOoQ0)%l@ZgGWRdVaE&Oi4upjKOfcn9HMg16j0&mQAtJY!M6Sjf<^k)~rU? z8204#TjRO4bBl17LG8O6<|JRC83>;uJs-QuLI=!I4yw!%k=)J3CRSFZ4`wDtX8i?% zkwLtYc$|R9*L@&OtosMFIztNxqhTUM z{wrBNLbm9ETx-iN8j){|GM*X7AW|=BYu6`wk$G}Kz zmNb<{g^H0z3d^;$mi{wgOpfVh@J`=0nrmWP5j*JDmsGXgjooN=x8$nP z@{DJaFN_FwySAS`s!Z&McKaAS`dQw|Z3xn?)C#~O#E5nB>6i_P8I(s9Wp&ck)Q37^ zC!Sq@=Ge3Mqox(BR?eQ#LzcSKr~_jlqY53B*SK`Q4cv-bO_S#&@mdsdacTBQG#VsD zuJVmv>K?SmtTL_e&vH}HnlEn!$1&w~J4`=uDv(@wDfHft@r`x9-u)zOp^Ux2KDPF7 zu&o^sRZ2pu;e1{wRi1_QNofIMZq#g2MUNeV^#OM=J&}xr%Hn=q43$ViEkcN_8d=K& z?blwt-ubgimmTING9q5ep@7yoALOfiL z@aeddt%SYp*w;${RpsWsu~z!~gaGvxTIUjY8Sc}m7a#mp%YGm3jJS28a1A#%mbm*D zx<%UX!)c2Zq*KBa1}+lZ@S?BHGhgue)!;SGZ-eDJf9EuNun3Xtz#M4~XGc$`byfwJ zw%bR1h+m^TqD_m_{q*-b>YWY~D~?kHQWmCs)~L7{iG=3)yRmL|8#;2}%6T#x=7wq0 z8v@|wErS$y!mDp@257-5Y|<0%zt`~*8uJzEvs0^+v9-#-BaM)mNL^OsZ$nfOv+mya z-P#(Ia#xB@A_ur6E~s4~Ep{u5iG~pn!sZA97PAQ`CInCevr0AngY~z5EL{49yPp=? z^^oDuZ1qg@xa{y75&#5;Ny|XI)-aDECf!n{O&8&Harl&IkHO>>A@TH}vsx1TgW%!RmW_7rYD?+U4IEFL z787`GRL~7>v-18xN>ii~%3Nr%k<1;v)8z>d%Q>{>Rb@iYe%BX&Dea6`X1Js&qa>^7 zgNphLS)gTU+RW6>-UPI5-_v}Gh%Ss7Je-mvPTS1XkfWU__A!_9j$m=(wqJaSTN$Q; z=f;Uby;^Mlxat^)@5#7M)p@?mQ~By(GwY?|k}yf?Se_Gi&xC5$ z>TtiC&^DM@X`IW(d!`Xas=dWzWJED%`#7L@ev*3Bq;0)?EPE#`n2uh~7LvwJFQiHA zYX|8UZte?PBHChev{;DZ&YH|W-o^9{Y{*hLC<3hLFj+@U^5}r~2;2^)5fU^~!S^nbo(el| zu*MOR9U9uj!J_ z>eiuf+V+IQ8ET_>^N9+w;?kv(Y>I?=MQq_B#|aHz*oEUOTE@#d{j3I5Vh9ci6L(gy zplr6hi)djl4kdNnAQMn&N>PyknQ*S1}7YVj1wE8+u1RQ7gux2=g%(T*KXAPz@G zKcVp)h*i5aVqaEYXP5Ru;cX^4v6MB~(dmJKqr9vd&k3lD3>5ms|QHQ31y1j^B z6rUOQIYhEBFAUJ)r3{>Ap3;;DQ9)O~%kqm#B3g8)ENh$h^|JhpMm}<*kUf{^@u*13 zS>kOC;Ia{SPa+fvmiOwn{VXQ);w~2JNN8rwt+rf9MfeQB9T6{J*!DL(=wGgnMT|}I zIk2sP_GcoEbb%g|?_C}opuDU_6t~nZ?3s`a^-8TqqZzbY#djY=bQ1<2p!CVU8B;@Tq$%U2*Skt9zr5ckmRh#22)_DN+p$GD36o5=2DVt(GF zF+TQw7c{hn+;lgb%-YEwX8Ac(z!hlZ3>9wMAdc1M^Qy_;qf*V3ggrnCZiMjVH-cmq zb*Q+UrNGpZI9x{GrJa6_LA5)KFET9wWsJ5WGc3i@)?H7DkRLKShU$tl5y}9$oqFD# zkBc#hI*3NAyr59v@RPCyrm11FWbitohoE0eL*!+wvWB0!kMDtp5Mi9X&Q$zD8xNQS_?vEk9M#V}_{{C0z(iwJs z2vp~-)16LZBmK_wIwxzxFl-M_HDLzG>RtvbtH_zl97gv5ja7-t`&k@|q&|}cU$@#) zz_U`LS|$45%PrqC8d=&Fx%0rV1n(9}M-kwNjQlrIj&?j-UiP%yKyxc_!rffBTn0Ii z;dD^vBr@1PQlUS((aS!4eSkZ@m$16eGf8UaQul-fvVruMO6svqblGB>jr9JlP6$Lt zc(X|XMNbwOw!x66N$UuiA+&{OJl&IakY0xd^(E}kb?6P<;BkJXFY;~qV9 zX(8QLwnme{xz3RV@xnT#Vnv}q$yzn05Los~bSw>f$wOxRBF>)h%X%1SBt`3-??zY` zxE`zzLt)!6tqIRZqPhNe&n(7`R(#urpAJi6?$IKbuy|H=&NmZ#f=Fz7igX@dZ%^^- zrlam(B7Q36^a;~y&^cW_O~Cj1Gcg{lyih(u`Z7Bx5~ZfDSv2dc-yORdF^Umt{)+j0 zf=4Xpb%qc3=y_F>+jH5nTb8aPEiW%;KOSI&>NOJ5BvrMWf^K2b{Khj5U8k~1o83p1 zKet#y)>1F3h#tcUj+c9Tm>wjO+^tt6gHU<2sqPKx z@Uwmy@*p&!s1}i!ot6(ih3{K()V)K)(@r0y)7f_aA;28yYhA%PUbl+<#QXcv`v=W3 z75YlY$+Z=seR$g(@A4>Bsu&^uuR^f@Qc3vAL4R=^C^==*|67^Z2T-k`5AuC;Ss@(n z$@Lr0-i!MnFVcD-%>@4M-TglN%y)3dp(scCcY6KRM=O#uTv5*Wbr)W|%Wbs_oYEnx z2Q^b5lNqDOem#!`tXWnWtCmnJ{7bmmy7&8=aBhB6898-|Ygv7XqXJ%moEJVeN}o_z za9*x+Jx_$Ui)plDbVM@zpqyS)mjq=!)q&r0n7>Wh4EyM2ufcqhq{IV=-NNk))pbOt zXxGxdOg;?GWj2zUtT--i$vtC>dvO}&9ZW8kiN}?crX4t()dqOGz7LPA45+ch=sAx<)7f&uZ$ggl&MX~69_@f&X6i91sUc!Wem^b)W&uE) zF2|x0r9(oQ|KZ&_ASI=R;N{L{y6QWBbFli$d_Fe4;|#Lub>#JqZ@Fg}8Pq#Q{_z=U z+-6Qrolq{c@G;;-n<*;^vA~(vFVJJ|g#F7S(RU=*m(CXDp5g$D7S@%v z6WZVwtV*kerVK}aURZY*{q+wsdcTD1czPmfz%^SQWcJxJ-l(FCTO?0wIgj%EOs2&Y z#G=YU9nsvf$Ks%77|;BI5X7EdY(6L z>*Hd)JBIAF;}<9PGrGH-MDS$4PTTR(qwx&4;sWZ!HRAaPiFxzhxlh||c72u{hqq@F zc^-%HfgCa!H(CQsdmK1iZV4Bq+@w_OZZGnKjE0W4&nWE{t2IX0X=s}J< z!liySqBP?W^ZGHmyw~gX_LHjEO=tD#+CDxvo9>giSG|m3>+PPGofnL4N=;959zK6w z`mG7Cv;Ho5Gr z@kwxW+EQ(5OhiX$X~O1GSBZ}Qr1Iq9a{qO6O@PO42lnylFrb-6Lq@(Z1fy2fMt}D} zdcSR`J-Ok*TsR>BJ#zF|zuWu=UXZy+*L$=D*<$e#2U)o`Fb>b{Qq+7seq7dIZe5+b z)toh`dt%hjNV+COmB)CXX;(6k|1P*$252fL|0(U7>gygn4hfdkL-*@LX^R`9Os$1} zCzQ;Plxw`iS+0qEDFoq9f48|&p#F{{_fruw60 z)DVESt_1_Mr*OPFho)l0B6bu?ncJ061 ztd`8p48Nyx%&xDgf@A4y(d!+O9j-a#fFJ)HrJY&I?aI8j)7Y3pcr=s(WhB3CA6jq8 zoQhF_n`ga?HO;LK>tf|Fwx)ZZl8RE9&_#qM3!cM+0h@ufX2wF|lik7~1OtP=8oPS_ zMJnQ057ba>L%uc=@edh@`wkH%6_uH*>?F^S$*1@1B8LO1Tm->~@ck_{mqED>OIc5> zX2{aUmxV=JTz|={V>B&ZD`yBzZ}-<}MIj}T5vFQVLuUb2Xw;HF$CxcocMLC@>S9H& zAsiSu(JzfKQ8Ms4j6$y4PLYG~ zGx}oA6$F2}gcx-=)=rhi%5aRtax(3YqS=n2a79;e)iZ*nssQ0+&A@hjkS4y^tK))P z@{iKue}sV#h*)TU(C>iZxc8eNGE)<#<+)P`I|vsB!OI}W5<-gH#Fz3%dGLZ5e~~44 zysELUp}Z*krB@TW8ot8kTn?bVDw_sRLVqKN#RXngInAy~BN=^$GpgD>oqc`r-uJlR zU&JM>jluB}2B0#(mH3s4HNoidp%m*4Pp^#^cNR{xU2t< zr0$qD7%VsDV=^y?1;<{z%0TI07O7~YfTElup&vE2_I+8@u+IYaQao`_tOd=k@WlsF zv?Bq7LuknU3TB+^d8x^*V?K=%;=V z+8N#$l*QLHNGhxzmCu->$9+MJx7@tn-c?3?D>fo`_Bt@yq&^mW6{0VVIovTYNt92; z$LBH+zdR|R3{c*2hnFitFP;rw3tj4AK4ml4r&(oS-7OszZNXr%j;*l1majIZL}-LZB|2I1Dbfi1Sd@{-e%1>X$}yq} zV}A^@vN~Iv_bEKc`=vM;pgrs5Vm)yJj9-G!fRiDotFh3f!&`YBvZ)5MGS0lk#FalF$jcGkP!NUIXm?zhWfVd%&^@S`o>IbI?|(KP0Z3`=uHyJI2YMxFg=8KW5o znDtf%dG;Y>E~VzwH;jPy#@X+bKe_+r9J6;UId*lPFWrtBMhiE6CB3(=%5>iRuo#?BOaok+G?|V zUgG7%sv>&bYp`Kb7i&~&yPYamYi^*|Zw4#hx|bVFp!9i7^(?QHo&;_KtTvQ`RFaUK zDTV1yrW~V-Bxdbb8;=afx$^T{nj0BrlhPds@3MKKdsZJv-N%hbYeUa5GhoOVr9HR} ztKR>NNy^zOf%8t`%=k>h)|!>OHM$FSSvr<$`k7#R?V{VN_2UgJYa)>e*aLjt2V}uNZdp zmpfZQH#cd=x-i-;9m&=n+>WgGxLX$I&xV=C`^@;Hkk7NQVB*oc?0&tCHp31&Xbg$r zq>9_tT(7g9yyfH*7|*r9YZ|*%AFh4O$)NdGpM?DETHca#7$ANM0<{SF4)Xatkp7nZ zKH~AT7SZcJ^DqZ4s6h)VDqyG1si$fxu8f;sJR6ED@asJ${~AJC;y7h9hbZ{D(Bh+b zavD;M=2C4o&-*QjZ%qnv&w2J-3LCTU{UrQh13nM<-qV$ySIF7^|3yIl%Mm(51N+6% zCghHd`R}xX@A-{ZeCK_DlKW#$zq_1sD2U{NXnRlB=J@-M|9nGs7tDCsq2$uT|HJzr zzLA$V;E@|))eK?n{%<$@0mMP;Ly=zEDFNvF_`HQ`%>w4DgZmP<_ol$VcVBqUjw z{A*O15zt>9N^)@gD&Dh`x6w@Fyp6`8fc7)g`z(A5G6x0U1}eKljnQYc|2#s#x5>=z zkW2a*{6CLSc|#RDG}wK{{Eq`oe`d_`>QnZ+;QtlnATWwF4qLK0t^G}KG{^&MJpgiY zTU{{++VloQ;a@phZzArD!$FRD$Q>RPWgc1gZV=S&+fXvpL1{?$!V0-4gnU zYad1r_5y`~>f{Ydyx1aSPG*!g%tdNqK4!hy*R(rVG3Nkf>D`sZu0sB1dt5OqmNWfy zzp5p6`8X_MjUik{uQs>abRq^e(!0)M>X_w#axq`M<%;K^=f(M0+^}4iC6gGDYrDeI zj|u^60a8I;+(jA9at4{OoDbNN4UfCaBo8;_VV1PV&v|ZM=I?+;p&v-{TvLry#yoXO zw3?~L8CC7}B>(2dURSu(&Js~vZVhMQ;GmA> z5Z5Y`QvBOKVunuUAR$AuEep_)(_5d!P9~&obepDfSRlzO@{UO}wm)n*?tx5~Z>8h5C#_=kz6DQmh!c38Uy{|9<2${UFVtBSOLvqmsxUJ2bU? zF1M-Bi6oufy>;L_Bl1JX^ijwsRc7!HO;4wIAEP}rwfOgxP?y|C3uz{?~e9)-eGLiY-$39+C`wQ!>o)vB{mU*QVEk#ee{n6D$VG)Cp#s$el*+h*vU0FYRx(?XSW)uBcOu(hW@V;R$lWC z^hx30G~=ni`C1*bFFr1bwQ@8qBwLf&d|RWP+AVV

      7pq6;ttoQXloSHq=QI^2CI-3t`1i`5X$e#K=Jc|iXTmhtstxF!Fk%j-TCnY( zyGM&4gK?>f84@tGSueAt$=B`0@aP+g&oUHnsse5%TsnVO!<_^>-(w5um50fYkPaYg zO83}6CUq1!(0I}$RTqe5JZ(GkXgS`S z)5*>++R85!>zNkP!5$xH<3NzObNj<{0DlZgOqRqMU(E|naV1#zz=oUzbQ-(DNvWS>ii0$T{$M!-K`aW_c zu%m51*gQRXUgcERaUvO`kA)$^Y>aqWI$s1F#C)8jDnIqc-blZmiHT1lh-Q&LL%Ihr zMGDkn;=Q`4Fx*M{c|}7m%`V`vOamvQsao3?6epcJ{!?&kqo= z!xl@}s_fD`u4jhYp$XNcv>MJfvtok-C&&3}{tI=e5&&|XS#R@i(KqoSj#$G%m?sgNXfu6i`O{cq| zEJxKy*C|eHanE)iC@7DXlZlO@8HjSFmdHcVPv*5g^EfMr@?7eO{Uw!_7t6 zy~P;0LfD*daJaa0-9*B?*bnNJs!JRrGu-qpXkqG|wa>oeq`R&ZJbw~s1OEEt#zVO& zj@fu~V@`4TtW%?nIajpQLj0zd7&uFEVJh%D7BhbHt-)^CI7QC!_YrY=G!Ky+MxSp^ z6e2F-4EQ6G$3flCl>e1~9F#rafA7RTO$4%ubn#7xqNvseHNIncm|n3JXP-uEYiU%R zCG-1Y;x)7jzCduv0zbJ&7uvt#=cp@e1Np9>nb>)$D)uHy_nf7NZp2PTP+q&w$&+JJ zDEe79D4-(PG=HUPGzOQ8GcXGASr3>~n}AyA784N(M5{V4QC_L-?rmO1yim2PJEoGOaX3vjE zbv#)c91}CVoj54v>~FHPWuQ=qJd|q1*gm=3jSX)?gS(=V?pe8BR{f1c-5G;sizfV# zRm0XH#zb0fV@RyU=wxg;b^1G7d?TKtQvTCs&8_bP{1$Rmtx9xd8B2Ug!6jpMdMI_( zmOs~F&*dIz`3YGJyx-24O|UlaQ3^Anr0?tMwzbyy{y;JK5tchetFf#YA;K}YW9eiJ zs{>v!St|Nl+3cC#$X2%l} zWOqJ)vHEc#0Sa;juTgD3ED?kT^C{V3MxGKR28DQ?xUu_(+*yWH}@@zWFk17}1an5(|qsVU2+u zobls@pA3Vm>(&wmGMKJ>KOsZ760-J!)xM&Hx4UB}i?uS~7E?^)=f0-bWiz7t%<#OL z8q<;x%P)>I<7zSb6jGDvbYjL$2x{XYmK5fY|BBBGq*@dLcIu~TQ^=ZgZ@!DoX%}ZZPXob zF3K8!UclcDcLe#rIoxCPW#?I_#&5z#;t0)7IzNFFX=e%H;|jBgJf1W$38J`R3%0{kIat%A8u@_UA$6gxWjE9)u__ z1}}M6+W7{@xJDkm#joLnH+$JjQSv!ovkIg~YzFek>3Ji?J`TAbe;A1(PaM*52>tI} z?WWRUV#WenCv5FFy>xv=)SRJMh1|qrO-uLtR*iB?_AbNFKp|BNpdqSKBUkPQop^2N z4w8PqWr0^xQav$DPwARkn>nc+*-mnb377%|C5l9|y+yPUhW@xqgfxvE!%#!^DIRc8ABQshwcEpKR_j|jJTm)%yXd~qYjfqc7mJt*5Z{OLzNCf`c- z1;jUI5=YT(P>)z8?rd)Z?PsY|EgYB%(?I@xq-%zs!Qra+QCY3}9iiU4;?;ljvJ7D%Uh;?2p35uf6BVq#gt(Qe;b_36d39c{NF&ToGSVa7b3-V%*D zZ;?Nw4Itz3`^;pbqi{`&T4d_APtfD~ZtJNhlYQ7o*~mxlcVk-DX6sk!5B~kRN`}{E z(Pc+WXjZ7hD_OASG@f0ArWY4wM<)ppIXIXPcg@OTsv|OKI^8?&%czy8?!T zNwQ?b7P4P;5bPR6{&>7l9$9_XzC~W(*ycSu!(x?c8(2rMk=9iw=8yGWKp?+C3U+&9 zt+Dk62;mS`q(1?>fn_lYFCD^2$z2=FdNO+p9%>Xnr~UBLcm!6(f?)Tur>>u_Ny3Sg zt*1W4Ge4Hgyd$9;i47r%g}B7Vemh`4-@fj=$jm*%M=V1@`4$PX!1Bwp#oe4E7CP@< zAux21g~uiQ)uFvxHFqW)lHVsQ*2S}YBYjdU$&~tkGT;lFi4M_R#j6@WF-IYM!h{d8EyRfU3X&d z3yj_<&*qW}ihJV)CZ)ZIsObNo<9%nTyjIzH=KeTXY8PKVc-@MUVg;P2o7BqzJon7% zoBRDOemF~jDaGLsgC*);4IvdM#&S@&)Yo$+M~>`Wn{>+VM1b1W z%M!V#ev6l!$+?7;IjLmAP2#>8GH1v@x2xy>&CO4I0{kBx_?(6&tLz<7o?vu1e&LROHI|if}ThJ^=m9zD+gc`1-FROBs$|>%xRQ#r7rU$5DP>Py0 zsZxv?h(l!9Ftmc#7?6?iwCUsPV!4B9C36Q76-L{Gr+D_0Zj!(*nX!ZmSQoXF+O^^w z@U_z&SIER)8;oXSwZsjRONmD4$nKR?s^Vvw=uan{a@vQ#w~f0kj712F|6H~5i+==H zv~;bUeVC>+nK*{aIIXy|8Qu_xY1o*qcz%7n{jC1>$0A-L-GB+b9CVsQPS+P>2)%E~ zUmUDn<2)o;${)WD_xi^mw^*=JVYhpnnvz;+pJG4f)vLh$Kr0ao@{d)j^^ZMFO~8CU8!2rM1dTJM`(N2 zPJstfw7^}{9Au8XTf6^iW|GSm6@c=Czmxj@YMz#SxO~zySe3gU#Z+os7k}|8PJU6@ z)+KvaKL4kgc>?{T(-e4&CHNng$c%t|Q=$lQeCXbd<4<#1(`W7%2ec;dlTMNoZ_1pk z1JI#lyMHAf-(=SCVbaQDvBG`IgSsAN=DpPa0pyxL)7_KQy!J-8f~e}O-A#mtuFRCt z|DUqVJz!`~|6jHAh_S0TH04DtS%10uX{c0<_ezf&w58?gxc~I@0q2lZO;xU2WMJ>c z?&FG|NhtF3_8PZ>y2(2;FFV=OgA?nM$==3^p$@ghl(&rF(ELp|3l2!M+iJ6089tQH zV+qjc;b49ru0&X+?V~>SyQ-!SAXZX*A_s-P^ojoudv6(4*S2m8Mj%)SE(z}L7Tn#P z;O_1VcL*BXCAhn5aCdiicZXWp`<}f?&e^xMs`l!=)~fD5+G4FahkRqq{`KC+H*>O3 z8jnhI2O{bG?QP}Q!eSbacy~=6E7_PBC}OcepwFT#DnfSpYVyK#Ub2TPc2IKq3P#fJ zGuyva;c#Ee*?eh#wZ#KD33U-AjhhTTtQZHDW1X{DvEHtiT`IbUv zYD^a;S=+GQHM5mldhF2%0qqX2vq?`gg1Avip6GtaReb+ zj`d=DX>YfQZU4hL)1f>39X8WV;c}PoVo_~pYb21~C{nr{-_0OO$ISmg^kIRaL|A&< z7FA*9Xl}XHWRqkPf5t!d&C|t^iOSio7bWka+7~#)f7kyTrShHLrd{Dk;r&8EO5vxi z7iTbH{bM%SN^^WQUv`O*rKmtYi_Xn}PHp5TXm$91Bbl`MJl0cHV;~!U43qIVRx7c% zMRCeePSUQkHi|lRZ=7kh&Y`A8;2aZLOG#^g$mrVo{IFDW_;ebhNg~@cv;yI+uzYyq zX1&)87=KLJg3Z376wg(HI1h;(NH>XOI~V>mIW-zAnQ2v+oK(9zng=N=XoE|KFD?Q5 z-O!0T5aU?+%q*IMj`n0aI&0nP1$9 zeOIngL_HQKtAcFy`}>63gXJ0@cemNG!)u$Od$(r8b`CP>7J$EO-X63E6Sud{FTx`R zQZCP)&_?$X8@$R6;y)%_(V(|~>hWvB2JBGa^}PPQU5Om0EpBATO9QfIXz`Y9GAhfbI-Tsn|CPVO63H_OlP9Um9EPg9$Ezz3)(>Q(R zfR*UzOL;fbzjmQj)foCZO>SpTgpoLO5cY2eHRRS6LjHVFRfW?WI(vfhOg3-~r&l~l zf6*5_^Tm{^OgYW_n`O(wj)Jh3!POV}xlolq(jvU~r94D~kB2eOMW9j(;*o&EkHt5v z6BD)s==RDfs)4E(DgKcP6)un$L~OzPZ0s^{!qvzd5M8ng#>b~CdlLmL{2=Hb5*D-w zY;-+YiLiQ9V_14$V1hs)9?;8RzN4wXs0EbZ4LNdSlglC#jTCgfe31VT(ieXU=~Gy{ zL5WP|J;)f4?IV+OA|LliALgdW{_rmQ7Vv*>H0M==E9I&CX<%Mjc3O8^-FLA$E`0RB zKS-Ph@1If_d@WV|>EXkRZS^&{oJQIh@c5+G%=foJ0%MBJrzr=_PE!|)VS#k~2{L0K zia%0jXjn;d(;LhaM#n$~7lzlUpL3kQBhi9#E08S8DQ1(4DaPm9fejxJ2CDhj?K3h5nPzUvd~8Lqly7P`&Sj~uF4py2v%FQs-QKH|6tG8CJzEZFb?2b6P+EL_qAVsw z@^Xh+6803y3H1wMpFfYheyDsrp4WnD$6ADxAWbnOb%sMNqCfsz3EF?%Bl?s$zNr1s zd0~wpk=JNS!~MCcn#`djFMAQk@@Q-^FjOYTrrw*1B@mbOY(RrE7{>t5YA z@r2x+YrON3ee52NN8CWWkO2m071`4nfb_PlYp~*a@Oj_iC>u{v2Y)LWjk@NH^y4Rr zuUBCN$RR0Z)LRF1%}uS|I$-I>7s=QdP20nC&5sebXzT_86@~8pYGQgzC+Vz?Uerd< zixEq+uVFAd4TM0i7U!9;5r^SB_RuoxnKru@!`4DR9@y$MYKWj8pFAE$~n5KDP~a0mApu;7xJ?IjtYiyu4&$Sezjti1k|ru{D7b6S~W<1 z!hR|%j-Rh89=i*brg$OwQk+b}0PoZLm5JccuJmOKg%i`Y2 z$I2TaB?8}OQFQino5?b&Gs_pGu@Fk6ym;Oe!!L{eERJI1TvLx0Q_!pxbG_3rs-aJ= zvD0*5Ac#xQaa_aQ@A_7*L{U%8Si48r%FIlchMdKxx;RrQEfcOlAS^_^R`Y1*HUlFV z!bpFj=~3~Drb%7}Cj;~E-0>%BtNugdF1>e{bG|y#Jt{7in=wAz^lq030l4$(hL}H3 zD)>Yf`%hc09hz{&S2(?|?`XuhP*VYUA$sd4f4VQOOKbWCQgT6qys2pSws^i)_cv!b zVmS+@I5abZ1Xm{Q8;Duot@tF>vXzeBoLA)g4IhM2U|`<7?B%ls7>te>Z&+jmwJbXzVd_w8eSD%`TQGd_LzXv`Bmcu z{*?5m`urM}@g;uy<4eFAfWPd8KRcYu1r%^Wxn|z~{vRO>ns>h;X0Eh1K=Bsol@{G^ zy#*rd4%Gi&HhLsuBAmDGN(76kluL>`a=CYq4UnT{#JdokZb-(HH+fV;;(VbW%Rt`$Y9_D~ zOdIHAGg~BcyN!D@cys2R)cn|AIzei-dXCPQDjo|`LKg_va>c4*ai%mk7icGs0IQ7j z8I=SoDQdt_R<4Nn%J1)l9yoVjN@a@0 z5D>%i?&e@SpkG9ar-MQowOyuYP3nLUEPhPgz&7!sAR&x}#>kI|HMpb&{ES2*Q!4hY zJab%#tVjhSTN;_k(euP@_DQ>5FO1j&YMDuH8OoGhyt|-9(>yOR?{EE#L>8Zfh$lJz zLE)S+7c0XG%B%dcS1v9h`*rKw5&t6&lc5i0P@6K zWQ~r2vhpwWLt=7cNCIoOoLO5>NA>#*FP z(Bf!w^2P>jy@Bg!@Xy0bu0I&;E?r->)Cte@DM(f3R)r!{3_(`f$!95;$jj}CVo0X0 zP2o~RS67D`W5^d&ALXy)u4UxfrKRTzMTcl|eM~REhSb7mI)(<(-B|JoK;3ZY-*#2E zK4RW>Z{A*rUzNb9>(>vegU$LMfF?PQU;*y;lB7(5p0mU9ZBU`;_%QwVp%;d+@ z#^5#iWQ%Rf07#7G5Vg1UTNDXof%gUDS%|ZK@**82-x%-?=@~B*!?L~`upYSZR3FQ( z(6bk*8BH(Zu+`g?yYA-F@OQAwKGSspKr`he2SnE^HbZQkOClgKHEkIi^2%UW`@Kn92>$qHSX%p%4vf1DAvEE&Ao_Wi20$ zptdnNMc($$mk z+TS392;#A(iY#I|T~4!yh7$8R1^--iyFIqxXss*UVm@b|F6;~d(OwJAyP63XeLG!$ zz*#^c>SLFQrv{nI)FTxX@eL5K3=&JOJ9klN$)5*LH1xvq0^G@zrMR^Aa$TKN{BQQ4 z3lQTocA$+TaEp>e+S0v!L@mD@A)K)WkORi9D0^8|_ku}U(%Dmqzbywif6<9XG};b? zpriZZqg&x4U5s@3jdksimd>qV4RTgu^qRB(u@tDJa7e537@r5QxsoKmmIb-psRZ=2 zkx$#T8H67mz5BEjvZ-jHn{^CFixjJ`j3bBi@AF_hrFwne+>EdywTyfc@B9Q%zPiGRhfh zlTc7rEP?yb?xS$3ja#FZGAAYT@w3KN*T6g3Hjx2ZO3GwZn~tdTDJ5h1Yk`(cS!5x3 zF){yiq)uB(%olpu&$(3kIhPXe$E?jkxvQr0VhaK)?8ftO_mAYXa*KtU8)TBZ&?cm3 zP(&LB5#E)QPbb0~#Yk`@51o?T+lOy0(=;HG&-00FNZE!eCbIP5hFgxO2fL&P4}IBe z0BlLrm|X8OG(Ws`Mns0FN{JG>bCVjOT)f#4H-hnhSan*9_)PIhoCi%L$f;SaS2TA| zwBRf`1>VSy(sep^6L!02!}+RYByd`*nQ1on^_JDwbKA3kwIg;?z}FCt?tr?O#ySE_(tXyE_0pdmf5mGfu&;gd@bu>D(q#|T1R>%Rdu8vMLL+#R4fN!mh3l^7 zocLA0e$*g3DOS+?4y16-*wM$Er|6oIiqxcpKPHHZv_WT_%^Y!(WJxce*f8wzx0Mbh z(kBECMk{~lLt739w2dGB6*yCF>cIfAw> zR>T%F=05!6^BwnN0uu`M86{PPk6w6 zl03EiVfP%o)5+a!UO0{X@LSAY3bSq@XO`uiqOa~ps#|ma6=&sWnV|~z!YPAoH^zFy zG3>Grk42cX_0yn!RG(csUCS8m-e^hjO~cJzb;;bJeKtqmv1BYJg@`)wy0WKDN@0Bn znt-@4*c@?~gsjBUjVQ0V3YVb>^?3rBgF7U-D+<%Qo%3=hm*kgojeRE?9yK7gf)G86x6&sV=jDv5gc?sJ9s zjBbM~qS|3|ho~ax7-}hy7jWz~xMAF@oXSjKZH1mG^9{}R=1<7;1t0uXn6*12NeC`m zLQdqtvTz=4ST~%Xl49#B=G8sN@D+G@1WLd#@uHb+ zyu^?7U#|5-6xJ|l+35O?*T9S&W%&Sv8GNOMQHq z?iGo7tRguE#_q>03UB(z$w}S83-ayRAI`V;$mx!IO5)2mc7%>p?!6ggCuwu$ysT0Y zgjaS&!DQnUx%`}PKd^>qmFvwmU3x_xN(%bBj4VhbBAcx6nbbET&GvZv{ zROscAi-(zdJ+VIVUNoma_tJleEhGq5K&`&9QgX0;?t9X{|G&HdjKwP6=In&+Bsm_^X~#rVHVjf3PCmU zu#L2@3$Eik0yOItw0i0aS|qScl~{lB{_mOy&DgCu7RM71REGMaTZhxQ#Uif1+ zVOcpV``0^mtzV%Cn0=D2YKk>rv7D{OvyxuzghP2#UH>`G(!`4>#4M*+y1<_46kmBHJ*V=CZC# zT=Wt(k2N5c)>--*ua2?Av0}^fHa=Y?H*9g)D#e{>X&&Us7e7K5Y|Atet9(4Dvs-VO_uu#=8>@(FQ7suW|D$+ZHU0WFjYuhXp!6AqAG~#{^qJ*S9g0G2c25Vz*l`9J3qRlcWXOTR;1p2 zot+g8+qLDw&7$VtS?Ve7tr6dybw6aB`nG=#)NJWST+^?^y7rzjR?GE$wZ>pZ97C>t zD&p17B&9giOwF21V25^38`8PNbINUXkVT-W8MP60Sdc5Jol`y5>D7jY@@@N4srIdGK%);03Ym2&yPVhw z-)#AS#AvwF@m=Tqg+TX;lDC#LCKe10OLUS-@)!wA!&X`4Hx)O}PQDe47F65?gRA<{ z?(Wp#tO^3Z6#|gu+6IVlEYz)M3&#ZV2g~QVt@uDv8!UYUeGAlc;c*Do;UlJ-!(`!{ z!J?47V4nezv9n0MpoVPIl$*nPrMtyMrea9P?*;}%80&{SiM;+etbC{4Fsb$G7D1G~ z<~_8UepbR1U6g7U0$o=m{qFS|0*V$Tm+lR!DUy)96kl&P#UMo=_K?`GS}a*S)X^NU zP-g@IF2)wNSA3ImhG(@i*%3NdW%mviz}n4qV`OTKcHCAIrL6lXZiZXyk@6VTPNH&6 zI2pfK_to>b5M%_MDmE(_%;^Z5=R186^<#I8;C2b?FRs|l73V4WQl5+QJA!s$6=gtr z2_TI0e0^5Vgq#F(&*)3*X{@#~qG;1qV019U`=|JUJ_(o-FvJ0L*362b+XWdf5=RJW z^tHOPwRq_HHO@eG=dFcSo$ZH6(M@Jd*>Jh21l7XlY&~b$$aqHlRxGB*3=OR?``gnz zp1i9D?}kWFrpJiQ)H^&UmwSaL^lr~&I~SWcPAef5Bwqe%v31-cu*(&sr8-!uel#=; zu_~qGy(ts^L181rUMLRipaYltFQ1G*aMRA5G3sIv!muvmaGS1*_Q_due9u1!OgB2k$iS1dPHIc?>_&D( zvEdbE_nTZ!fi1(<%I-U|HA(m9qckHrd;Ze{lza82 zy&7GQvLxTUTsCIfXxii3A+ShOOpJ#|t(s@F*@hO-Q+!%At@Lc35z>#0=KcUx^c3XS zZ*rsqpz$WX&W`bsV~(&?7Xg(ra@-?2(M8ZzU7fVi=#;6Vh_}O!rhQ!9bE&`S(XO5_5N$MIU5Rj;^fQb)*T3O^T}^{%Qfkgp zbJQvG4zJLV$Y2eTGtz?KwsmXBu(yFx?l;c${!0IyG+F0^`cgqH_0xj}TDI%iXz3t{ zeGt2Woofm>8EN{NwvP3{LGxX?L*aEVyCA~7+bY|49d1V+8vdy9Pf?>k%BIdN@+S_j zp1`^$+Dj+8ZUvIz3bb=y1pri$hSSF(BA@I7In;jw^PpHJ63DI*7nnQ-%Bj5f5>b^k zAM;}`sc}dop3XnhmitEIS0U6c#g;J;WuXs|-)v#lF({ z}!w z(z6w%AWQV!Lp4cnX;V)nd>$*!K|VHaePlN_y4y5kMFG?uFXJycarhlvc9t_w4L5G9 z<^eJ?v{8VCmAVN4_C~44(~0g&P33FXWWtTbc**zhe9Cs)Kn&i>aGyzxX=}rozf`M~ zb5=8`fpPxXam4ZZE0ouOwc7a+GN{1^HFr|;qmfa}m&7K$8rSB8bduASjp8|l`H(XV zReGd=5kNX0o0?mx3Qq>{JaT;D0!dUY_JMZ!TP7c<@b_3O2qaTU`84V9+IAg-mdlEk z<S+fGqLF*+Zbp%lcc$4CQO94>;eYBZ>#7IC#9QVNQA6PjvFF9$;F@p0g? zA&&~}7HzXhM|DUdV%R>2;M^^o*QZcrefFGx2o$`iLz7jtW6h_(6U-^GR;;TlUYPjW z6a0RL!#rA%`g|UJlhF8Md2mo)9gW3S{zGcZ-RiaEdl5QqnO!%0q>CwS1!w>@5PY5K zYn(lo8kPnJX~&C5A1LSS3Y%+CSt)Pn=1B&e!5?ANZHYrQZ-l1-ehHSOmq?uVt{KtQ z5C|(TXZV(l-d1j|#qiX!?~3h6MQwt#?~ahv!(BYMCoY2=Rjge4`yLV&CwH zy9<>JyQ|(I5pfK{Mr>I?KRcD#9c59#iCDNb`$${e91et33iI@fg*~yUqrY6(9$Y4f znnD;w%`!Alw zlqwG+SoI>7mOc-3QMAg9&bBX~zpugRy}8z*3kFAs6M#wnO9=bQbDAs7zCHh-pILXg zFyQS={Pah|MugH>wB&A`G0-Nv-~Q56;Dts6fI>-i_}4D#m%A>|?2}97F(K{BI`In48L#p36qY=b-Xd{se$s^t0~2t)zitWS`3zrsI_2r?4kAhL&W}1Pg>+jiRYaU` z-)z2Smf?{}Qs5zOU>Dv@{z9!KMP#KNQ3^;mzj~KQL_TN&Dpg`Efx6M@OX9`jrO4*- zSVA$k*gd#I+E`AS4;#N;kidNb^*8e~0^;e!iklZP(GgdB6X*X`ayPaq>th+r`mTnK ztgoDS5HNGK*%@@aE&(~V!q8JscIb21iRQcay}L~{spSpR88I1~!rPVwEvInllvaGB z2u)}1s8PY)IJlg4d$V|Z8p||e*zas?@O=Fk@HuRWMZV=+42*K#9-or5@$(wb4+Ru3 zgj)`w!=)h14lqn7$&z}7`_X%!Qx4JkK0z~6R=dkNXaiRXqJ>!KBK(aXV@ED}XPKMb z`*^&^z4mmFZ_+~@U6y1^ka>US7Q|)e{+UnE^~M!HWJ13Jpejr%2D|SZ0dy#$`~2BdNIDYY(#;Rl?csdeCp=)#L8r<1){mw0T zcoE%;pxWMSGmReb0SbZReK31fUsa3NBz?t6xnXH9SxDv{NYPR%i!urrW-xIvM=E{U z{p7uvHXk*+hA+-`@e_+{sn%gW=#vV@pu3!fA($q z^t=891EnVG_r-bb$jfNMLryGfhYk5fFiC&=Kj|esc8h}Ehi8Kxs92HkYt!hi1_E;2 zhh647nfQ71)U0cur#BrQZg##u(--E9Z+E+L4)&d?vrw&Q!Ho{3n>g&{N%fk=Y*|oW zAH}mqw}iU3jE9Ye?Jicmc+i_XLoFXBXJX>Ss#ry+ z_A6bc!>z?QREv?^MxWoabFuj3sxmc`L?u*W`uV}HMfR2kWg3toIgAvc|EOPLIbTzw zx>8F~9=wA3VcyO7Tx_&zGKEz;k5Wf<>pFIN^UM3neJU2V+1uWULlcw)bX#?6lPL>x zRyC^YXZ|0!l6zmmN}Vg(_6>48OwG5oMA_9O&HE2I$BDl5evs?}-|f&k*lUrLocwUg zywgmL7az>snUltEC<5dS_v+{M_%h-pl_D zGk{hSpgE?gmM+4RM>=)1`tVh6H6)dHBOZ@?&jIZ=rRrn^Cei|VM+GMF`qJU`+W`!Y z#g8~>A7xQNTCH7akmR>I^<*DeszIYVXs=87@u}-FHo47i1z8Q!m8jSG z#zeR0SfItj;&m&V)kWbo99X`fwJRAt3A01P9;uQ(q-h*3xoT=+ZJy>ejm{#}$yiz4 zWoUa5^(g?~jApU0=+gu9{`{GVO*}@)_r3so;s9Fa7RR5r!@sL#+3t89gr+5EQ7UMx zbUbXwQMli#AK5{CmhE)juFO^ju%7RM;$%NHN3#^#%-n~E)QQFEvgagQy%WRUjs3^Tci8{Pfar&ps)Zj7uL3z2f*IJBPSAI09^vR{? z2X5ZWOYydI3v+ROLOq4}6r5U(=o>09h=qU%*UK>-gwBJM)o}JC@Fz0mEC`(#-WRnB zeiXn%AG zoKE?iDzJH((3(!5A;Br)?mAe)&n>=lAcAUph}gtB{DXzym^IPd-fJo}4bPPou((Yu z8=t>6vQ_H!R)K4IKZ$EAZo3;2Ij3gU01H^H$saSx=2aE`>B-EDMuG=cM~XhUFPabj zd@e2WQERMSY1XBek$^P#n*p;Wmmu!bOjf>1)#Znnbp2I%_8Y(O$%o=a9YYw3B@eZl zwtUW;%A4iO<4B)Q6@3QQI6WfLHN7#-J)zESJ5$22YVumZ4ad3$hR;t1#`6Asp1S{l zR;lU-F@70oW9u?El>V#iw+3_HI#kyE943wzGSu8$@}=^ZT=Ght2taXiU`$ysk_$Gn zYXUt!L;sEF(>6gT#4vU*_~p1yDr<+wQAlvIjt#8xn~BPYq~YA}?j69y6U)c~4O(Wd z_vBj$-UiF>SAIduv_4L1l)2kVlC0lDy|UR8^-T&IP_(`e`6fcz38JA<073HU9>ki0 z2$OSW%`S~1k^T0aB(kURurFzWz`G<>m5Fg{C)NKwi*rBWDq}TF)Tvnm~A98 zPky7%P%%lFX#^TNIX|>y(S5^SW1v@T5koYQ-_Me-xX*Q|;vaXE?&)T&B()dmYiXz| z{9MrUd&say4i9OE$hY@q!K=kbBlb8EM|5We;+_fk!i7R=hmRJ$jUs4)aiS= z{X9o~7#ZegCQ+txz%2SCOedmjw)8IVffem(XlIwr)#s6jx8wS1p|JT``sp+NSK3dX zr<9+psOlG&o`1wSp~i@`1S6wlZon%qI>+aoozjZDla()=9~_EFwK8m9YVp=Sf=WN; z%bYenElO+uhWa64L^QSzV>P7ngTRp6g~1ZzXQi}HDftHuTi|)B+;S|ZG3Rl`AzQIo zI|Qd9zMy(Oo?o1=-eM2OA1|-GFs&~u01`b-I5i&p+0Ks18 zJx-=>}W^x4CSh;2CAy)uaRt#~i-Bhjj zmU-zz^R%b4hU1Y2zmPdqLy98C+h{ky{1CtT(LK}Gnv^gcXV)^*&`Y{wW<_h=PJoub z7eNDZiL%Op-KJ6eF1C%A=DgILBRDiBi8DNT8i%#|0sJ1)U8WE9?sS>H3VE~@U_X?9 zssHH?_==KD_wo@-A+S57y0Lc!l2Y%pv^Vc^Xat1WMZkGQ z$<#}SmxYnY`KkPCXxVA2g&a0M)sWoPSl?h2ZUlu`^<0oYSKk)sV1mJXI_9wA{`RHV zWN9&dW#Ie1WC6#f|E}g}ZgCqf6@~DJL40Jl+vQnMPf&rFhthGPjb(>?i+%bw^83IV zu2vOqusTYWe5?zfgVjn$x8VnO!aKcDG`86`&AR5epuQAef|G1!`{qsbZ@0k?xCc3Q zcs(l&!#kIRdWlqoggm!G%0^V7qurWg+PrQ=N|}Wb7k*Oxp!c2F-tFXu@GgINnoHcta-Jdfxks@oucC zel!gk14HD$SNE$ogG3{QGJ?r&&$Ettz(ddq7pKS1_lpcJ++62HSd|lquS2z-nX&db zS?y_%<8@>gEGhqPipM+f$|C53Pp?8@e`jMpdCox>gtV}vO$NXA{410FuhfgHA836w z{b+FUd-)?Iprmcu8RIsMx3|(Uep#TtiK>33ZrSbl}-b!-ofN z!56VhFPnC%Cb;NO1GXRn-6Z^+xu`@VS0k}N?DcL+;1JZaf3=eeY|ur4Pwqt|LjJnW zi%5x}m&y<4zo^(xhm#Hm2MAH78}EGw|D=Rgi=J@W%iSsqkNKh|(+IKWHy-XAn{rx@ ze|Z5g+!I?rgvbhp1R}KlHt`-m$PjYHG0-fOT=i(a>-;wRup?rxBY1_fWCnwwrGGtu z2@CusavFjFi&=+Sw;~(#4(6|6>#+q~d=n4MJU%bF_VZ8mpNmY9?e+hgKk%r}%lH=! zCR_7FhRIlOA@RDrX|NHi*`a3CY)C*QzeoYYMHJ^d*2^yECf*tSMR?_vu=YGE?Jcs4 z)|(jR*R+B6N{oj>uH)sqQ-&Gk~#kuyqq#aLQg*j4B`H;X+giG$ip#25I&64o5mc>oNTgW%8V&2mUDVa z9#p&CvoQ_^7?b&0bLjey#KA3S`%TvCey(2kIFb_eA>mEXGR@l+_;XYf!_TUZ?5Y3e zIq?;#A*l0n-7aQ^#Xu%>K}B^ojy7@UEha~dq27_nwgOgmj*2tcEA71Qs;Ec_bsQ$* zo+&vU{GN066urV;oH1bXOgL%_c>FGSEVz&|_5Em${!hjS+;ujIn*5cQ8NbnW((~Yq zND0AsjT(3@mTRZ;I*hc!`Bt;+WXi$F&Weeb+(V0tY{M`+m1=#&ZNQQ$M$E_3`}w7_ z`#iRB&;DwRuR)Mhp|!B3lbx-Zdpy$CS;R*mVK1IXl>kq_JiKTu8>{5)>2>{qr4T=^bJe{Z>J&Z4}B30GB9@b7%b00119Wr_2>{5M_ymK65 z3UjzxK3-Kr$^DaNvP+`Xz4E*f7|Tq#1aDv>bD3ryRQs%R*!hNaI&z-yi(*TyneEv* znC(yd#S+VB*Jl{0t|x=VWrFq^$C6~yep;orG!wdzAPSxs;{2e>LUaz-`JT+rOTPWvquKBzXwQ^v@TR(x@_ex~xaX;h#{z3um1_-^jTA^L8A6!bt5 zQpJM!g}K(S{Y?mC;h$6qgOFU*Mw4*E!NH&dA4jAzGi97nM5A%ib{F5>B`ciN8nr>J zG({5qv$W+-%UB%bw!M`n({a?2%F6sP^xIJEhR=`EG_44FL8!s9$7(H(4RP3BI?#Un z02j879Xadbs8!WFt*J+hRW|D^MHc>NOhiHGh6=Y;e|-*)^2Jgyt$<9B_F8;x zJvdr0-T-a;;gcRr36N(bwJvLAG!mx+_f^|h?9sn?IOG_=H2-%T$VQy&K;^6Q{A8pe z;<1gQnqW~(kjy>S;>9Lcq0;$?XNCHsC9Ng(8bZ5?m6b1)U_2$y4{EaFc#IMlHB@;| z@c0zn6e!dFIKlWqG23ML|66r zRPA8gjX4T}Oq^PJ4u59i&e(NW?H?@1Q_Ywz0B;kM4;sQJ z*VcHRSvcuqssgvt7c_ZEz41-pOCvV4ADJlT6B7n1aUh;*S1}$Toh$ppB#}g_%urFd z6dvtl9r(k6MjSZ)cwd&s*f2A!y1kl5ZvGGBq!8y_k?EeT6{;WD`aR#Wz@H{ku^V0F zKpmR@%VJ`&g~;CQO6DHA{$q%xd6@H3crUC`@NIFS zn_%WdF^Tfb!X#g#R*V@2==agah`y4{4*q!O|8LHaa`gYQY9wD8Oq`?ikM(&~mb2g) zp}#w?-Ehr=#}QQ`&L_hzLX?MPqbN2dos6LR$w~NKx@>zhnE`Dg$=et1c+OzTu#!)) z>H?+YuhLufw^@MP3*WH=#UK?OP{t$^aZw&P1A99Nm7-@Qy-8rJ-vifANo5z>r5MOk zl=k6oP|1}Do0|%?XJ1jVY4A{`b-WCt%S0A2mlYJSH&M1`B^1$NG~%OP?-?$ZDCx_D z%qn-N72Whb|A;#pIR=(*yN1oG^=m{PBkyIoL|4>=dy^_FJg63Rm?$Q+ zs87ThyweXSzl)`=H9sSoY0Hrgl6GbsuwjAi@=QD``i&{IFBAY$Dn`QYfujN{aqa8k zxeNx)A@`&ZR^$btv`4adlvhwunfQuA7fjPs(EZ_tiKu7HJ|b9!`5#-SgGF1lGps?S zcRT2}Y1Ck_#ERYZqQ_Cl8SGY+Op369Cti4J=I^mkWntQ7_7_s+EVD|n)4~77A!%k% z6OtJHDIid}VM!RICj*GKycd8b2lMIh_pP+Zj)b_3MfO4nbaY{>7X{ zce=3I-T>9JPvmeSq7l4wUwt*69PGI@J;Mn&4=%pq1J=IZ4?Q5D<*2~cDF~;M2boqH zd?QJyzNmFN(;IGscN|A&UAF$v;SRU9 zyd_rNbk1463dTnghcpPTjv3e1N$6C%{FuHjEm=a=)c9dBRFVYeJw=gYD~CIge5S@y zwM}^J{ge1w(Y8*Hx(0co&f|ddP&9gA?xWHdP~I-y7ux}>CNN}J0%eC?j*Oc-2LZ>c z{I+An6jUNeAcWur=DA~6xBbZ(To)=P+Soot%<&vbfFwWZaWs+%(R@@ z@5t0=jWu*46|%B3;5pvjNj1*k*EKJT*#yTuKW@`8iqT9GWfFX(5u~F`$&3XaJqnZ1 z*etfTQLD>C2>%krt0Jm^SU$k`N6on2sEd()T?Ar=UIqw>PqURf5VfJ5SW{Vh&!ra6w9GH z=X}y%r#Alu;Zpv1GDFL+@utH`+kG=Ob~CQww$?B+ z(wO1Kub}TnQe9wt7lre(D)S&5*Iq8Oji-<@j|V)GJ|RjqpXAO9#^}|Xl5nm|Kl!QQ zc$W}?pzklY)Sss;xDY^fAu{TZ?Ix-*pU*|6NA>rnEVOe=Hg`)xaQ@P+n`6d(xPQ$s zsDNdi|0O;PW7vV!VTm?17zjI11WY51n0tK}=nwaM+!{(?nUe`w99Ba6#9jgZ;qS%& z>J7u2{7g5hT>d}p+?BE7U{6rhK6@pJuco^888c8}{@yEp?31Q-g`{W8NC6Cx#ZV`N zlj87AjpdV`6QDHB8n+OFS6{TPk?{@mF-t@YR!P|VCZgal*uRw1tDtea`e0@Eoq_RM zaIJ}~e$o30RKtIU#1RMdhs29=!j&4isn2yZhkNDW*;i;E?%CcK?2&bG+Fm!7A@^B` zMiAP!IHd{)gJ+u{`6V^n?O(L|Rq1F#r2M5A!`XJO<&t?8_ypakyx4gRm>*}E zK%)H%1AlhRej97X3Xg)Mj&6mcSrFt6QKN60S#~%vX~L9r$((GdF{LKlU4K@q8*bO!H)dcDE zli%dUUQzD!mP{Adi&PlMcof872S`mH0afj z6I=1=CI##c9WrWNwFAdgVL=8oBgHK{C%W52vNa`YhSnp1-l8upb%(Z13(qLrQv?q4 zmTGR@VPTkelHOY1oTl&&mI_bqW=XIU=K(V^l0bZHeLs95tp8ZeF4HpKb6x1`?-u7$ z!L{r((^%31g{paUvO5G0x5x&}!6Z_#t{>^i`ki+hJ^cCkSc8fe^K#nuhNJaJ^9O?Z zv+wMThl$FWvy)kEY$D1#x{}|2ZR|M^@f!I9#L6TmwiGI3@?OPnZf$MrFuJr&eUo8% zZ!YK@yE)F>UG0RioEW3PgPM2_x@(Jp%v%@ot0pOXMN8CtJ1_Ac9oD4rgudFUXa{F3 z?2BQJ&Sz9b4_X#VWxKgl?A4Bmh{5VkxIr=&{0y8R$}i1TKTL>6sO|9kQkFPwE1lB* zSzr7j#r3s4Nll;%d+b55_4~7k4r$VSC+Je6tdoVOMGMpW&t3;>7lNH2l2H`>2Z$JX z*Tou*YGSahW$)V4**Gw@ZAqCGZxwwreHYH4$O+#Z-*m#Ra#T!*aBw`iQ1VlQQsLZm zEs6&`{GfhzZy(oP^}nBf*Dfa)e@~rA?c5$GnIJI(uy1L#I2L0uGdB~{!`D@ah)E^? z3(YFPc7znXQQw*UV$$u%dbc&A)$>96;j}%cczQlvv>dIE^l!PaJ{owU_2f@EH|Ol= z?c00eFv-J^p_JSN5kDjXIJzQeMnLFn_tA3G$2!LikrLZ@TPbvggP}WLtc2SeUHSHc zn)LkrwdWU!9dK8B|1J^c>II^dC%o_+9V9Xj_NJ#s(BJf!SZ1)A>=9ryw zcZULoZhGp6h}vn9g!%J&JMYxU=Mz698S%nfgrF@+x7hrbhuXfTb+OlrxYNMogySgGiI5AAc*`(gU)W6RO((wL8p7EL{D5$}T2(ybS=B zVM5DKLJ$tGN^#W@${{S)dt5)c84WLUcZKkmZ+bSzpYfz#J^?G!xE?2@YZ8+wIM+w~n%u!U7f|??zY3Mi8Y-WD#uwK9Y{)|u zQ{sxUq;#OUaS%Ih*iIs^ti%JGynHmXGc^(vD));|I_Q6yPZ~lj87^P5hXMU!R`t4< zF}o_Y?mV5Rq_%lXSh|u?Y112l;Lyx(Pmf(pC@}JwO=5t=qH;(5^vCFnS9SvVH7d`$ z8o2)edgs7Ju>Q#&tt|AP)Hubm;4An87l)E%t4ZK{O1ccST;`k66zoO_R*I zH9e^!%nHJ$UlS{43X{(9(?5&SoG2TJccNy%&5c>kOJF@*|y zMFyp?kWZc$tBD#@a-PVAQeY-Qn72#-$8}@zwkV0j3S-L}oa<2+qT=E*X~@&)Zoz`Q zc`+H29WE{2+v+ftO(gPr;K4-RcrE_EWE(FliKKlulKkw=!pEjNo*3b9upC1(De|-Q znJS6#$c1M0waS5BnN-+Kf(2IV!Nim&MNTEYKV6A`4ut2lq6Z#4GCwHT2U}G3nNkZf zRKj1p&eW2>`iz0v!O7WAAG4O{^c{?q;SEFqRf%Zjzm+8^k^|N&Axr-3^Rf&DP>o63 z1es|u%h+6#sv^><#2{~KQ1M_$ovH{MU- z;)D71hiRZceZ{Y6>wj}AkJJO-08)K)%X{&1{(tH@Kg+5>VP`rrP6{!F}-%sKE zUvLAD=~@_>X)cXKvioYmyv)YTOx3doL`3elCK*>wKQ>R+VtLoMvDjWHQ)%&ULXKJX znj6?x6pVMo?}!e&0>9VWtqH)Kfg&Y3q0GYKLqu%Q9q|4jTltM(u5sXMGM)>@{g7gdXZPp;LTCHBY*pt5$T5+ zo-|vt8yt=y*6{*yDZvhHcMFPE3V}P@MZ-)emYGgh(KWTvjKxu5UIqm~WWQw%0o8v1 zGD~7)a0y!!R{ThG)`cWRF9uxs|6=d0;_7IczTF5xLV(~7!QI`12Y0vNF2S7yf;++8 z-QC@7;kIyhcl}m!C-;-&ectbEAMD@Wrwe9!y1J*Q>#BcMdxWpzQFxh@yV~%FCuL)2 zl`QS14Cu}=Iot&U<=#wQH%{+{N4qRa`%C;vQqJjbi7#>W&u2_G;L4Mr9yLG~(EV;7 zRj>CCnO=<8cGn&);)m){{eITCf|^gdd$Cj&C@7!7a>=n;*o&KT+76gQV1GIc@I<9iml-niV={QhW8*Z&QFMJTWRJ(b=^3+|I+0`ta8>jv$Bo3Rv;>V8SMLu zUXt>e(k@cew7Y8s({8Wu;p1MTQ;q1wkV{b9!R6gaGx*w;g_v2`Q=^F=M1rsfsybyT zU*c0{A@RE+xE8hB@TaSo(>-FxEEXkJ7;|9+thJMbtHSkrHg~7@A(4_0Xa?fkQLM6jSO4#Mrb?eEDPR!TlT+AKOzUS33!{3CJEX`JH!=)o+}( zczDx=yi2xT{^%~f4pasVit*>hT3SKr561xzk=49UC>Ykz+?I@YevBXe zneSpp-u+k$E6u;`ew7)WN@!oN^^4sGvbcJvHgkuaT^7wB z+f|zuE)GVtIz8xTN_bER9>@Avla~c<9I0v{z_)!d)j2TO7*vlii_p>gEXy`pWlQ`M z-neU-)<6I-f=g7@y^))~(j@xTa~WYy?xQ>e3zh z{}KMo{=dlN60}Z@{^9 z1V{+G?UZ!^Ge4e>A*vu@5%W3y(gLLYSD||8Ej5W)_*~Eilt-ceLh}ZYCS-UaD#M=Q zHHBo_dz)Qs^8+&^ntq+PWBFD%QqVS^>$AW^3gEbnia@%+5l;6f!cjtsZtd$i! zadRnfbZ({IRbN-qQw0_uAdVH_PyFv-#dD$pNBhdadm145e0F}gBigw>c|IEGku6pJ zRr;;#P?$<8AbYXH>gmW zE3Rap^LYl$w8<%TlWExTbQ+_PnTb5Y`a|n#htFJ{i^CZASX{h;%}pCGdd$Q1DWO02 zH@R#|Zj|UQ9i8i*>pJgwT3lU0>}}p@d^NRrmtYuBTy!}PFJ_0nM&Htc74?5*U(W}= zy#ylY$5C%W&aO|!BSn)cdm5^xQ&Rm5fT*TCliTfGLATvz`ZPKw(->J)GnQ(TJ^}8l4cP ztP`mvBEQKaDIQR;U@$P3I;Q#$t#LT|LwpYg%%pY5nf7=r&dY|!%n1R;$n&s|SzWHep%(9^*{T$XRS~KVilevMOvVB@GSrMN1MLjw%NOyb)9l(x~4K4myyF zezMg<5p*ef0&eJZVpTPMt>e9gI~&}SHg0%5#o0C=bGnQ?go+tC_6#|xm09Z)xzI>G zAl~^=d3GE~lA`#8flTCNIY!Ola)uoaSVxU-fAxOD7Yi017vsr&x+xT~^PbwCpGvet zk|#m~i_$cs9?n~O@br`w*}F}~RIrS@qU-}5H8T^Yo{y|{w92Y{>9a_o54#xKrZ)N> z;*p~LVxs*8Tg?hQmLs~_$}_SQJ+BxfB9wy9=3`0krYTZ8wTFwhqy+v~PG`31@gm=l ze-uIg#wN260VMr5aPqA4GoLLjM2%jKi^(0kw0iN+2a5W+U|z<;(Q~2}B^Ux0*P6Rs zEuHNKT}og3&@`?}$Lt0R?}L0B#a%UnIf3Y0)=ry^E(Xl%E)OJ^%fULYp5Yskn0~Fg za-_0zMGe9k`op`CT?cZ}fE46OF0I7NE1&Tt9F2PqkB79%xGfS|=IhI1j?+)bUg+mHNYH7qRgL* zML(hQo?l-U-Lr+f@;|bt!}Fdca#j_n_or?$u4`K|+NF7x z|E`s!P-hR6EYRcbVen73fQJyb$2YoxwAV7x-g3K_+0xu<`}!9&5&6t-BB zf4&T=P@LZDaahQck=!y7qll8J@SylZtp5PVCK3r?CYH5jGEw6+x8n?4-QSAzt@(PBJIXVW7u_D? z!9HkJV3%LcBz#j0Acstj-cNpZmr2_t5EV0G{7x7ocl#DQtmmTsUAnI~X-c}`i%$y6 z1;#=Y_i1@r73(#7Q0<-I{AbKHKzIJU$Xwf3q+$NOC2r;(Rh4d9Tk zS)*}llawv8O9yVhFReDGqC1v0+&lGK%5XW&^1X23Hy0LVq`20)q=Kg~x_O8~h{Rcv z6uTM%lz|cl;00c?u#;h_eJvD$rT3%6O4GV?q#PhU5ZtIo zgAgUzwL_Y}SfqJ=EP-CQA(_se7b$pT4WOjMwS61h+D>-9151 z%Uwza{NCdJ&19PYQZnKs+RXd8%#8!{ebVT-(=Ftkl#k!hL0z2MR_F^8Se5X`_Td6t zc}v+yErIi72@GCYoQUY+bsiS>u^q8lLY|g zAasLgvmc?47xDR+elqH>YzAR_7S{M$0Zhe`I}V$#l&6$}W&=X%VG&|Rc1QZePpJ&m zwHT3P>gf`>p>jX;Z|~1uv3||ZgB(!KJs)T>f834jY4hrCkWzoE7rhtnP(#XUvwaJS zUgUf^2u&t^k*@^GETL>tKt%@?zi!#6wC|FKl(H! zPw9U=2hXFg(NyB0XD%<|HI{zNH9+HPy_-{VdEaoNb+dI}%0&8KL;_#jmT1&W!DQla z(A6?Itb>6_4{B`pu!{W{dPzu|#R71b4O+IGyE}GSG1F{ z`4wgEi>%T?O`hR~j=C44IU1@7?1g`xp*aKH_5WuV-QxC^eCwDVhpNYV1^7}X^ z^w&1p_23`rdpxu)*pKn37_nx)Z1VWx6tWw|_{qP#svirl4Ii`>t~NVuhkYexPo-H^ zJ+s$8PCw4OdEUZp*2YC6*C?P+5LoepA*EJ9GV53jd`xM&`y9CHc=xQiMroPV zS?0aKKGoC=Q}hf|^~?oRHJZePGGc~IMs~hG#szM0cc(>UXEa(@05+MYXR4>4Xo)Zz zZ1H}xi$iK8u!&D**`XxGL({?DF!^SfawZEbhXbL1$b&kllsoaFEbL7;NjVsD2$x8Ycq`P&naUN=ouDL36wQDDA(HPb_7&@NxT_ zAvUprLza`5&M|R+;Pt1QWE3r_`O5(`JE6`aF@TdWMJ;hc+iR7(R(h6xmq^oP08Ftz z72KW4e$dwqXakSigC2WAq8K5FWEb^yu_R^RKr-4-0oL+e$apfmGb~cGnx4 zUe#bRp8{>zZ1b=nvar&5k&y{L%M_z2O}zd=t(j!ry<^}!zV)uwaE>0x*OfpLNTHBz z&A%BWE2>E0l!^?emT;ztKZ>%qm$RBxVx^#8SF%(3aEt;2@whaGF2_!olz6_Ek^hY) zf?1O)0eG4Ol$zn}+3cKuIY*=BgkAC)J#u;!zOoPRv&?2IFZ@6FH5Cg4^`c+m=aU*f z|Kj#Q&2JcNa!6=kKbXzgI(2&9VHB`0+(sK*H~-E+Y{uG6}*t z_M|8?CsF24H+g8LcI|7W#9&@Bf4j2nO+hxXm)iP2|o1AdoI|ArlL|9=pFy&(VnU3nWxP0}@m0L>jr zmO6RE#&)x-l#>dH5sOK41Tha=i*3arp9V}j=dow~74i8j@*+zKyUV=hRx=Q~vH#w` zrM$7C_JbWLD`vBM0P{u7OAFAI3fuOyJ6b}CzoztOoaf2vpn{NFs=f}l4wa^9R3t?S zm8LR1d= zs%-#cc^PyuYgm83xw(%oXykgvFck|twnq8?{wu8rXxR}_XZ@p!C`jcd0g87iBMM`? z{k3>~i~uc2-)gPs|9t1a#FK)=d&D8^x4-)L)5@)cpf{QL(~90-4KvArVwRxNROf#+ z3^L{iY>CzOzQ1O#NjfOaCZ2V7+eQK5ow?eO%FV`@;;JZQe5EnlULXxhlfDX+dDD$V zWMHHB^axXd;gwBy=p2hjD?Hw>C!K%6wEOU8DQ$}c^Wpxm7vHPG6R)w}s_>YSrr?1rzYG!Re9Sz1ZQE{^(=S<-cCJ7y}SG3&p zH9vS94-_SSCND-#<}WFE)SMu5oSr6dT~k1aaSkCPBiCT*N~Xe?^`gFXW?@utkZXMNWrD+;oTq(vPR9uV z6QtBNjC6T2wnW_nryPR+V7Eg0%YadMtrYbUcyPd5vF$=8217>ny9)vdaH7Ji#jPf= z8l?m1!c(V=YL=vURS`hR?BfxY(9hWtQ}2l&k${3(?)JAH!kM7* za)%#FR01Mx+_YZWk z0;j8&EL1YDa+2!{BW;aX3>H}Sq?~X=>q}(t52Yyv2q>2_kdsW1jBJe=%h_j@`?k@U8C;6B-~lXVEO_FU z@~LTfz(`EWFGa0(i@8JQEGmSJ7E@_wYvgJ~D25ZcQqE(azY#rMxN)lRq-r*^@v_}* zc2Bv=cz2NcRpa$Mn_;SH+jasMsjKg0ip3l%23lul7=qR1FmB)-hskDH-C3B++_gs1 zs(7tkOq{#Q)WO}uA|e16 zeBdyNt0t9ASSk>y%%_d5tnN@W1T)%=RHb7%R%U;#%S{ObLT;aOOn-YgsMlss4cT?( zbLr0G*2A*zK>W&Doq^HnKS6`fpZ#BS@$d*5Lb$aMIf717x3LF*%tX8BP~IyjuwNKX zV~SF(Qgzs`c@?eHqR~JYWX5fGqJwL>wb;Q7fuHhsvg-{-ivGISTZ9}o(_!&3jc z0wwxVMwMBs>aHNK4+3TI#4S>Arq-D`HF=;?=52Iv3=U^0pQHUnzXtEDq#KWV_0H#v z$|cW?J|tdgbnPd%n$?uAjOaV_&U2?-4GtT=aEk~L!s|W{^DZOd_Gk9{2P-V*bHyXB zoAdXX$`V3}uJ*`=C?>NjCI?+4ln& zoNaWoZf=6Kd?6=exYakpd5kTH zEKxjfTzlLUw&e^ggKFD2u)EN?QByYJv`C77X+m2+e2EBMl;(Qa16q<`-MMznFwPcE zh1%P*XQ^2eE`U=d9--f@9RpedKRz}!TjQy}bu`&!c?tW5JIhe_L%K}wy@S$`)JW#*8XQ>-OLv}{n2MSjVuwK& z_lFsqg}kf7yoR9p(V~Wd>M&Fjb{eW(kq|eZ2x$XOH-v}M-i9{{_U&tCeD9>l%KW1k zxL<0QYMNTKFe2~LWiq@7(TaHD)cN35!bfllDYKS##1yfliQd{c#DdSqgD1Ms96&edB}M{YeW?MJXOJ{J9ij0|TfgpSl(*adV>)z4_^9h4xe-=t%c{t;cU# z&GRWEZadM>Re(y^lkS`0PAU^eGoK^DZ#t3gH6G7ztKO9F0PV>25~S^0116vPdMx}K z?XHglpdOkuxsyiHwYPlmdGD~NV}}CfnhI-LJbVe&6Ie|hXz1=}Nz8bxPMwUThrLYO zmh4gBb%e{3Npz!~I_o+3iNDUJ%bDY(t=D zF1mbae>W$vzEY9p(O`K$FHOW1GDLud$sTzh{K~X~2wFfB8{;+oOMpQ18V3K3WJ17{ zG?8F81*8kjT?}Ts$|mQY9))rLiGyI_Qn0ONMzuw>Iz#_;pW-EGfi?5T&j8Y+$Uni^M#fyWNigqr%(12)f>^UpTxsvvmE!?!bN_Ca0dH7!uMhAqe zFf67<&;xqcw5ppb9gerJa)OdQtZ(ntfSaK}cNVYJ6K_}iy|JLYmU)*bjuBB~&NG%~ z;4y)3bQRQmg;BL-ZRFOJ&B-Xyunz_~X%198-Ex!j9Oadry0(?3v1Cgvd1i$LZhb_V zW$(l$2mY%y;sz4jMF$!&n=iBQ|dYv4HSNtR?1+gn5jrFY}FSE?}Yc8*xp_fz(T^>jN zV6TU}7SCbRqlQP&0kcP!{E&^qY052+46u6FEb5+={8qayB}Yp3EY1OT^>$$n3h}CV z>0+y>^ll}M#S1Y=)U}FErY>%vTPZyM%qG^kaKBS9x3-;jMp*8yOG8_6 zxjBhWa?KDHjmITyyu+)-XHRyQUNE;rkeupX^Tnv%>N9|>fVvI8mO?kqI16b2$h2Q| z6D+&|b7ZP9Ad`<&rs|k_ z30fr`(=wk8-TlU*PSK-4%=gJwrR_df9%zR)b-poP@CM@Y^i7j?DTsJAL}d7Ziow1= z_erBzBOL=uT`ogQPG7y8dJiA<$>t%&KbR!sX#Al`GM}SGQ-b2Mfv{P_SB4?F8S6!x z!7nYqQhy%4ed6{3A?#13yGg+3W|q#|TS=lsV7c4kV^)i~y!j(ZklAfp`;I0JtT<0f z{!OR0^N6O$MaYe5OW&f$qf@dR1gaL|(hlZBC4y!!fFh6WYi1uM1i z*}KHAHarj4qbvFz_ba7m+i}O4u4Q5`m3I7_Vp0nH8Vw&oN2~jv<$xW+xkmG|Ru`M! z8>p(HxUI33neF!k>JD?F)T=H&>`6y%wlNF_4*Nri<8QjNn#P~|Oe{*E+1?vfdJ?>G zbN22T+(lLL7LQx)JK}f|Q>axD6_#>$-m>j!n*!bc-kY-P6rzRd!SXl_`3}Ic&~oLh zX9laiwTX9p^(dFo#?Es7XyTdW9pQTc+aFlbAVq!qX=r#dAO#={&AF5`D(=akfzoR@F+)rBXcxQdq!@P%33c@lniV%U;N_T@)X*#F_VQBr;(#N zs9{3O?8)^e#DD0Mk~LBp98nuQxDvd}6|3j8M&=bnVOskA-QCsv&BrcFQ>cpz@0dUy ze6jnf9$}Us2cj{~^d+@kPC^)(U!G*YMC;5%_&aNUrQior^Mlpd0+xD25xizKh@yp~ z5|_q&_LE~zsrf0Yq^i{%CmlW_DGvlkZrSdKPO)N~-`F?hMV|hr6_%E`rjxJCVnplk zOF`JUO^%~Ex~L&`-`<{{=W;;M;CzhchEkaK7pc%-rb@0gUE%~CqkdMg+HNV(cYbJ2 zIa$BjSFI0J^WZrcfN?Y0>EIFrVEOmcY`@p+3>~z<1Yj9_CQxE%TMh z-&KMb+(Q-ip2H_!X}37qz$P9DakCLTLupyoSNy7Oo;NP(&TL_I+@mEKU+P}@?Q35i zVh1eIqeIZ>axA7g69)M>2Wg(trnqK8*=9x*Pm5tv0vbw>e7Yj78W__PlOYa9Jagsw zR5qLg@QK#qCY;BHfVmr9hlkwd66BvML_FN&0LujL09mbK){l5O&_y;=! zv(_vaHxE{fOtt2%SQ#wAeeKW| z>toxkHlZ*Noa-1gzs48>01qw<@B3|~LG}nvStEE~FyArdXn2^1DTv#ZHn-D4L2!R) ze8sE#l=`j{BfQMUJLI1*C5Q%!LLRTzvEjKlV=tnQjE1PRv_Zd65P3i17~;@79}BO6 zs?ljfpFh@$rwAD-(^|f;s;lIyb;x8SMyrT2VB|mW6OMv|y`b-SS(0K2%&Ivl2mv<{ zpaUZp{O{zt^a~AYQDo}~B-lIYl^2=8N&}nKu3MLg%z!dBx~tEZ9L~qTRLrT?Ao!^m z!k|h<^1qkO-alwQ_ZG-O4@KbmRI6f!6Tts?G_-dZYhyf}dx3zPCdF z@s=c^3h;A5MXh3txvG`rrvK-fPFLfZU$hZ52Rey{lQ z9cjx)KI<#UjhCVM#Q}abDG%|S*t|1e*ADH&`SU*k?tAao@9YYtHRb<2DEWOVJBTkA z!e;n!|Mg_K($9H!=0wV>Iz3Bn-VhcI1N!=uTG(HKG~n}&PCU!@tp}fhX|ESxv!2R2 z;D0Rv;s~IxEvZGrcO=HlD$v~Jlxm#@Z4d=UDnD<97VwqJ0SH--520<9xPiP_>;3z zlLyX;vm;#CUn=5{LGRxiIJQ=u9W-20C$VGLu>Eyn94IWXOLI(bN73g$mp|hQ#2{TVqdzps-=PVA5HT}d&CLM(8ke7@ z6$eczBLq~*zX+Z*B1oA&)hQ#K@>j#LAZ7X}A@#q6^5^tOCH_8?{uv?Me>MF7I&}E= z3A6vt55PO9xy-Xqf3ec%kQ21e<6HA}VKA+2QU82zKJR?TpDZ27e~qO{EC_#MFfVWa zR$uJL_>6-FGv307;^!Rsbs4Ay&?GWz9o6`25@ka-Zcc=g#}#|frAyy=i% zCjfYe8d{7?v86n)yFxJJ(%>f>i{-9ixp-!`w;Y5~&=Zke52r54s3>jI{5UANu(q!D za$p1m`3M$zuyuwf9@tn~H|+$2?f;llUs%N7OEco^rQMZa@2S$K$u6lc(;cWPdV^7$ zaJzMs@uIpkVaDfE$AAarO0P2+WEu`v1=o}Z-Dn~ZkWFF{TZN0P-T-#&IhJy?7Bh^|z)M2N;QMCbWbV*vJc~^YWt3@8b`i79&tY<3xE* z`buFB^GQa_(_iHe&K!&Lg)MN`%{+Fri)7fY-##h5K-{P1TQ5>65pKcX3D3!;?gL);Ag zOG&M3ZC7Cq-Rf5rK5dE~?FZg|jhFR1r}RzqM?aUo*0Q^FNKxc?X$W;eG@zRGbi zV|&^kC`SR#fytokeCyBuYYu;3#&V}#bSYx9xtL6vER-#wC~H30A4JfW-%NA`x-}-b zzyYyZo4EC7T_+DqvWan(X?w0@P_)-}XFoerk5gZ5{1+S-%g!KK!!D%%_2FtEzyo1S zFVkkvcmVZiF$$O4QS1Yb4Qz}36`5G~8LZ`^hn^B=1mi$boJ#I2>g> z&Iad=;#9MoW?X8ZZL7?jW!tD8afYGyScljKNta1=0db1P++ne@vP*AT6N8vQ+l3N{ z5SB222w{e};R5Gw46xxYR|v&@4xQjXgm5r(H6Sdjy}eZshfAok(t&Uhd%JAMEZ-n` z~l95Ty+|-V)wwpVaI*0ZMRPia9P8x$I)XIqK~kW>HSlk6(tL_7dDZ z)~lP95VdKf6;pp2U(r=(csg@Grney+^bZr`pO$uQWlF)E?F>%f*6!3eGG4mipg&Jx ztVnenc8hTzCDnUuD7YdqBCov&+jTy>t7}SZYGSG*z(n%(A?H~6#Ech~V?|QY1u^j+ z?N&I2t-s$?z}s0UZWxl)UF7l14-cmKb#O0%K(KG~^apnr{bv<-GmWpIU&QzxB$iTU zv8+6~ke&)nwFx}`&u->D3<|BiL$csQ2+RlLFe&ji0)=&{60L!E3C$Wk5tuX_AG>y+ z)^%$H7TH}LyS_eZDt0sVn$aYdKD732rSY=C6~FQTstEXDcXjWFZiIA~Pu@MuXDVGS z&_vkABc?%NlnckWW!-Nk4f>QD&D5oR7;*2Zdbi*uRblDz1S?X@{Ar4tyvj3Gl)>6p z=Jvjwps>;458@POIBIoD3b*4;pu}VvVxXw}HdhtH$`#PPmS((hR!eOEHuCrFRI2D} zw1!*4Y5|9mv9U#Cia))*U-htED7|zY!~f$%Q^{WL;fS%A7c?GMFZa5==DKNM;Cfh zy}{AyB`K#KioG3ZQrgq5l*Itt7g0(x@|tGGJ~8ZeA%h#f+B^>|;A7vrOrt=*^AR_1 zCXl7ID0ewsal5JvePZI^E1r@D|5tzTeXbh43Q_|j^!pDuX$F^8e@aS*oybUK)vdnD zqbGQ}aeJt}x^;MvEaqCB)yosbeEZ=GxpS3U@P6UIVEJxx6M&s8fJ7OV@)jKV=b za=Jyt0|?#qKjY`li+861*(T~@ST#jo(9c;j^y!L4~lG5C7EhN0W| ze(?F4A)K|dg7y(IZ#sCJ=1L-pZ*MGLx@;&HcioW=EE-RE>B<|NbFA8S=`);ZePB2RxK4Mr8% ze3Gcle7V*|XNUu>VRy>@ft`ey)<5=crOA&&6)yQ`n;hK2YqS^HtK_wdhk<%Bo=bJGgC-6N~* zPxdD<7yL8dE){uA9bRp@HuQUzJE+uJSeqNX68l%trn!;u-`rpqLUJu+2c0pq z7>PiV!#S2v5saPt!rEg@8TyxfG1W@96cd^GQ&c$@Rbs3UQpzXamwYmQ407#2sj228 zya=I1w)3|9q8J!Ae?ld+Q$Ne@kWkIW?eQ|`o_Y~TC+CSIFI2dmljcZI?`1wV!BhDbU5qx364xNuBKU7_S0< zqAJU;$%)-{M0rs^WyVwL3?tzA#vdO|nHPgZ| ze|8s7W0zYSlX|$W788>VIAGhpFX*XNRJY0fD;EFW8|u5dK%HZ$STwb<| zIjQHWRN|QJG*{=WTXYvD{;zaM>AV+A1a|AQRdI`Ar>lb=@V!_RcFt*Ze{4ikogvYl zRC@B~wb;+PGno&_b0G3jec73~<=M>BkpKACXD_1gr5O~lDZCMae}8qp?+%JVyXAtt z-gK?syAMJK{h(A$-8z|c{J-ursQ~)j4qN5?pDfFNH_h+sK)w|vi>UlxNu{av-+iBA zfh+CE`cK;NFL;>zo_NoMt!(@Ec-(v+4<4~5Ca6ek-<&tbX`4G# zUA#>%IQt76cE5hP!Eef9{k?b;h*H#pI{m_W00l~|x~oNBWs%^Wv@K@j>{Jpxl!g{n+9VIn8Ae#aC&&E9E9qxBxel)kJ+i*Kc{4f4`Cnt-P9fV(SuOA6n|+p5|Z ze^}!qVk@SZCy8t|ZZv(SOYvu^!CADVllE?xoPh^Q<}y)M$?3zeg9yV5B_t8d(fC#g zcAF4NM=u5O5W2W*c&6w*GR2E>AJ`asqx`Vr4?EC(lPyU!LZ@OE1C`V^U`8vkM+RBL zB^d?=)d6dqNPikO8w5=<8-+S0jyle+>^TrRNQgw0SnyRWUTfE-P)Ii}$i$%@B0M;E zkjA(}MQU_sF%48cY&jT`@wBX!R)PX1#sv$92B;-X_w|X``_-GKS?q$5O4KJAKf~)k z$KySP^qQRTmwXj50Ue(5tOnOEJrZnD3uXs103Eb2j5-Uau zZK0yfeY4)|;g^^X4LITwoOwG^B`6?Hfd8 zhN!6*SV#Ek?b=`SDXEAt=Hm8Vgyvu);Nul?LlL7tqSivLRDbSbT{5hIbI|&(h~d%) z?kq0f%Kkm(cLn~w?M)%=lOgy*smd6*`+7>?QLbDctJjjiV~8+^jF38ZS8sRlK(H)Pf|jW~p1E zy@Uuj+IDY0#hk%`DGyGduX+6DHk(Ag50=87yq^&FG>W7v4c^#s;SlPFFk~BuHk}8t!D1YW(hHH=K^^|AF{>92Tj;)ef4cj?%+#;zQdn3Y& zj)n(YWZI3!-P)mTgTUenQKVgVW3^pO(Wpd0IeC70XD^Q1(&v8V=+ID?=?0Am)dV_j za$?5&VS9vux?#--U}1bj6Ho_bxOie~HU{VggLRajOqid`P}2T-;l}HuNm{!*hKSOfI5|IF2r8L+-E-4RAqs zW{}v9`BRsMndUY-Gbbm^b;%qr!QPN)tV8iehmeb@z8(0C>JoKWUad^dc2z?dCClQ* zV%JL|f?lvUKRkkE5EwRG{b*j449ua8h+=r-$3+_%`K>fwtCmQT7?pJeZUJ4fW%iw(-}uR}bp zb!XOsXXGL-*IpcTvt8FpyIldJhE6vxRX-*>(ZFWic#RqsLR8oA8k-*6LAoTnhT#(1 z5I)XHnAt2BZ@Y|wKfa863@o`y?!lQ7Cbh9CDidBsK+s!Z5hf8ad4UxsMj8&4NW(5A z#KuH<8J*RFNT14Y!TSZ`7kLd^K?Zo|?zOKxHUixV^kb@L^pG=q8m~F*Sz?)L5NNV! zDc|REpkNP}PEn@`>Q3&U@_FW!hSIO;EG$W?7&%hzIOOQ<-gZ?)2jdhvTGuW<0^`-g z{mN4@IFlYNiZwolD{vcpX;9o;KRG?8z;PH0$kBAJFEr;7T=h_@u)e0%T+oqFofa}_ zd3NASsDht4q30aoxBM-xOZaQwW(C3xCuUaF=ThUOT4xM9*Qy?>%@Rf)?!cakVQm=A zoG@)<1e30>C!}9Ynu)72Q0)k+&JCIDa#nwz?eC<`Uzxb>_UhsL+czkQ?bZNxXDKRr zwy$xT%p9KN_cZ&W%5)e$Tc%9+M*CfrNm9pUz2)oSMD@fyt^EiOnD8ga|F$q3g6lkx z-Yb03+tZ`*Vv`u~D0zwB*?r`br1iD*BLtbt!3)$n%utUfUTw73+RB72PioeNX%Z-g zI)nTAZie!zCCpC42>3j{m2cnfAjJ34h>+A_ro4fhq%uY^RaO=|Bu+KY=`>4_U3c_p zSN!k+8dzRPkyJ-pCFyvOBB{EGtTi_|y`ghaP(e8+|FxnbUg|iGF_wyNK~uen@CH3y zJ-mHX)_j~OlyDnXV$xybb%ADUtS6=pk}*+J`aohm!dG9CA+iCD?G zQ{b4nr#cHx^)Ts;2=9XiH44U%TrOm@MZUE_ZiCMaW3CTB#~W`N{dj$hq&-dH%|pC; ztMKhng-!T8{4uk!I7l{6nlgN`Gx@>OVstGu*+PcvKT7}SXMWyXDBCPz*2I9++;zMA z{Dx0f&A2Vjf0SOvmUv~9EJrbKLM@71GIb&tNIH1K?lN#+Y(6=QC+JXs0vi;M>j7AF z$=M1xN|eRS3O&kpjcXsdaec)*tBQgts1U&VMUllKj}lTk)3u;1UJ{96&p@3ftz1xp zeJ%S;#p9$xIWU$aI(}XBPBu#|8*vvL2AYCWHZYqi;MC;3J~3T_0rV5$S=5|gY|h;M z(!K57yJ-nu(XHUYZlz0VRO8jjrvV)8Ha12YmXvo`NU(xFKIkQeY`Z92S$2r~B^p&? zRxy_r8U0Sg5#wME$Ikq%yua@XCrF=bv@4Te)H=k)Wi%wAN$pp@gD+71w5*fvnui)T5=#dV8c$Q@7lV5|Ul& zct3>p-TO%XZvaUrv*_%Q?I^k;ma`%xPL%*w+Ol_YV{)Sf{PInQ^di|qNwupK$%Is^ zd2u~1mt|S8OskD=0*^fw9$!;m$HQ!zuq(Ohlz8dcZeEAd_i^$DX;D3K;1fx7C!Wv5 zf1}S=>KAv}X1Ow6G$@HfC|j0skok$^jwh{XWZ%s@28gQHTU2Py0Xnnj=$B~m=q9H&LyTK zD{o=Wo(c%Ao+FIT8oS49j;~u5~&Sa`^v3|YA#}`{?PMTVu!BVWv z!x(Zknv48qlLn*$s(}uzbeuVFo;TfSQ1fqDk^KiDJ_E~-1Nk2;y6=ro+ls-@7K4<} zh0{>L_6smer99HugqQBA6UHgjU;YNVzU-1o`@rQZNWDG(tL76Z_6_noDakxr{tCH$ zeh&qDuIL0vtcIb<@l$zU`aOj~2X$7h)W5%j`DW1Uh|&)(fxK%ZBCdjS zFPHhLf&!@~1W21O)08>~)}>rvbO#v{CESasj&H&G)~IC_ka3WZ zGcXmHkY+L?$#`P;>_>6BRiU? zo_q2dU!#;I+lnEw)Kh(1D`Get{>rj6ppPs?f5N&%n#U_GBMJ$e=y*wyNB+YslUTwP zZ-1|JpQZjywG@96AKQP%ztt2}R``QcuwTNW@7B?QJ)w`3Xk@X4fb|B|A~L3J^S62a zPB`|1Wn2Yof=~9P!1$7=T_l;ZDpIC63>y4vJ)hMoaU5ODN!-RVr9F<&%)~@e!N`LL z)b>;5#PMmckU0F*$df2A9*Rz8YuAu(&|L(*^u%Y`j3G9^c@E_KsogmtFBB@G$ybdJ z5St^+h8i>mdbEY=&M1*Jgfidk$8MPkA~MF^v~Mme#`vipR1t2>Qe8YevcYKN-rEj@ zK@XD@tM!vgKmn)?=hD}it4N=>eIrr>Pqt$_py@Z9s|u64VJ@zS+Dt4C%xEwv5aCog zx;x|R-~S%-F)EmT(g_Y@)5taBpww4Jbuu^A?1oN@eK%HR2f3#w{`9UwL<5;e1M4lm zmGQUn*7nt1?ixh6YcSzsPP@QSe*)mfwDpLQ9*MFB&!P3>m)6{(5Khk?0#ana_5D}7 z#(>_d@2;YGC{o)Yg}oY`2$?Uqan!W=dqqSzZx?Lu0&KyN`&>l3Y6hS`8^uJZrccJ^ zMc{G)=7k9QB**mlmk*)g>Rdbfn0?cO(#iEVcmBHU>m0K(FPL~X^49yIa`vQxwI(+5 zj6Byz2giy|_~m>S*JS^*V0`IE%st7=h); zc0q~|N-Qc6nx^jKPN+RD+STk^_G9^?1HcF1=2+Rd8idEM6px2r$QluuycrsGQqmc5J|WD zjQ5+zoT(kK_ALEPQ0>6U{PPjz{t(gssDJtWM%%Ik)VE~&aN#5Mh z`XPA(KL=r4X1+>GB%TdI#q?BNvdLhyjD$5G-3^AYQ~+{WXbiWLDD?ykaRK<*-E-i4 z^UHES4#^lv)=V*xIZ+}%RFhN9;n%^z(=(uIBd8T)I1Qz^*v{Sh4p;}XR0j`&W%ihR z$&RA*Ef-ei)FnxlEl(bbY$*MkP2=5e(S}$23m(as45aa{G7`q+&W*o)l=D-*d%(u- zz3?&i(6Y`R=Y@v#*Hg&8(9=a@Z;qZai!>&_4wBRJVG&I>%7p}w#$s}s&Th8_kofK$ zv=q5niABDeT;4f%usL{Po;A1>)n586?QmjSS+l|(iVCAZvgNJpPoIm^+9&24xu`hh z>7klLHi@x)mI1j$tUGx7$LJV=NTQ0F9(fVOeplH%4W!9NW&BL+a$kEHlBD8_qr^)# zF1Wtv1w=w`R60|OPf}g*;;;+;&hTVVN`Ah>Lk0T0oB(DdS09BBxyTi~*D^0AT_sF} zX?BJ3SD2{3xGkzt3v^?f{~z|=GANI3TNh1mcL^Tc9Rk7K-JReL!5tFZ-3jjQ7A&~C zySux?ee)^FUTas~s`Kxhe_bvuRSS@B25X{Jkh zaRd!on;RQ6Z*8NEJV{*W!9ZtZRQgq)nn(<}H z3s0Zv9t0h;CJQx$qdUGk%-OyaUnOwdI6L7c!xrC)eB`E?iZrNQX^hk?y zmXNJoTggN4QFC%Fv)xhbGpox5wJ5m}4$Mw!#v*$~xH?_@tlHQepahk9!YcH@{`lZ< z9)+PA?KdZcUA^g1R4i7xRHtOKR&sc(S>-np4Hs^+STR8#bXQC$dI8C>8P4{?uppz| zLgs;4Whhd}HWG%VJ~O@}ee-ZeG(vOp^wFeNXc%!DI99^6@ChYRmNtxzX(rlwXR&T+ z%#a6#Jd|34Wg|dlp%S3X^dbUNx}LaR z=W#Nim5E@j3~l=d^Zi6m{Xbz4SkM-+DFV6rWDcVxTiVr(ISP?nfgQ1q-G1-D5Ge$> zulJW;>Iw?sv-1R|8NMO6jT zHEWGh-OMh%%AMW26<_hzvD825pO(rA;{w|zRua{StZdCBQFeBOky4dy%wDVlzYaO| zfi7uXUsb624C_?RwqS$Q*!JQz1GSf<=nC`Cj|7zdW*KO5#0EQ=!wrB;gB0O>pKzoA zhm`S$?pfj7GYHYt=Cenp#CPOGU`B8l?_oqTaeRKFEYOo369#f2o+e71$&{D(%16C* zO&IUxtbN+(du9o<8Hh<~pt%pwx#R7c(D3`w2aXb(Td);Tsn;QvdojgQyX6ZZBXh>g z$_K$T+%#X14LC5e*jfQPX+c2=0gZ z0`+R|rV#&eyO>i+P`K%kz|t7iRGP);Z>-#}fPr=+-S}ePHJSt|8ti1cossTtPHvb& zLfb*`s9o3URikaibE@@taON&HpYNec$evG?Se7D!s0~*)5t9#E=g_baDt++8yGXaK z`f*V0+vGYglF8zNjaGZk{EHLO6;{%u-)d{U*1}7ei0Y|U+Rb8KT)3;)i6|r|*>f;f z4KT1EMG_|roK7i3pHUvi2XT4f%l?FE^`S$Zn4AD$&UJ+L|KeIo-v}^kh+hiCQc1ZFh2RMe88>YbTWCVx)=9?(e$L8wcFVt`>_lYsduTU zMe@m-H1y%h?su6GBV6Q5IL6x#dZmX2_Wiq>Z7u|z_^-l=eS)7b32dop@=uslD4sXC z=Wh_~gU6NY`7p={vqEnbroE-rA#eY{VW<(daQ-5i0RB}eFTUP>(QmHvnArZfHO{$L z`C9ea+%9avNPW-?bzu83;*;y3*@ooNhVR)c-6sDY=xyTKv$Fg0@iKaNW&XXlDzNL1 z!?DmEXiUSJvb^d#d2s>eh}EI}N}0^s8fBN-0n_)JJ;WFfhnXxz@Bv`|hUZ`8)4Q!y zs3-fN9o6&QJE64{dB3>1e4hsGnUqcAPVObt!ake-j5DB7X0<4yn0H5y%n8XReS7Ox z;u(DG?(WW;VeqOO&QX8LTUP=Wuh!nr%fj%V@>W`ffb^^B_487p`VH5C%2<0o-oKCZ za|`2%MF+@LTmA?*uS*F4v<;atfGkC+_U`I8G?jn;Q?7bM$o#z+1BKd8kq$b`d`8)9wFu zV5ZF0&-Ocffq$&TfBg?Yr^@vNp$R?xJ_=2Mb_#Bv-G4N@KY#Ew2o2EL|7Qkaip-wq zpOkJ2ZnCm6;B3hORc*J5UFv}ubRe}~9jwbdZ{-0SGyjP6hx@ywNI`(bB(1T=T?{&y zB}X}1^8iD>=h7CriTtf%8>`4eZIxjd-YyLlD*GPSF#_Z6ckUgq*%-DA3hex*xq;|O z3zlkaN+S=&Pk_^E{_Z`%@X}GG4^-{8BZFR{y||tq_z9K+Om?XJanwEeTd4O*0MI69^AYP zE2*d~NiFcY%=p)Mpd_D)PNWnHkCnrUof2$+z#)64%e4IQx4FIYsm)?=zE^C_HBqVB zRZlDGHayc*Zxs#Aok;L|Ez{H$A42EU6@}rfU(M{Mw?M=!#S{~%g1($C=imC^ZIB6Z z1-SwuDXPt)qTmj62~QTk?TO8X*MHWovp&0Bzh7+R7md$gXCxRYu~Murn#z4hyYa@O zG0T0RO8K#O=vAcE{ox<7H92=mUk9R9$$6EnWa7W$64~9?VCmXW!XZ?_~ zRq4EKQVIZ#kKbbF7^V@6D7YTG$*S)mm7sPy7}w})r7^SXMM)8hexwH?xRRAhEBm9z zk1D-jaMt*54&6+$PH@VtD(!T1u5+cjLLnUy)P_eX>yGw8jB5;QruoNG4fgrT0*+jD z9O@~ouTAe?XQ)3Zu;oHBupI6zdxupg*Xdcox0*~i_--SE#HOJPG;79+U9elr-*x0Jnnd8~E-#Nn7W5BO6Nf$fQXiaCIMY3Gh~Nv3iRpP-D?@I(_mz zJ=~9N^r}p`_oz3Ycq?qu3Mw2;KCGi>7W}@X>E6yPd$!fE*b1suY6g_j5N{!B+OX0w zBndgFnO;urWr;?svYB$Fl_J*3KBa0GdgYpiQ^*{Cx)}1p%rUJ}pX20o`$^cLt7iuR zj;8$-mMl{=ZN0;| z4VQ(YExpl(Z$h4|Z+BJ%=|s0;q1U{A$ji54eExLWr_ga#nRa$Lp19EhNXh*rtya|a zJXM?fTElU!*>#_W(9!PTxRQF)myK}smiTUj(2wbsf{7p;ff@H+i}3C!_N_!=r|og$ zWv~$b#foM#H*YlMvWtj)^WD>;*6{K&n2m64t=&-1Qp4klJqh0n#6jsz9PFO{i?Rgf z5M0;tRD0Cz7c(xF%0Mg@_x6Cs<%yO9NBv!H6VSO5j`QA@R+@nzC0!M+)0s3+t`PyJ zEe*1fm)1E-@aL2L3Zm=qLu(!r%v?s?2k_0Jc&wpj2z4pzkY`?Pl?R+CNtxGnR(wV?CGqF|K0KWsj<@1w7}_}qRC zOq%8ow#8A8_Gn>*i0^=6_91Ot72i{1q=en>vu&FDvF0((iwPJQteskA5AR$T$NDm9ZsZA;mge%-$`g z<+kqJ9jy83smr{jP{ppbXrrQCwzd%tc*vDOI7ZDXvO{DU*t@WD^q z*^(0-Pjg)Z0Vu`(VKg?xoj>=(3L^PCmO0M5(-v3NB!<_1OY!2Le#_?7{wbw1tqBU> zp!d*KWVY#IQ`=Im}^nVjr8?J}oO^qqb1# z4mxeIAaqv;*#7b+)GC(QR}UY21gqh!F|-=Y+P;!%GSOw(!CVCAYUaYrIbX4`)+;Smg@4_unf+^qmsc^ zj-f*O+ot)Mq)y|U7%ig&^Jd>fniFOcF6cUEctpnmOMNa-l%SCgar2AI$7X%y?VIu$ z1)0;`toHl2Zy*k0WM0X-ol2j+bb)rJHz0V9_r%xWwcG-N(Wf;eQechM;2Ny>p}~M zUVI`Yxm8$~4!XYX?Z`8C?eV%kO|fs6J(0M+-0e6^;b=f)N|5U>GroK-eCfQC2f6|0 z8oH=f0orT@O;~$voprHCVHnE4^}#k z>`KeMl#pBiIILs#Ra$Jx3iPaY5LbA#0<)x`wrxUZ^Aeq z1}YD+9G*@m0#iq>pI7eMrKK1iTy1rMq5~T6hLcE|@oOBB!Em@SOX%PW)Acw+{qNMn zJwAC_Pm$V=kXVn~$S1I9ZEJSnK*|?NKm_(8wLV;}k42dkw5#F9Ili!=#EvlUz$yhI zzn)2_Y@lM5oGPV9CTWTM%{^(L5#j#9mE-*XT)b~?04DggchWhQ1o6LF zG(n6!^zx}o$EM-C?0s`3h|SOX=5II!#(UZQxm0SVeoV+DLeFj$EG87arR@&acC^7P z7!HB0ug*Au7xoU~f@Y>&@7Z!ybK|sLpw*kiKy0Pu+`%bHAM~QwMKf8c&~{a3*ByVU z(Xu}Fx{eguZW)B`Xexr~6cM+wxc^-D1iul7m)Jfc3deri)he8MPVV3geD!Ogv@+E% z@uVZL-<>Pu%Xo2))D$$R;*QYp8rdFg%6QeiKC;LwX@DqZ8&0Hy*pse&Z(?${9N|p@ z&r}*iANju5iA>6M!NFQ^Bi+?M7eap(f?Ax*zn00$5pL>$@J`&?z3dqX0J6MMkhwr(2x;FuqEns+hB7o(I zEfjM7Qf z&Ll*pew+zg>CY6O?v_1OF1RUKm$3nC-C# z?_Kr$Vs*mxBeQ;*>&wV-rCkmsne5~{_0dnXowK0P`DsBxTDqbHAEc{B z;sOXTiQCYi-=UxcjweHlAR-DRQMFgbP_Ixy%Q+bGfK>hP+_-R$|H!!0baL`->&$+5 zcpOZ7MbY>bb&-#f-Z%&LJ_kkSz>>Kx_{R)$Ay0;lzHz3A;Q9XeIW4#&5^){`nVR}l zMxD2A`Yj7gGL@5G6NKeVMl;i0OY-6~6w)+TIEjHQFI(9c8FFlZ>ylc2VPQ)U8EoQ> zzWPRKVV*qGKl{ShTEZVni#M|lQDwt+lW_wLn_-Q{E34W^Jy?p<6KdWpd8Ax0<%~oj z+hCo&HyfbNVKMGeK^cK1+&2C_Ihz5WY+kf@d#4uIw_(PdZLQ*Smdx&-t7aISDwm?8E{O~wyyY)-Goy-@0wJjscWqf>I(-l#iGOTG_FEF-MUZ zmF~$vsh*RnJI7$q6)I0xoe#R45)20-9E?F3uEWZ zCr7iP-^A`?3JlA(>F?>5zbU%PCBR@|g9%%;gPqKTkCftxSbnlNRlM5ra`5ls4nM-Iq5R%p(FR%Q9eL-D}Ofo?98w%+H4;5 zXzps|N4#z{y_E2w(B&AH-9s$dLvFNSJy_iaiu6s{0Zdy&{G)_e{&#DN$6|sY_LjR& zd54jPqBv)#y;IUBJK?ihlcAznmuQxkV@`4E&V!hVubt?`h25I-qy|dnNs~+~ZfBjQ zS6|XJTZ0X5R9AO*Hw;*}2cGb|D7w9c;1E(%bso&8GfF5grRPe&*L^C>N`5MN%Y9L3 zl}gU17$P1WPsDxQ{UP2g(HW>#=f(E`I~R^73RdReZA?hRtz% zGgm+Ol5G#6jKH?P4|H^5uh<{@X1n{UryUBm+jFC7gg=d2=gQX{Qhmbwuor${*u3&= zWX%q@V!rEn{cF?Pi)OhlW(^c?BNf?8y-1c-K2DZ%yBHVvz&>jmYhwbrN>9v)EB0Y#4SSPJ)=b0;xGB8cp!ZQRTV*4^QciyrMuqM*!e~;aB4*lWlwmg5T_+?gn_Qb!ok%Flrl(bB1?rJL|apehx`k=6R-!p7>uU{A$)sTyvNWtf$y#rxX$+ToyE>_94*skJx`eVEe~eu ziIBPMJ`Ih`D^F9Fs^hF$FH&z}tE>Etv3zdADU1I;B)^B&5?~x5WigKSV{f|0Z%+^S z8{uFiZ*}4>Xq);y6HOFOB?2@4jj^gZ-^PU1Y-_~C-e!i-F;6JspX=8wHMW94IzHZA zkis7odr+6v({&nbgo?An6G??M+U)HY*eXBC1sgDTCdVh>t-CY$xG30PU?5A}zRk-* zJK@xibY7Xz*vTKj2f-A|qp?&gCBV--{y_ zO3mA!>mH~MF0ZpX?vvu}R)KyLOez$}Z2@cOh-o>Dg<_P0uHj-bu}bG&`6l_fq}%S2 ze0Pk7o1Xu@A|u{3zhc*FZ*w^zv)|BduS{rfY4f~*s`R*cfFY~%Cu#ZK;J)%_R;s!u!-8|Cl$wnfISO>qrTTAU++O>*rq>3 z#X%21pejlYg@1`M01w_K%z%-!x>OEg*@kIMgo{W22!i8~aD?z2SQTW2VJpppt}{h>tOLu`!01#Qo7;rfZvf!v!1@dE|MJ3SR}A#^33v&Z&)7 zc8a;8`rC`wW5IBItB9ZhftRN2l~QxQcb>Xzh~8AZvSth>w|vgvXEynFvGKB-U7u8( z5&7Q*D$}+;>wZ62HW&+rf0*$wqu1z)08V-pzEXgYrF8=(o4zghqRnTFRhySzfss^L zrp%0ESU@WoL`3P|AD{pJY~G69$dlf>GxahOjt1J4L(0!Bpnvs6{gA0+k!Q_}sOCX3 z+4OXOKh0VYs)~O~;hKXadK8Z?YF(Bxc1Ao1y0?_==0N2x)E!n#Rp&4Wn83pYH)Fmz zK4aZhb6+EU?xJe!d(`b{$o_aBfq^J4Ek*QguY(-A@2pswU$%%Hxa5Z-H~lc7I%(kp zQKWWLI}wOuHkJMP`%Q|NJO!CajJ|MFJ1mnn_q~>j*%RK1v8DuY#6){MRxuqiXH@iL zGgg~EmgWr(n&lIE;`M9Uej)6 zmyF;M{oNaXqnj+c%J z(feqocpA#3`&ehAyx8bjTi(6WfaOgM^@sWpY6!S+(GlcAOm#K8_X5%kL4_ybCT>lK z?WG^P1yW7=(ai|Vj;ALp%Q4InHV$MrzS1hn%6$k-TjB6SA#ho40X zrFC%q?rex+fo5d!Wh429#Hc^UH(Z)^sr=gR`VgrvmZp!A(r%pgQ=X zQmQpug?jai8dc+rvKd+;=Z(r{G9^9*?x+6COds9v>6@x_(hOtMZ8Vn>yHx~yt)9YH z^Lg@^aUAgCa)}m8cc~?w)3&kDI@}gm18~dd-T9(TQ~DQRAY$UjYU8S>%o~7F-`5S--5j5f+?w zm9vNNd3T6PM4M~*l*bKm<$i%nYz}vQe^sT<(wS)46Fv2j2XxPYzE(3@(XBpK5{c;X zQqG0u1q-#R=PC5jdVB@O=DT$U>(B>vgFgS1rF$#w+l|r+IgdxtyaU+2U^Vf_^Tquw zlH`;Y`?*FrZv;qfV*h&*D1B$qAbDWE)RDxhyK}zU`uCijRx`Ia=cUhH*2{}2jIh-ZCSwCCBk?RWxiO+adLL$~`fTm1SLz#)BT@G}d;6~>%GXJ>x_C^| zQKa2$1!AmCQk%!PgctPkl%oW*sxR%qXz4^{^w8;YbjBvq?J`HQ7#+`Zkd#*6rnOhN z<94Gd^+Ipd&JT)OYc%#7hK2^B;k(6N?jEk-Zn~@ckx?WWdl{(#qNJ%bbbi(t@_`ZB zz=f(~{T1q3f6qkX;qZr{y*Tub+LtX(1sj-jRKwv)~P~%By>12`gF19(|kC)s8jhf8~ zY+^bI{g=f~E%`qC%T4dgG{OL6{lP3yZs}6_$G9WL<`L4#5-dos7SXDa8HXq6=m{;T zSs}bo)q_uQj<$GRgbr#v_mW5ioC?u)D@`fYyQ>(+YGzt6eC)+C|BqBA3LI zZ6SW|);B=Z$~$0qGs8(5$fCtgzm7%w`?D~qZRib1n9gtGTg?HO ze{4_avu#*Lc#y7eZjP%a*QU04c7M zY%#bEfR3^%&&M!>v8N0;-5wMk7c#S1T3cOoXRQ8p1T~K>^r)i55T|AEo_5VhrY3sH z^Ru~zL}|U$D2(J#Tx#K5@t$VT@e!O$$?2VfU#=l^-j*X(-?cR^Qc1@A*!^XoAoY8k zAXURX_v?u?Gk+oM1%{y)Uy*_QA`hvs-4*d1OP@l#A^W>7kHt?D4vXvG^1oaRCrhn( z5*GwX_j$eC%u)y$I(~EE@Q@!48RG`A*TQv~+Ha4qs^uatf(cqU@;_L{@>y^hId#!G zaEy$?nAUtVq$8Hbpq?eZg8Lne?*dMPASWoy*u?5$n~p#2FDD8K0?*zoNWe)Mbj`7n zZ6k!6W)>6*g|J`l4Z1cowx~kHFy(s%C~&kopVb1x#07g}TFI6Z5`gE-=fwjK3NZ*O zl~jxUu#UWer{t!(SzY-_>$(2MvCTI&l0y0P%?8awSVvyafAP~pRHNH0#r^KW77gFT zkJUo1VV|cwnq&<)OPHN(UDi9^u=BSYTk?dsN$W-Ih)|y+`H|E<_u}BjM-h7UEqR0D zD_fl;FbeF1GKe?MTs|3<8Jy}jqYB-DeGeNgsJ`_yo9zOVYybDqEfY!*l=XvC4aMiX*2G%`uAgIis*?`joA`) zEqmUiy97jyy2iS@5j0@utipLG>(r!r?d>3tU#&gs=ix^)W*dr~IA=a>a>O67xL2h{ zH0h{53%8zVHn@k8@G;vyJn_E$>ecCQjf>@Y#4#KU@IsGS%PkqmIL1*bRNQPg532T8eD05>EkoP3_jD*L3x5+3#sfh02P*Urw2$FsjfpfLaKGy=$(?wsJ{{8J1qZIr zdg~Prs~2;uTi$(MYuBUC*$iCwf|*Of0gS#5S8YG_X`iWWTv2Nwe8M^lZmIAou{VfNsp={W~DjzK24i=vocfy;U zWCeCHteq3LD%Y5XShP7R)Hqj-W=?eH+|gLs?wv5g?rc0EHmDmMMH?)`&eJfwi~=Gu z0yFscAt=HMZ|v9(*4mpJte+~%`Ml3oSWhlSccfL^@gIgf#0!Jx{u@_?pA#z6d_nOB?abz>^MEDkdNH+=tE9a_OO z1Al;XRS4A2v|At#dwNhyw@)3EN^gSu-8~^c^C=bhK1^x3w$EnSrr35Pw6%7TO@@MG zjG66IZFpg6g`-jm`;ye2ZB9`(ws0_AG^S-5Xx1n{jUciwsbxVTkEA_sNR?=6nj;r6 z!)cD+NIZF{V>iejA6uk~?Z$$tlRB$t50~JOcS(neCuS0Q;XC<3XxnGQJ}dgWFq5r+ z!U%J`U+WO@x5gUL?|=S|i$aTW_UR#L1g5zu!BqGcy6Q+(A3{qBSL`AU#Q&Kvl)B0S z9q-*~`t8{Hz*D1Xl~a46r-n>|ftLpkLkKbLB7~RjTN$!Rj>!OsBAT6d(zjx_G7#ZS)qO(jP3;DD#9xWt3XP=bp5Y zJ;v%P^A%N{fPro-zGUD)-ksrw!4%_M)p+ee_%p7C1$L6MV?yWN;He=a3A#1#Z(*g1 zM~VVve=$(JyH^51NHHERf6`0-ciBoF?P9l=&&_TQWxS|uEVow< z9E`TTNJ&pQZXpG5_#&a>qmnt@v(ZDIdHXFPe|JxOVFC>1Y@`T><3%D6C%?~>PC!2~ zNOA{B_LhOJS5|xJ@<=i3fJ7ThpMo6RXaL0Az20-3)qW8trP7LvsORj z*LE2^p|ue|(qIW6Frn8G3_lTkmwW3tHh)CT{m>gVf`An$c)>$gaMr7k{_B z!@Ta)t@|lF7RThWwu)h}*`1ir`h-jnIe73ZLcF{}dT0t+LA{2+=NbhQB2)W^Fme{> z)6j#6t~Hy08ING}MS{1k}6rbnX1Y`(g2 zsAV2Ags_QQ-2!ADdo>4no2}zm=acb{Ltow0r=JTXn8+C}B%ARmM4GM_hUc^;uq#O2v%Lqrf=GuH zT3Fe(AF%pwMM;$=orc2*z*#=WCoN z(qJxe;gpbyLJYk3Mn9XlfS5XNhB-JoOOZE(NX6&#Bk_Zy#OVaEdn7E9ICsDro8aPU zV5Gqd$?y|{QX*o3Wset3AM2{WlVvB+zM`*^qhSzR65-l3!NoPz(=>eBqfO(;Nh>Iv z?hEwmi{Dl)CO{DT7QhpxX1C6{3?T4wN`^8Pd%l%{9bi%dPN!%z9|i33CM$I-DZ}{V z!^OCk7Io)o3?_#ykn)Cb8lU&AuZ(a8kcTa8&n-v!mHR?VU``AQ^(n)d-207;%MeD>=wF4RjMafq zP-Pc@@@W^&2Yc&hFgI#hhbOyB~;&!XX^#jh5io+<2V9o&RLd#~ymwj=iDCdJO3;m2zqz=K? z+5pYx-gJndY6myijgkxdieivc#jUf=-fRtHr5ee*O$bEx;8}PgXApry-Up^_rU?Ik zl0f)5R2S3BoZ`bD)7WwxFWc?4lnVT09rd1xZ`e%~SCT|NYPa{0ezR0@{r>Ij$iDl@ zL)Qf{Lr=F5>F}ztn4e8+PR|uXJEm&zGbl33gu&Gi!&40mVx^?f6YcfRTZ6B|%`MkM zCcT^v^E&U&b?Nj~WUC1yrL!~A%Kq5e8=TDIO9M zT3fW53cPic#sedn z*MXJ>nR0QkFxta<5G&K;YG4g1L|3Wh1%!)DZ z-y!X2KA)H$1Q>7+CpX&Wenq>xnToGSrM1!^V$TjQPc;x>9FS0Ewk*CkOmq;)g~%zB zceWNZ6dX%zcPzxB1hZ1mx}ts4-w9wD;rA_8;P!LTIOj0@<;5X}XtE>(rQ7$9gVE4) z{kX{Y)y{8Kt=&&_ooQg&-i{Be@x*uz4uDb;YvGOEVs~eNcnPCh0?vupb-WEItw^*!hs7t$w) zjpS%WQp)9psyx)K`^^Y}DY~oLW-oqgV=3!qx0SOSEmzI0KW)a5dxl816`azw+^*|z zO&+hq$`_>mQYQ}kw-sr=iAUt^N#x5AewtLLW)E69+B|Hs-W=D&gB#z{_sI9V$xIJ! z7Bj7MACGdrSX_=J)W8`!v)ssX=n8+FusUB&ZtA$%7vdf`VTSQ*i{WaIYku=?Gd5dv z5B*CNEB;@y4$lA@&tCrJMb9`!`7UG0&W>d#xk4C>B*ph7KhNi*mn-_w_bd|I98Wuk z_c{J}o6QdnZ8z;xn{6!4{wKZ}HVA&I9%(vsAvuqTwY#7{-j@+c_P4%?0fEx_%OE|hN2>7oFF+3O`GHetbRPVw56|?^Mg&6ghaoK`A@V3`x zWWa3z6-Hyi`sttpeydaeMGiXMPGNtK_w#RW18_6vWHAf^>AuPd`FWW>2}A~X1(*N# z3J^SiQJ8nz>$S9Mv3m-a+Q#gs!}_273m`2g_gbCWiXllTm?k>L?|-acKyLeCcRBcx zbVaZ1L)3+Lpz>aFnc>8>8^B0H?bHSUV>gctIC8t)ibTBooAF|HUc~fH88+Z}v{!VT z!gMZYAG#(QiFs*YF3=1XLF9dHK}_HJNpw+jSCRDd{7Q7i!$_WdsQ;JfqApoL=sS&{NO7Yeg`@u%8;~LsS$Pp57g=^Dq56+5{XgLS7^$6m_)0L8QiC zlXbO+9IPhb2Z8jO3@+gV%$sw`EH%fX22GHbQdv-_SVI2j^R2OnfO<{;>+#J8OPdEu z5tRqGz9R8~R_sO5m~RC6bMGlcc2E&0e1U_p#yNjGNgzomeaK2BmN9JJ=41RK7{(FS zW6_gSR=qs&;2V{T*MSbIA7CpGV?rjP~9bJp@_CFv*9H>u1w z=bmu8QhSqTk%gSY+Tmm<*JQC~fO?rkSz2H{`_cfEYOEzIQ+A z*R1@X)+7$<|H2s|UHLG;g$lji5vpO{F4`9-TGzSNe_pFdkUJOnY5O^T_rKVF0ty>V|A)UPCI71YsXcr3I2WO-zd}m> zuILt9^hN5ZK>%(b-PTCTQmj^_EE?{Nf+4S7R&vW;ui&c6B@MR6Q!V1C!leLUV#!Rg zjz5lK`uf&|-u>BU3cZpT1ivr5xngKb%`o+g#jNKV zThB(1nDaC^fp|U)agOR<JyQHtKdV}9gua`8K= zQuVJb9pyG?++X%;4zs+j1A81Svb~A%_*DJcJf9BwGhRw4&hwaQe(F;@TGKm{l^vcC z+S6)?AdQXNBqm1R+m1)xx|5EUUpG^5hLJq)^F*{6AuW%9a9c$d_i?3O{IK@8Gjra{ z7vu)17d~u1jKL4`f|e!2g5)DqR!|iJZRy0RRE&M_A@+aqs;mn!)5nKtG#}p!czjA& z;a;QFH}ZSvlP6a3+eq=ar5o2->}E`?MDboHCd4(@K1Md-h4<{ZlRL zc}JY1)rA6I8PzOXU&nnV6^+Sr^y;W*c7;Lh(K;|NE(*7rM}w!b1)6kz`H+f^#4jgh z^8_OU#8b0=0o6d-eh7I+O;m#Lh6vML323C_+lw7(+tnz#gbO6ilMN7zMs+cuCbPqiI&dB=t&qZ1*Ua#_?$h_z_HnfeqW_FxGQU z8{@;kfyf)B8sA;^7ZqD4*MoFb{$vxtgpYl33L+J{h5bwgY9l`VXWzc)wvfDrbdbl- z8R*+&b)u846EXIH+N@tM*`J^Mp7{wvYVX?}Bp2CwpP~0#fn9pGP123cM*kykN|*k0v->8yP~5)st-J zsQowg05Z5^3!&@@jrNwf@cUy_+=X@ox3xrW>Wv*Pf{RT_Gk5q11ICfl8aw~C&T_RF zWWiwkV;L_kU|F$8#GpmS;)@eu71Gld2v9}!T9LAB+x%MO35|f~EA@9Jo?FbvqgK(V=fXeRe=m2b4J0_C)2Cbto7*IQ&%UV>$osmJ=HGX z_n80S)*x36HTj>;57-rN3UZqFIDeQ<1jCsn0MK2ZJBbaGd7Ad8K}N1u{M<=4u~WD< z`a4;O+&vSKU?#h9rRo-;Ez@^*HZ|!eggDua=j_!|@0`*SX-h(AXUjjC=f;WPK z+1ZiL;ySTLLfy^N@9Mg&bElg%EWzckPPsXv_2CEcA^b>m%b${_)Obf`InA--t_EMs z3Z<`;VUvEt!`Afw;$akNwG2xNXWY1KhK27Joa!&dI~3^c9`hgKaGJIn%)JdZk~S-3 zg!3&b+6>HjKRZddq{>Xqj%NbnyF|$nxgtnymo&S^eY54V7dzSYJ!mSHgUvebeiT1; z92XGitNN6xpIPFqxtlm@B=||pY^ECeo-%9mQp=MFw(ir%{k|`FfZbRF5IDP8wy1ZZ~ZAuSI@x2Uy zE&4x$M-Y4h0gU+VIjkewYEB0iVpS$Fac!ehplA@-hjcyFa~-3)=LPiVdb8pfJkRkx zmsk!}jGiM^$I275g^t!iq@A9pZMy-=90@)=Fn%qc-<=mC4Sz#Ws<63FRYW6GV;&pF zQUXfZFZh%*jBP=#fm_WRFTX^D%+LS;=!1Xb?jKr#n>kU(OnSd;BmWBkB#I>uy3TSS zs#kX!{C4kN{a9*v)dwRf!I}B52l0=u-4Aw1ACyzvyA|y7JtDX1vlQ&)({+cAZI#-Q z%a3U?b(TaBez_ztZ!~|yAnAauU4-<)BfQEEjOt$E;O+{``e$%B@eqob_3Ljflz0TM zIqjS{^pS^KcN=y_Q&X)LGOFKyUVa1JU-T}CY@~uw-h6uilSE#Ct{Zb|nP_tp02++yJe{r)^6GXT1gP^`I=D}% z$qxrL7{fTQ#h;zdC@v|YE+mAJfue{X00)ndCScj15L%dP1#zwcj=y_VPhvC|Q~{;R z=s&9dB4^b~c0MIzIactRz!}cqG?8-CtDP|*V!z-nhr`gpqP91zh_8_nf-xl!N)BP& z!KhY}+lr*6Cn)3snD;9oy-BiN41TJ&X}SB&&aYi!!IysRr&!XKJb{eIc{`sln&QCD z=CxQ(A#&+(sHCc0_zp(RcGcWX!AYmn{^iLb?%t|ar1FZ&&|>-fMNqt>T$iFCKB=dG52X@?1sMsrwTx>o2W!)`A#{qw6blhNaVhB+aC6_J-MahdHbm?Lx_}jUwMiqxN(6BHr zEkC`MMLao)TI>I;?S|O=?->9-p;+S0c@wJe=*L5$2jRY`m?1CS&T0N!p6&b4b4d3h zM6aQS<_=SB?%Zr7UR=tY{zh8I9*1sC@KYDCGw`-+PEazoSg@#f#AeU(?6wUxqx6pt zhpnGeHqP{NI1Yd#i4}AZ0NVGtA-%j7jC@}NLo>eG>j?;0GBiI5n{^b`qT*vTvXix? zVs^MCr2=W4qq!G4O+)$PFFEB~SI~q#Fi(FKFpCF$0(YcetamJG-Ts>Zxo(feh&J%K zX#yTkh%IEni9{YvR;Ee6)BA{$i}CVYw-86rH&Gf25>*FoX?rn5*wJ#4mMCDA^$1aR zSl(~{IWmdV0*(w5HdRI}<_}+eT5vwu+3B9JP#6On_ML_V9vE*L`h-G%Pr5`yO)F{y z-Y=``$9tYTAH|@He|0}DL7~5OzmzF*DUU|}OdH6y?Q%#H=fs57{Bl*m!2F~9K^M&$ zVaeW(TuaaSoC*6$UfQY1PDfuN@wNKncJ=U^5iQoQ7O~5WzEAFb`eD1oL6g_zgUZ>0 zes)2p$j7gp)lyPl9X)yqftA2;Bx3w4*`*fz#un#Nt1{-NJG&!w91N^&{qsjasM!VW z5m?xwNkIQppH0H_7?6oedl@SQ}q>M|50AjyJscp0u=-qYtZg-Y!RHRUtJN% z&F3}#pAm4)&9oTkBNE?2Ipkj&PVC8CWT*vpD;9>z9UXv={pH?;Aun{|xhm%`=r zAjSVGwiI#gir7o)g)>`HofrPM2ov)(Cq|A}>=WjidDS5O)je`)h085os^})87v`C% z#;F8wEC=+qD9JqAtndF<-gW;|-Tr?`Ib@Ycaf*zrghCSCx}LA+xLyfVK2XK! z%_Uv0R}LPQ76Z1Cjs|R2HiIn_Zo;|erD4RCqqkJeWqru#+(fzl^Kc)qLaJv$ucOAh zbbf1DonJw=Efe>>+R|KcXHB-=ynH=#^Ash33HNQu-4aUq8%Zu)%`fStQ0v20%Z*0n z>3dtR)O$N5@?Gpad4JE*KPzoEYNp3*wmA+03wqxZb4{?ug#D3gqFc?t8Z8f%3ylUM z#(Fye+0p{6J;21ZW{pbmy0uiup~FvdfH|J*m$xIu>BI#TbHD&!I~eb}apX{65?D zl>N}2cMQN=KqS9m3Ba$1yJN}ykG=v^dI-6^T+#$U5pX6hpy>PTH*a!%(&_y^N}Sr_ zQa(@(p^6OTsB3S!y>u52ARX1^4f4KEI~$fqdb>Q8V?DsZ4Loc!hk*ve6EEWI+uQe? z`FQX8u6Ng+U8jb zy4DWND7n2X(`XiwJ0#4K2eUSN=<{G@o5C4HS9eQo=CH8lW(E z?o_~r!sJP`Ot_oTfOP$Q?z=aroDyxcUC)}3(q=_~F=XyGV&%E}sj946>v1#l)`;@x z^!`VK{5vhGd2L7ZJb$@r*2A(cuL|>gajr;s%6RovzkcuX|2{@GQ#E z1A{I%Xj{0v>>A1cq_KHrP}3$~_(DP71*Y<#vbh;xOACHy>Bm)$k2g=gM{VBsfwDi= z(kVR@FVBT0aj>$$zUe%k7YzFo&gpwy6Tm*`ZtpUtGKE`68JX`Zz=hu18M>m>a;NeM z>O!&wHto;m@SP%67g0TTSwmMU!J43|J;urzI8OW~)41eMQ*6LEw1( z-ykrfLiU%%GsFKyc8PoI`IJ9YvW_@HH|<|cH8n?Q)11t`^EZ# zXn@V2Q5M}rl=tQ~(>dGO4guswg5@J9%M<>TWi{&AOA*71zI<0@6c}7rduCE$bC;KIBS|$vC2xBC+baq$n*yGFm^FTW%lEhlCOOE2_>BJDZ|Acp+-jeh= zXMgKFBQuXOAY!);?fW!p0AU)6bh{|??Kxn3qUL_}@{5oc27X3;OZ$as8wO+443Tx%w=0BVTZ`!wIm!%ARNpE{jwG=J@46RYsBfVQeN{hN|Z=N-q7jpPe5 zCMfS}w-gTv+_hDtkxSnQITg^Cv+;8GuH8+1m%kkx4cTWjW?YCsxggT0hGv-G{aap@ zqfdXZftH$^4MawE3ZtSZuO-1)`Z4izO|K~HXO{(f{P9S^4`oV#-&iv(;)(DySaD4q32^4OVGq;!E7KVWad@{8!aKzWawRCYna}yHMH_dT z6KJl^<=&;IrFAo0e^j>LS$AhatO1T9zy=HaQQ(~rMHLkx$@R)@scg2KZAP5kj>GLY%0C0e399)EqNAk zfqu~wDV*i@($lz?KTcjl#VjHv2Kk@g@5gm7m6yn#$J8}qQi;LV$RCwX92(HnPFH1A zU-Rl2CqP}Er(y9I#A6+G>!tlCuLONNgH=xzCgNKTCpuQ7V4_=TdlY^~B`&=s3+k=ET#a-d>t~1@4K=M=a0m zdu`7f2k_>lOyB#**a%M<*Oo{W`SSddgXB(|)jf2%uD4tTb+yiYkU+(Sc%6k)bCqC` z2uaTHe4_Sry4BCKL zYiXanSay!bPtjpS7Ap&5Y`AnDiC)Oq$makvN&{t!4YzXN+Pfv{NvY$R@_pWk)N}PN zoRB3=Yb0Hzy0Mj)%BBQX{Igfv!a%yP_EbjMUInZVTYLTrkBBr-jrs>-f-$@eNE+#rw9*+#Q^0R!+AV`M*Rcshk z{6u8V?&kk+!k@x@kc@p0$;}VHr~i`4b@4&>c4~DiW_D4=x$e%#qzTir?(TDw0f~o@ z6OwXuveHVELfDC#K<4Cb`LTLLDX)ecjqneCx)!GFnK=hN z#R=LHi3&9dC=BtJ{7~UG>p^mN>;^`ua>yG=BID@_x)D4|FHc15aWgGL0FUZ6ik?6YQmmG=@pc&(xUiqV)-Jm) zg$Z07f&mrC_Cb?CI+(`O^U|)9EYPMb0atrzo6Wc4=$~k`>{wG4F)0{r9{T8{Uq6IX zIDe6OYzLP@lMqpSkrpXzT`EA=doZ4_D#F6s#MsKlS@%oL^Qw__hHFK+#&_|9Tu#Za zWr-Qr4pCyp)kmZ_(~(s@J$=USeN~*uzU(E}9~OZl&T!SPVDVp&@0mD{oVFx5ToY6f z!ZhrSdU2_#S8OE6!$dhta68RErshU%zh#{H?D`c$^FNgi7H|_TCr#SSQpY@cD)Dqm zWq5{x^wujQl(J3vXMh6METE;&|L5|XHR)vJ=X51Xg*C3!5IkqBSVp{P#7nC$(%%#f zC{f?9CwGJa_VK{E`MW^7YRe+%_v>!-tiiC`tAzO3S4OS|MMvYa&B>znKnDYlhMBLA zJMp%k=Z#Hr^(;09%%kmvh%KrDt3V24W3Y2>Z6Z84)jz6qK{A;icG6*{*L#E;djoU| z6k{qXiU`YKxLEZ*-1%pU2~y6=ni7|nvzI~~WxA@WY~H#Do)YL@4*9Y^a6&M5R%`L1 zcSn!xTv>DAr^Mn&7^S_3dIrzG=Ti0SWr5!-OEXO7KP~OuL`eK4%l2Z3rA)}FW`gWI#IOO`?pXYx)^F6>U0E=Kjw zwPPK_^36N&%jc-L`F<;0h*g1JRe@3j_rGW-#L~`1X?QM3m0DOF8*S@`%Gacu$aVjcm6S<3Sv!L4pphOzL(Q|<)NCiTO(w> z+K73`OU>~f6PvNN(^?@ogR4FolJv+m%)@I>(ecV*fCBXcm z!yJP9x?qIfi4!nGu~_#fo)Jz?c(40Ktm2LNJ{cX`&;1IBnhiJA*zjA*2pSUM@)=Y} zuFSNE&-pd=Xh(ZI_sv3r6g(UP15SBpu%IRq%i)h7HgjOrO@3ue2dedN@vE>bi7)wM zAwk3p)&y!jF#FJEJ4+GoRc9l{VgPE)Ooi&XL46$|!+Drl=&>`NtjC-n{HrrGSiQJw ziUOoWLCk@@4sBUIx5eWe`iWhjNUooqfu3RrN)|hU4I^!A^bE@WeIU`*?u4T95x1M1 z!8u}?+oMBEYf-qUi1!>OfBVM50ttEW|DVEJGq;+)u_I8kkTw9ldfJcr0IQ z9Epskgu%awOn>LQB{L}xeS<7NnMR6V{t^??$n+$58t<~Y2y+l5vK4vR3B#)&LOuH9 zCSZiw-s5IYNB<)CkfLcf(qeE+z9hjyF=sTT*N!f@ZIV~*34nqWyB<^~cu6U2-JO^IRcs+RzJ`0TCv#;L+?@xK@YdoQ=7~okx`OyBc&SN^d>LlhP zYX;!`Ige*1UUYPvcTWCKJ=edz1zf!9t!C_P;BM#bXZ^;O&d<+J%+bx+%f{NnR?Pj4 zeb$BoHyvG;$8*)kV1LVX0#o>9TXOgIU9C@ILtwBf{N|X5an&qd?^ycGBjOpwAo1c7 z|G<4@F3hh)a6hiZxY~MijLs4E9(?hXP}cF$RED3Q^lki_8)wZ9b?M`;*8&+M{YN`3 zn_15o@BR3EM{8}pVY^C3rv94t)HT!d+C(|mR-@Bb!{Nn zu_^5zYc^sDdh9fW{&f-KzL&Mi&!tJ9E2PHj@$ z87#q*F2k(_3=Avz$&nOx*3WabD^`XLkFWg6-hR^$;^Cq?N&kI-l%W|&E9hvvT`9Eb z%DVz=upOSeZQ+am!E*g!;GTo?h~Pm5aG2o{Mxn_oX%!EHmc9&CdCu|n`CfIXKQ6RW zJm!mz*D;GpqgJ=Ck?^y@`I)2we3oC-ZWjM*Um_SO@-xF?$K;B1AQ5-Ic$^4hV0hNC zq!`j?*(!AY8pLAURT)XpWzNmr=+5*R`%z{&=Rt)QXNf{D4baoku{XkCH?PThg0OW5uD|`49>Fg^hV(B(o)r1!sjCyM$Y!OA458ez#in2;i9JMb+oZjmfv6ETn z7|7iNSD{wm{fG_V1=12$0_=hI8io4jc0HOp2 zIC4#yBka)pinJ#B#&VbX^V^+DrzvcrYgKv++Oc-0T^r)rUG3yV~hikxXp$`|A@L@wXcIt@eL-%^vlmGqKK>28^&H zx}Cxuj?i?`O#6Dv2CMOV=SAb4)I@Bzx;O2n+g|O@jd|p;6RpQ;vhm}*U2mN;>tYSH zw+XAWC~lK+88~gV)f&0%;@!&aeW&6kMC3u8MUH`*qrY=$_L1ID*@yG0DtzF$;gfFb}D|50+ z*53EeX;6@DnO0W2rL%Ge z7A~W!lT|C?8*%+zbmcI_1BX6cn|>Nj{CwvSe&x82JOycbYz__xbn4owe%V;mVTEuS zqRi5050p$l!Zfxfc|DPM?vC}MK#~$N=$Lx|O4GSAuIQszmD}5C3u{xxR{q24{RuqK zu?zajH(>u@?F_PE^BkqPWq}DPu&Ta5@F|%--l_)ZdsR8g&zzF~P+FhTwaxLiar$f=_pJ+$l0NhYj_3nmU zP!0#H8!VKaLr^Ce=i-rSz1K? z^^b0j`K~%VR%s};T`ofChou@ZQs7m3kO(KIiYDkDPD%`q&&#blRNN(K^M6cZ{P_J~aks3Jb zyo|8Q?M8D{B>(E$>~|yF1?=9lnTnZR)x;wIQ-vOreUJvE#bQ{|B~aL@rVJ#NE$x0y ztT!r?L*z=PgxKT@4*T_p)dYiwQ}Tf^kdID`L8HzX1_^G7=2fNTQtXI1nTC$Kk<%%g zAeZf?7-ijc44f5W9PBlJx!_*?1HdjYl+THF@nOtaI>*GeDo5YRV%-dCgYK27bzcPj zQ-dlOxV^-=FQ?`DS6s+coBNeDp??OpmKA#~ONW@<+FzD-)MMxRQASMECyA$B-A0vB zkrnqRNPm|ip0#x9v4hyo=fp2uQ)hl<*)qNcpYcr5is;sdyk8E!qEOErWyYw)Y4|QM zFcB;S$LS>3^(S8A+z9$AtWC_+PcN~XpZhr!_Sqf#v@iM)rN{=ErQ_az(t``;^l*=_Bat0!3s27xd zIT{V4l>OOEjO-h5a+5Ae#)ouAbrg{U`W7$`yQ=i4w^;pO|ESVqm)umi{?*8;(aKOZ zH<9eFKs?;DE+~=1GKGyVY9HA;y=gP~ZKaC14jB`qM&PWR#smY)mmcUnJDRHUP)aU{ zz@4|g^}qe8q`YS1nQ!l~D{gIkA&}c+VKuGmaGm_Fe`xN=Srhvyi}%7nae_|r(K&Lzlj`m zE1+?pEOvJJxAd(scY?A|6S^Zr$1e<9obNtVzApSUe=f&9lW>1{Z4G11QQ{_}1Z(8O zEgn1i_9xnD>9>^~AL&S5e!p2cf%`&rt+!sbQo!%aOzGMQ5DFG>yY}e`ArfDcf{x#M zD8KGDHgFx>Y}hxcX)PN4H7iv|NYFOo#nh z3ri{aV&JnFe*TuIQFMe1M90aB6Cy|M)_VIdzhigau`0cLAZ`F0j<}M95|z9Bo;2$} zOPO80evJXMSY}i2A37#eKz8`hT&8tE)<-UB89Z@;DCguBzLC5Pv9RPX?MxueHsbJh z$9^HQYyenNue5A+8Tk50+G#}4d8#GgKU`Smur<>m9em)i`X~QsZOLhNkkjqC$GK_J z%Mf(n$|@%7p;YF%l3z%&RG;lo3Dy%-dxt3E0@q{!~<===^>q1)mpurk{!LsZl2xgn#T*yGHI@+ywlU(loZF`0+tpT&$G#P z6Y2$T!z5s9&j^7mLN4skb62^h?Gs9}-HwNJ+TC4aQp=6UV?B9sWv z+%1t@lJCBfh*6PqBz23big0Y%#BE`-`uP-ZeMP_eYEr6sX7Ey_N6XPQq>o(8Ea7JA?zJ1ym(V*t3WW9(b^K~grjYisv8WOqwK!UAvxM#ZgpA))kk1 z!YZb-=VwRgd*NC3TKIB#@gK*YS!?5>$Et=>M9PxL7JD>&uxHvnX0i2kHGXiKku-l3 z$vpnf+C{DPO#%MLdf$dz-&*`)pIsZme=4yTfKPO{7H2rw41-9}#kas0@E8 zTXzXEp-bsp!#wOCFsodfgL0q{ytL|m;LUDDt&Q2yPW+e_%?2A-+qmb z7KI?)`0R~Qqv?LIIwRb?Dm*Iv(adcxomIJrQ3DP7wv zCyO2>V={QMF9mOp?p`RS5Ndr6{0pO_K}(VdKRM-K?lpI1WNsU1kg{l!{6s#g1Mz*& z?YO|@x^c#1n-&uPS$Fvje*UaFys%vI+l|~DE!R!Bdw1%3XSbTp+VO!R>bl3|edK!N z;&+=rK%xeW@RnZ7*%C|<+i?S4ASfzCBCb<5N_QKG({y}6xp+1HBDQO4r)H;frLS$3 znC#ZiK8Si{pac@3veN|rjr+$`{jFH9pOwq${Dp+dthNOCTRtvOe>7TOw~|Rzz_0BA z;PA#vbP89Cz3*6pU4rSmUht2SqJD%bc&x;u3P80=e&5)Xdc8)S?I@N!j9zX0Kj*c& zwxs!_eF=Ai*B+dh^w#mg_qFiezLiQ7vVwCM$E1)8*vnJOOKAZ;+qM`lY_%$tIB*8c zYicWE}A zqwJe7zSjFO_Eo53FA`s=oKcRET{F^4?))C7fB)NCZApYTRlrUMC*zEfZdld#TFY%? zt*~)3e%pZY?Vw4P$zV`) zK{hL(!>epj16RDNPb}PTxR6<95BmtAl&uV*IzlW({6BEG842{AFjD{lQFxn7+RWvV z_bp@Ll^a3%#FKeXv=bQNnmtqB02bIE1wGiWX|8euViw6Y4C@z_ZK$wOHZhJEmtc}*q<;=C+w0m1aBEe@tts$ znQ$sCU+ZKRuQe<;RZIJ#sh#oQPLu!kE9c>&1Z=61xao=GEDJo7D0usXdLnoa>x`C} zJY1b@LS~IZ!$P!fU&3&U$jyY)!3VA2=@K?B#o4}b0OqO+%#`=5um~Yy_g6|QQM=vzVJ+F- zL(knTuSlM-jdXAF1V-K^(9xxr*NvL`_DkW$Qj9De>zuG}ETj;<>Pi3Kp+v2>lBPz{ zVPQCs3Vr`QlbY|McTWU%GF}SZ{pt}>=RQ3ppqsPCXndLcpD4MdUD8EOYkSE1>&`6P zlJ8SbIHQk8d&9bh&A#iOFP5I;`Ojg~{bPA+!$;lj=9jklc|J?ZIko@mqv3>-Mi+d| zl0F@zFwp@k;o6%jTCNt)S-(H-Y(^y$3$%bQ?`ULCCtZ=~Oh7eFhf>slODbZQ(#+pH zf7AKyoV5Rz6>f@~qqxuT)^_m0Y|NPt?V8^{-E0_l5}9}vFFL6JNUd!W;Q#jjJY~ZJ z^qFl4c`p`NX1MwPv=(e!1l>aUta6H~S1b(Xx)*39)#rxM@YzN`QpQV5Piq+fsx$e9 z4pOWF<@k<1+KDf{nWGefGOKXv&QT09McVaG27o{C;qXX%gA|t6d2J4vGVU8nHj->s zM3tGdbSm=~Wewk+W|KnxIfaswmSq!G_J;4R z%^gu_+hmUa-*Z_q?m4b4+du089&du%x$L3^$ja6Pm`VF=PCE zvz3$+0vON6bt)jy!ed!04t=_STQ$W7ts6q@Q8zD zPDd36>@HNq&H)7b3S;u)r3rVm54|}YgCr{Ma?)xPXdP_6wuwR zyFhY2GGd;8EBwd+=|r3>d2GWjcM=;)r|)KD;a2@0Y5yK@QA0XiM?5tw)4EKcUZ|K2EI0})D!)YMW1b8KSO+|B;ty6;I) zEJZQ{8aVnJMPzyZ4m8iB6pVFO@rn;+K)L@9mp-4x{AgEIOW1u`;_=;c8jTqy>97RIA^Z)&xlE>@tr+Ib;90hE2 zkYDM~Xl}7hNyeCeXp{0^$5pULm8P%oZ;-ETkf!B*PBLsSA`f9?yI52Q_^wW{NK#yN$AMR4>7PF?CoSZMMA|i6J7gnJxL&zTvG~e^jZ3I!}Nb~ue1TE{g_PD zyOuvs7QkEre?fqxO5)i$?%b0&4k(q{-b_v3tv7kqZ-v+t^P07O;CRmVy_m)aJM;7_ zI<(;HdOTm9-lRFk=K9%pu8NvIY|QqHn2;B0Bz)S~SED?wyF~{^!+_e5ad#qbxn*nM z|0$NRu1<#3o7!t5wuj=t8T~Mn4Dt7P{?uT2={_x>^iPR>;T8HR6 zaonlzB7VL0yuvDc<@^hFu@#p+U2hZbw%4C>#aX+0J{wpp;8+H`D|H*P&bpyTzk5vr zH$751O^0AQ2?l`ShzAq%gwI_@C)U8=I0miN%+kl+)_D;>tv<2QTin0Gd`+rpVJMTO ztH&b%AFhuKR`bFt0tH)Kr$YPS#$kf-Pwjj7~Nk8^ZU4%>f!08quX z6jGXcCo}}_L_PX;$CZWaG~$)ssXXRWgqA3JwCbW(#FKuFRbk0{2CeBeIrVV5uU=J{n{p(T2+5!eM+B_Ei`R%as2_dhMF8zOvGe|M_}e}+ z7{7SMQ^~{SPu}C&Gb;HefI}$dloYA|-YH(b)J@T$?-D%nI$o9p(Q}+Z?PB1mLf7wQ zB#Gkw;fSl>#fQIaw?wF+@6F2*YOIc(7$_OWvZGOn+^yr~^mHY)K+rRt`1 z&T#}-$v#k)P1XMK!-@Qb0Qk2_l=9Km)7sm|p|nGLqxo;k^%HLKsiWrs9P=h=@ZYcG zf;-F0;dg0cm2OPR!$mqG0g0O}y8}SYtt=P_Np(-z6i3t(d9I2+mLq#UOO|gunm;9y z8JK*hEV1++_}P-k)evHSsq{#$w5XpqwhGUz4fwJbAU;6u$iO4 z2PQCD{fl4-dr^fxmNt{_T^WJfFmv9U=@z5wNrpX+WHiZD3YmNhINLWnzwS;5WVz@+ zAcP%LF?TZ7YlmOB5o{7437AGSqN(fd8{17sJH5ct2|&@-mXCrd(9lQ&LQK&kuZ6KM zLI!IuBfmom6ode!8EL9W@4Hi?3jfjkUkLJS=xNf@^c?*&;h< zqK|g0va0xdmRiu07MujTs`jLa^?KZTBN5h1sM)HoMXL>Ocub6x8VwTo=~S>BI@xmA zp9$9%mgm?I*dPP9p;Q11l4(Lep3EC=)KGpwT~t1f z9VnMODQ5#z(@z~K_-B3VIUq(@Je&nQkD8XzHwtkoXtOE6r}mz%!uGrVT;*w?0QvIS zh+o0A+jiTeRO9I~e)(pc z{qlv__?%{Q7}5JuBDnk^tuq|m;=lsP{j1qGN&$s|u7vw^x07@T+1oGg(d(WI&1*Hi zYth%-s(>u8NiQfAKwb{znX^E(yyhwEqwmt=4!6u~5~MWAWBR#HHS?)vs5Ud&P8zy# z7e0b-9z`#~;$e46qlE+Ks0EJXjpj{rw6$D`AJmxc%M#FjAm6(4TLiF!P_Nz6IM&m0 zej95=Kr$p^YI=|pN_O-^;Vgq}c@H{`9wHpa0To(bfbbq}b+I)E0Ou4HcXp2eoxCm~ zR|~eazTdPkm&sJtX=Lm9GRa^9XsGb{+uNx-Df{9 z!bMbU)&5~Ka$EjlHqIvvtjyS(%>7*;UA$S>RD5z2TKpn@A=FOoA^#g0I7RK#8Q=)t z+DKu-neXQK!(1C@qbo9PXWHLZOjmdfJnDwbueDJ&HmpoSat`S+Pxen*0yxcFW}{_s z;Y>~Euj`etfA~q!82+~PDw0LIN(yH_OeE9*`E29j+7B*h8HU8s!^DsPd#t-x@LZ`c zOJ>kAV4j0y^FeMd$!H7SdU$ed&SDGJ>tP56XAEJp(j4yiwj)*lMQ-lF?k- za`TrZnHzFL+Z2S*uzggjGRfRn>QninI#!q3q?$n`N+Z8N03a6!7Kh4AA^$?53O>P= zgYHtpql*p4Zw0x=_v6LeJSY{5&r?#Np@+7GX7e?83Fk%je1o}I6$gcM=hniY0vVY2~HIOLL{!s_p`i0cgC69cLI(b}~uT2AL zl&t|rbfkEI+`FI^E9%*7q+1ui9vpgr#D{$xMhBbMrNaBzbQwsCUVi9d%{cHc=eza(mbVd4*-*@zh(w)rCTmFJ<| zhoHW=xVW`&de--;70+&b-N-#y_)7y*$V8m=w0_1?(>A6250HlO`zU`~L#@4k|aCbjFz0IoX~hRTK7#y2qrjV|yS^$!Mm9(ROnmNy!X{E_F8m z!3xFiw>QZK^f~~NQYP`Zpq7i=l#!U}s{~&Fb*)!*v3gAa1yA=R8efXW+s!(h=xIx&@jNy z7gE@B{3bZDEE|LGt@1hVT&rpqAOBr$)U(F`rHINc$OJ8B9 z=hpsmaqc*;pTn1i&f+*7sQ^+kYr9Wg`AQma6w~9ij&q|12F|UH;A~J?1&vr4)?~mC z-S)Q{wx_f@)!JP8W;o3sa(NRF^@i6=<#uy`ND@2yn~R!Wz#ljw4pSMn4@{4nVi@6-AF?C%5KNE z(;CNDv*gmXr4cj3v}Fn0BGIjR-EipcH-sXG9J%eLK`U|8Y=gF>6|t|Dn*tbi1La14 z(iHr8VTm;I1 zL5GY;cPKMoPaI^mQeWKCMp`(XU9f!MC;F;VE{UIC^lV=S>aQ17Bau*?&;nbl&sE^F z_-G%$7&Dk#1fQ)ADO_qJuVzR|0P00eAL>oxdO6d0+g}{L3k7;DvMktxi@uKkS=;pK z7jtv>?Nzc%`pU<1J(#Eb>(6+j7}9bx22j9&Va?55@yoENQgL2!ry=`$Z*6jx>9qQZ z|9WmEc{7w>QM+%MI< z!@v)Ub#Gpm#z6~90+&+F+&p*NSJXE{rj<*DnURnlTNup@d)w%R(&1|^x>m|Y^M;ql z{u;ibsXBrodyol2EN_?!-00?`p8b}mQyj=IvZimGUJ;>pD))3VfSQ$MX@d1_A(V|z&Yt;_MFLB$<%PGpj$y5vkqAn&P$VZD6d|581pkG6;W2X6}Vhz>E z&XuhTd^U=Hs7*xU(JJ&fv;Iwi=iJW6ggz#e7cUA8vuTq* zdjbSvGcHzGeo%f>0q0^Fa;g+Mw~0QUlEUEF+QoKkoCav!4LM@LM?ODD zFuB_t8;^2dK3aDV^XfoGs9U7vgsqd7Fa?D5X@KW3Y;d#iYdt>bR)&?+UH``4F_IE_ zd=XT5G@S&)yT@QZfN197#Sc5c0yD!cqZm%qJz2-Gfik_jqCL-HKPpo1A-F8j6}{6h z?%y#FywbPgD|y*`0U;XsqheFNLC0UI#e7xdVB~=g>iSpR#ueGPN!euFjCgRbg`|{0E_;N~Sh~a^S3k2wQ$jEMfu@w_k?C_X{IB?v#xJ!D3 ziD>U^5>di6orz(#1Def(C-}S7xo)~oabJr5KspvZI88|hIsvWeOn6$*_M!ZSqHUZ! zi_p3Re1A|@LYT<-mhLlU-=&ZeM@ORHwg2VSM!!C;Gb_JY6gj1)GxR23z@q8TsZ9VR zzdojJh7nGI)zn2Hknl`SM9s4sC9Ez!7c$qAO6v7Ek}~fAb;JFTcea^3QdbgLg>ysp zP5fpm^Q>%11+d6BQ8y8jdmQR=*ZaM#M98p0`V}rq{|@5AqM``7kL7)p1t2-e_I`k4 zvtv^_$YXY5|MMk`-Pm`>nY5hj{jVnudl* z;Pydxe@{TSsq;UeG9b>87BGjX9CbE^AEs3$Y~h22Y_#V6t^u|oX_|ShHHSSt7O~I1 zAhNVQf_;Y)dx^Df%WM!{+JPi`7Uu*an7dSSqqYZSbs_PAgAQAqQeK8jOVcs{EN!OT zOF<4QO-Qi~sB#38%Tiq4+9+tRO{3BB#G`=qm?^fVKS4(MnZoDi*l%0<5q#V%BW;&k zGc_BEt@Qih25{k*Bq(+R))qS)lCu;e8I=qpZ3EyB*=h9%A&q5oM+o+-=4O-cDN^@_ z2}!Cs!k0qAU}UqB!DaAD&>Mi!bF=IyI_=K?FV3=eMeO_WQZdNjIPwPFd!^mIuB1)Y zb2q51AoR7nq7tMKu0KM5w0P4C`@W$$#KJ!ySVb;K%lTv)ze*Uz5SLLA!*Ze#;uo?Q zbiqk8Nxw%clzXhKUHD-{&HcMAR1c*#1zV*9WeE*J#Tk-NV{Q{|ENv8(mA?L<%6nYm zAgk^0t(~*qd2yqee1YG`kH*##r|i)7N&_X^?7#bSF9u_BIYdj|?gfWj-0yWYJ2Pk` zhw&^(Xp&LrU!XEY(l^fd|8h6DEa_%j-+ytob^(RyJY7iI?JCYxywE}ljW?}vsZu+z zR9KNl4o8rt&ap8;hbr$o;}lztR@3^TbJ+(L5qiBt-QOIy9zl9&#uwVyq{`2zAy)Kl zGeu%GQhu=OMo{I-qgS5T;h27IIF%OZn&jVU3_Z z9B&Z&20em-VS?}af65da8vJ!pUOQYEA_tYNCJZlDOlf`Yosoc1(%|FfVf3c8XIY0% zr<9Ky`g|)n{eZ}Hs#TX`D>hTSbf~swuPJT0Tb^3Jo$rHMd}&=G=#9093Xq#&gW@3- zqwgM1(pf=<7h5P79hdKE9r5u{zMSz9GEn%AG_@8STM*PL3(C90ZCIr?vJ++38?lK& zRR~y!V&)%cxp>Ckk#72aiFcq%b#Yg;8t;=jMt-5?eV+EB6#6V|0$=37Pe@v;7OK8~ zK)W`nOc)dnId(xO<1v1zFTz@7WP1XCx@`H`;h30?n2vkPI!tF#xlFz8c$r2ERFa_a zn>9i%;+JM-e| zh>ZM$gDFaqZYSy0U~<1SRqM*7jUZ2t@SQ|F!)6L&5=TD&g(I7xqOImWvkV9QY0h7ATP<~f=4Mfz67n%YwFBX3J{E=P5Nw%FMZXv^M8W_1Opd4RH*(vRAlCmM?O zih+9`yNDgIae>mG-=zoO>3onF`xB?!k+AF>13eW4?yY(VgkemqdF`)oP_VL}(&V4K zE2u>6$MDm}QKcZ?y+DXs#zynL$>Z>ih6tu8LX%_%vbn1o2Z@BCQ>DtfaQsamv7lVU+(Vr z&GwS<>K)T5I!p{q!X1mgdcUV9^`*1opw)fK?b7u7i=c94j#3Xsi3bPd>v zPDE7}`fVn07HvP>YSE=AeBI=ueT-MoS56sZ%;nH8&cUm71UWYtKxQw9Y1tR7_YVZz zGG_~TJdS$~b<-=#{h= zI>`|0lIzBUS<}!cu@(1wyu8;-f9qCqMO{UF18*S~we$0YO?(ss6_+IR1TzvCpZ`Gx zW-kQ>ANznls3ui*YDJBMQi!M>>ZD_cln;CB=m@(!uT=5~m7RA)2;~#NKoJKs^aC=7;rya^LeWVG4uk2`{&bM@4azihk1QF#z=Ifevho%EmJ!B zIBCCFVP0{7_J;a0Z*UXLEvugYZKEO7`%k+G`NQb+O`W#DmwTi;VtnI}y5`iKdeWfH zidTu)qhQ-QTJ&;^2sLChNyO1D?;!0&R(c5skkEzYKy7x zdq2U17I%BoQ2^!43Km>WgkMTc=h`n!gWKv&NwT%+maJ6!j;wc2_%V?hzHYobde+Xp z_BUe2oeY_XrVhhn-2x=je~BDRH&f}5z0Dcf$a;L<%wbb#+KiRBf5iyNs)9b}+tAt8 zq@1hT_UVdT!A8cMN20Vhul;G=TQMrQTF9coT`AEQke0r+{^rh8rX%Q_jna+XDb2?PFj9P7#MlMcvZK3888 zE+lg#ZZYIs9`wPCo*_V7{NQMmmDa?8o$>11sqhr^3*{7}6tl-?5(A3tO4^$8POC5kI1OMC z5D~w2xIh5N`#1A-ACC$rCB0o4pT0^Di5Dr-v~~lgx@FcU9A}r??-RlqjZ`}5NO0a61$-&klQTY!U_CA6s3*~R(l6~O(Wt+I3o`7Q6h;RK6tvd@^^uU zd2TsqeJDiwJt77oB(y%!;1{B_()vYCNMV;sU3g$xhq}`vFf}q6QiM%N*DB~0g*#q<>gPVS3Fvu`_}N4ayqC544_ z{plbXrD?7T83(SFRf#`|GBWl1={Ku#)&1!1`6mLeX#+W*GOs}=y4J8+eM$ijWK|B( z_f@ewM((VU!g|m|xm>xz=-Z}H`aT8!SF$hT)h~>OU_&Lr|C7Y^b2@$kK2wRR zAMu3YqnipsF_L7W`8aB7Zd{tLskjoCjeKU5@qt6(09db<>J z4q|F=VCliRNio_K*UfcB)Qs4dWwtrzg6qoA;@nl*o7NCCWl=fXKMKK?X;klDRX(T< z$y$8i*e=e_*D8R0rCNTDuFRDD>3R7@9>^^eqTONWR9z+C$cT%XR_&OCu>^Hm#cZ$O zj`E|y&(j1xbDX=KPQ%&JO}^mesRv`BP56;w(Zg-L+Z01g%BK?B*o279nU0Odut}vA zZSR#qicn~%r^oSW6dF5PCg-+l>?gRa{tH6PJbfp@Ta>W>P=0|A=@se2bY|KhkcVH) zXvt%auOsByxh+nHX_=#TNs#r3JHfHTuaP-&lij|Bou}-))WqQ#WMImb7?oSc!v9`! zLI*jv-^u1&XF_}s&8}$;)Yrj_g7qL^*qq&plsM8 z4I(K`z|)b=lINd3j%v+#qNQ6Iq!@aQX%Lf-%g9!^$#cfO)uHMcq(b;h;)F-mRtV>2 z5IDrNsEv&{g}6B{DeR!{c2ZRFwt_oJGu%Rq>OaJf#PRaJ6nO^bk7`4RzF_i)wQc>r z_QNz}<9UEi$4GH5LLQ7Q`h*C9nzudrnu)aqsgx$Ox`d3ug`2gR7GN)XlTfIdthOH{ zk%`K$5A6rMIf@ZW27-(H_7JRpTL8S+>9OlwCF5Sz6fIEj?FpNYa$BnAEi2C|tF@2T z1(%+&m{46yD}P3^vC`h#=Y?ue9UAcaMwBlVmvFn3vZBw%#F3Wi;}RGqtd}y6wrKX< zkgPj&6{i0AToJp8fO+U)f5J4CrG9WwRr2DRw81})#+^IT{;Je3j5L8oiVUV^B<2&= zHpFoh8Cu&e;l}%YQ9{zi&*ZC|#hPK_6M2Ho4`=?Dkumm1m1|hDyXi zi=A7@2zn}&l+3mU6T(Qz3Qh@z7~QD%kG`YaD%hCFkhd#Apca4GAn&FHeXmiHrZ z*|3;9(u(2-JN&^ohkDm7rc%(`$8)T9EaTA>qf5f-*bhP!^Mw{h__-z8N~n=Mk$+J~ zcle%xju?cc(B=}uhhhb;=nvfK>ehvw8Vu5~nO{tDIi+jyjFCqaWCzz5kv?g{M49W> zfm@A{u_I1qYyq|0(e_#?(fDoV%v6Z#mOu5PWl}`J!LwG^2Ik1Ng$}Rl#H?rltg(Fm zs~F^X<>T**GBNq%`ypKy+&5=@JVQO8!QpU$rC~Jd;;`OXgwrpZn5egL!s7Cq7tIF` zXNd>lYC7#msXK%4M?QUtdh@W(v5}&hwns$H4hb-I=w{&uFr=iY2KLxYEO^=_cZOO( z$-iG8w$=JF+45Q-6p`^pdPT&$t2~mTEFep#+*LML(J>d~ExQyOp^b4?>#yC_AwA_t z88;$K!Ebea)T^{nlmYQGsbgcEa>@jV9ECIq#bcCN3V42%>FhXF5~-!c%tsoIBx!j} zPW$j9>BX2SZy@NrKpJ>Gz2B&yFOVTOZIKaIY7q6F`;0~1X6i5#9N_Kp=S*ThVsAwCQW-ZQdD0pa|>s#b_FA$b{ssy+bs5 zIGy`NOuTYa2=XG1bxprgBP4NYANvo|Z{x$u?PW{?m7Hh55j0PL z5NoJx- z9%w7Sem%z&r}x9GKJP`!yZNXzk@!wss@1o4i!fOqeqsQEgeH59*!#8U-+uwg)k?kR z8Rqhk#T2$R8S@z-iKB|S?E71t#Fzc^%sUg*6| zqt`_Ej}`M<8ZszuC_Tg4=&e)TPaPNxv5Ax2ip88R#2Lv7q>9IOK8o_w3+KvBJu}Tq z$a?@EzN8iE3=t!rAn_vx%#!TgKVvA@DvwZiM8-}Eo3r5Yo(YN4Uf z$a&j+{9u}x7fHNoNSKF1!SS|*$;Tb)li9&|J+13er?;JYWErGs52pR{7oR?2sYrIc zO+c}9f_iqAs`VdQN_AjuitN6Fl2)V=4NGoI@j`YzmaDX`{Q0IY2=f4ge;tmf%?1k~ z7$JG7n$`tuVu4DH?A+r7l)E8 zL&wmOkxeX}hq91IZhTSsPTcFIPai&d;Lj$lIh^n*LK`YX8X|VkN_DXcdItMk#~cH| zGmTz8i>WbREQ_u;!WOzw>@WG@rJtv+1?Ilz!yPm884xdLXkv?63pl|}ZrSCIN2rd) z4E4sOm_67a8^aFl;{=;#E$EI|)4$K(BIqH`uMw|Rgdi|@B|h zGG${(kM~;j|3lkb$2Ix>eg7x|iXaAvk`_n^s4zepC8TQuX;45IE!`lZgoH{6NXUq7 zz(AT&f-s+K>+$&g_1ixvv7I}29Pi_u&zCuO3D#%wz!vce z*G?svQG4F6Tl(M&oREy|rN6bKd?G}*)&@s8|Cn`Op8WG)B&ZYbwVEDI&gjgK!>Mxd zrt?Wph+A$QIWadzRgHq<7C||hu7TG-Ty%=qWF%Bf)uO`e`8|7Kr`_+9g%fTJhP zu5W8a_gdj3V!2WlXKcXU(AaQwlI~CGoAh}+5`&qs@Q|st@cvllj^xCZaF6|gu8?#^Lo>Nww zDBxiviFMdM`dlp)yom~GnVTw!>LmzcCkfA$K)Al0Fq$CsxX@B7ZI8ig=bzhzJ;EbWv zekd|WOZyLwN-H>HNA)<;rMl&UC0PT2=g2#`QimR>@t0^u@V7_iXdRHY;RP5_Tzz1` zq@C7G{3$0i_oU2fd?$T7an#Y94MAE6U?JBOoUg)2sSpabju93X5C4)^M_u3i245)t5VBv~9>78%$O@F~E(Zl2>s3)#mbio~Kl@TdMOx zwQ}xT5keUQ*An@&>U1~=dfD3?r@y^AOhOhWvcH^F6nKAyLY$ba(IcVD zV4E?k+MdF5fv~UN6RUr48^4gmB-KYvMR=t@IplNHFKTC%n_ZD$wd22bAZ}ilkij{H zo!kU-e3Vuf5Z%}TAI`PD>?sa%h)LKF35eG#;8Q(Yvpz3rwZqpOlc8k6~Q z9p!1~ZcNv#^!z%^<2t2#Y1{KLTYxEV$?(FWlN4fqLlMzln@gc_0(W$8vP`~y)^)&H zaGhT?P}u?0_L~K2|K1RFf9U1Ezt;E%%m&2yf+ivqN8EPW(Y|6p?=U@!ro76BW-#=@ z5iC9F;I%r0Yr zAMXtY5|sG^CPEl9vUmrfkqmDeD{+ZFxl?%v8Va*&Oy{%5&G_-J z!_U;-svH^w13f5?={?ZtrLy$}lsr1SIzY8I)yQY5bi@)2X{ha8X#p*fD!8d6TU=QD zYc{Vx@7}jAgF1A{w#bN(|Nh@OriYGo2ky z+jE&pA3#rA`Bg!yipD9>;vOFVXC^)P9FJFZaV2P)Q0d*!0WBmbl~(*}!&#Ny0he~k z51{wcr8PmoGlO3eISEFMVCsRMkB?z2&89mWwEb;< zqmz!!^BA%(mse4d-0FYEk+8kcCtzTpoc8Q+o!Oz{x&c$yLigAkDmKq+1_ruLtM8#{ znh~-36RPXc(ubk^&FbyXmj+8m+^be&^ya zTsIis;ltm`tYh}y1C1j$DlMAd&%N&e^{s?O&NfGDW!weEg$Ysse9~om!>uP;c@B6ufaVe^1(A0YiDz{rJ{g{`` z-cCwIfsVi0KT>z^-6Q-`N(%xlpf!7+yuh!bJj7;xB~C>lHn%_jC5$#tCLF!L<8PDJ zr8GO$YO#=?usS)THFz&)53`rMmr{JSemnU@{q}9O zZ|b3!XXaulC){%iuJVOSu(3$n>?patZ!R!Z=dAPNOWdC!n0a$ZtYjyE?S&G z-W#i7GnO?wd~31(wp3Z5DpTkF&SF;m35VTh2@EuMsLQLi`z_XqtlxGn+1~!(IKrB* z871zWFzO(zVWNqTb`cCnaAA|obsgEMlRJC!Xvxrf;H7?N1C0Z9Eht<>2uEGcTuqSn z)GoR9gDx#@G@ebzaX5LRC@9S0#a67-K>F{Aq8xsj_SWy)U5)~v3ikANFSWql*gfzR z@pq^lRTf6m*4dH;OE-mI(}rHQy1Rn{aiRK7>h{Q7SL@I0W=e&_;?4CRmUYiL(?q3> zaD8fC1yh|Ku_n>Im{7&vTqC+GZ+ut#a`s}74MSN80jV!&aE(o-TP=0ZwjcP{q4p%U zepsycC`{nnjV>C?{y{0K6wJ1cZ`}DH?Jr>L_MSR}H z(3nKyFy#uiIQ2M;6P$$M`6L&e%kxq)@&z{g_xq(aFA_mdW%s#izSG;f%P$4Wmmgr> z#_3O>sksr#^OY(hME6fgLAj2iuw-446V7l^-2!5s6FrQ1xd)?@SPSb$h=z}P5Um~- zFl!J_dP^Mya$)~=&%PPe+kHziR`BFSHE11-5I0o)t`ci8Rj+z#T@h`0)X!>ggz^sx z61t@+f4A`_D5Cl!hWnVwG%BLE>;Z8`nY?MPSOF1-72Yh^@C-pMw}Yj;OzEV>P_!#U zm@Q6aj5I4~e|9j^xA9JSh1HY~y`3l3?RrF#B5Zl%HXqMdPB&&A1TAjmtpudv5n6uuaM@*kmJaNB*qjBU?N|<%|d;hT#Q|>+es?U5w zJLcQQiereb14)hCB0w%lpDICHzT7q3dv4e9bBK=S5FHu%8~*j)5p2QP$d&W%7Dcho zUh=`^EmqTqglE{6!7X&5be*ej$g@vL)64G4uGuV=x}wNfI~X_NbRYJsaz5wVZmudi zMZPON>=QqkGPx#sSqO6by?6WsTMp{iqLQ3*F$+ue_CJ%Wu>#G-hDm&MCN4SA_ZPZ& z@z*$YLQqC5)xv}~nLIM$RAUFYur00VAhxs3x)WCdB(rk;RozS$3J2U9Q|tX3Yoi-^ zSxN=4%58FpGHe+`usMo$3>;6>snRlUTJ^{DWNh|9VNOI{Y( z#a+~Mh37mngh=d*%}ItRMnC$k`ot)coPYx6-zy$r13_7pA;s@`S|-*XXJ%{)pA|U3HD_jwmqNX=`!t`Ydwx8w}a(s z6(b{=aOA%1o}uSrj}Eu%s=Qb&vKPj*=(SC}ZB`X;#4w2xBi?SQTvy0$6ky~Pbm}?W z`zl+$@TdrUF1C`5$g)LgI`s$B^nI^Had>jYnz9~KETw-}w9xMUMlf5Jwsm%p z!e(&P)(!+j1JJLEp*}ZkGKJgKcj|~F7F+SLSc5cfWD?)nS1lBLp{S=(!}V*X)o3EV zsAG(U;@y1eBR|SR&|U8yP~}^fn|M-DD;?eU`eD86<`vsIx4SFTf==`l0ZdA!ZBv3Z z@owXJwZeo=eD$G)U>H@@+Pk_FJw_tKPUJz)sQt2u;$LdZd;N0)R^^|m7Yb2dP?=E% zhr{GW)B`SC%27R%-{^+A6p6SMkEbAvd9Pe*AD9-6K;a1!3A1%DQ-|fbe9y&DRR9rV|%WsBVCT*rn335JYCwEcY@@gA_3S8^6cr=}gX) zQ*QIJH30g@s^x9ZeC)s$tza8c(OexA8=e0!Shb(KZ_B`H7-7}ggKJ$!>!sG7wv(sTJ1F^Ir%w=B+lTV#_Jkk6_3`x8r-TxQCenqyB|qxdrMw z9g&?I^SqzB5IWPzb$pUD)cLyG+-|OGM%?u9@jq0I%?c9^rx&cuo4szgCZ2) zu;<~S1+}jjgn3psf_bu-J0AP>><)Fx@M1RoNePX6)M{C+``&9>y$Dh^yIhHptUVZW zgu~G78u__SCejw60Y_HMDF&Z2%etqsm7Bvw!E|aD03@CC3VBYX(~)+XQ{+2%oGxP` z&1SJ6qIW%i*OKu3oe9;ho!G`N!4dSHx5K7azT3XkT;ogCo<3CSGs$@GxAf<8iCX4! z!E{n{yIXJHM82P|R8o}gv8l03D-e@`J7M|~AIegEYGn2Jl;ZsJ>ayac1J)i}E$P>A zVY^d-gb*w<>5-Rb_LoG;>2QSr^`8o!?i-!4t2(ZU$=Z)_Mz4kal;_~vO?@ z_ifd4R~*`Uc`5JK-q1ju$vMm1imG>|w>Z3CudI;s+pX}5%@^m2n(r%)Vn13NPB_S& zc+N@9UcAGE5(j7*tVHLDc*l%fp1dAqAz0$VPht?9QXX<@nalI&ns^~Hwsn#@ClkksnBYanjc<8XiRrtiGe9`X+B_!w}f9i-xF zPtB7VUXOkmjF68ruEnYmVzEYQ`E1(L9|D%<*CdGOmi_m}_jZ36!>?z(d#AVE9NlB6 zg>}`<%1}@dh<^DzKZgXfJUc%Lr_Iw!n5xgf8u@)?FF=#%fA0+`>D8bu4`1Xbhw&`z zdn4T!F-gM$8u?r5iYMYsP1QmW({tqAc0nlY&(cV?@}3jVTTncY0+OdCd$CM<9cVN4 zdK7l$KEgalyBq1pmdk_~aX=3ays5y}Mvtx7(fboOi~|@+17ct&L$}8D2bxy`-+SgV^!kZOh=xEHMhU&V^GEWtJT-Vqlbns%DeGl%qCis z+b*|-3e(&<`gSoz{d8^Nsj;)Y)>dT`_3{0Ol*MB8W7mw|Z1IZGUVb$TGnL+F&fH60 z5|=mmb*5JQZCC?Wq(rh8`TJ8;>Luw_4X^0Nx8wbqpG*FZ3$q3U2!@%a?tX-aDCos! z)jto#TI5EUBqS>s|3Q20W>S%{aUaRG4;yMj|y8-nkkXS}h#I@hu}O^H4l6R4yXOaRO+RDdb=+jj9B z=IIoe0xOSV{U#+RbUGNPVxF@b4QJOuKFkixKaXZo@!LspAGBGH#_xLQ=!j706K`v! z?Bot)B?+O^9tG54gHM`~P#7{zwJtyD*NI%J8wf1cp=*b?pt=h-)@>`J7DZsGk|1s@ zf$QQva~F05#w03uWD#ev(f46Px(sRl51tSXUd=mqEez@LW0k6TJV?HnGg;_>$E2mo z5%>Cpi+R0p`}`K2kToU?%iYcSo6}wU9$h`Ig%G%J4s-A;A;@Mv7i+KjBg@^ z4??jkT^PQ1x*q&7-SY;<$|uD_+_Tzp8H6c$D`uK6zYe4(y==W0DNIw#a@d$Rlvq#k zU~>RxUx#md{~_(1qh8+yE)pG2;=VtbK=CpFsQ9S3gH6nAN5rJ<2`4c&%**5Avg+m`Yd zvb&h99H+1GNpDa{x-<q-~C=WPi{C;=Wz&#jWoK_>4_DMEBmWLag>*Lce9*o8`rW3aXW>bTjrNs zw2qRHwP|YjK4+ZR;?uG{n~CZqLT+^1I;DwrXuki&w3=H6F;w2hJF`XyRm7d{gBAt9 zm;4cUT$9L=RBSW5f*|4cJ-=N#RKlZ>N5g(11+UIEU8w*w& z*~HL~S#;}6r!1F0G(fzv#79qe`oRkqw)NY;B(2WxXu0))+~HEM4kDeM{`w`!c4{-y z6?C0AMTa*HeF?HhKcoW#`X~-U!zrIN3t5NraQQvS?|YivsH66)ls&^tY{cFhFGUd{ zMtB}>LY}ml)FOO3X7o0-Wof|xB~F`ciRx-|FHM{lwzX@o>OKmtM-{TRyWgtNX2b9p z%e~Tq4m}VIqhms~pY)?NpEmFKNJO=}9E@n!Wh5TrPCW5)H9}pMvF%ZMvLq5+{QU;W zw4iRl=H-Jr(Z9*5d5HFlk}LOYV`{42UKHbE_sPxG?YZ~rwaXXlzY7-MdgJ@;t@~AX zzsc4o^p?MLYe;sfR}Cip+TzO5FFe(k_GvS-%0O|5QZF`dtR;SFU3%}CO&9Gsz0vKh z`;);xxnd%=rOSPluKa4d0&3Q4wbMPSJAbL#dRv?fnHHzJ)EX|ll2`learMfUaX;5z zyH6XB?y8;19q-XILtVCFeA7q~MX9heccGXy`ph}{EfL!+~7~iTHH&Q?wW68Slu2Y zzlCoNGk-FiHp9oi0F$=ReT~)lB?%FNIlN(7{c|zbIz}zzLykgQ>ePPvJ)*64U+zK| zdXOnEQ?~nVllS_5SN6D1s-^prJPqrm*^v4v)FBOkL*{A!x;2!3ud+$l`mKnN=cuoa z2e4^wLQbJrEkxK(|3DT3Gh54WPV6EhyO2VARVuHf;vT4fik#l^8;v%~Vn)cnX`(zx~ux7pO6Jqi|E{Ng`K*9XY*9%;C zc0WJiE7*MGnJ<7V&9Is09dwPk%9`Ae>Q)q+2|<#LZpk91lW8{`W;V|%(^jlH&%I?ToGZrRe6&p z)mPqv{!W4>Aw}U*G#xdnV-|}JBN3$Yu2lcXfBRJ{cuvCg#gqKRFznsE5!Tn`n8~22 z36VsS zCR+d^>n8%{)I&$BL6N49+)7nBr3Vr_b8kZ4sB`;Ce@{7bxYDF6yYIscp+$H@uyX{e zduY5it)HxgBbJRyF>XH^OpyF^89T zcKYv&JXYZ^Sxx|-gy)TqwB>FG4}TW$j<}lNIQUGO?O>mXZ0|4?)rK?nboY!Z)`kt|5IVoTDWsP`zl=e2-V;qgwV zs-8kEF%r#+B49znVIIGe&HFPJwCln!2efR?E?2Dgr(cdciw@?wtcvb6-j@0p!qvpI z=_Q&`%v0}6LTwqhSw^439euyu{U#E#`4LUjAjIGuy=xH+lUef>2U#LK?{!tC*v}3^u|B^KCkvV4_irhJ8!z$E3nPN!25x!6h*%vYL^Yz5z zDQXma9^3c`E{k0f*uC~dK&_vPx_+Nz{e1(DcL)IOkJ^=eYrORfuGXUOz43itMtQwi zZELU{BvNh5V#`X~R!u*k_FHbNv{&KpccjZONzA_=hb1rxhqKX*Wqd9Ty}8Lc*J9dsIO^P8Nd#uR!m<-?_Fc1%hxK8C$RZd z53F=6Cvhxfs=8;NZ@(D-Bo{T{;6Zh^=#=fo?L;;I-o?E_Vh6=_+%AvAg7pR`*qh5o zXJ?*WN33;?`{oz57A39)4eT)jjy}s$$zJ1o+P-p2$s^lreWPrpVf0C;t{{8!ndZ87cVvH8Mzlm1L@HYjL_)fE%`S`eF>yk^?2>Xb@2pB?o znbX2eBG>DTQD{p*MCx8@P|yV}xcVL@if7_&W|#$~4}{|`Tl0C)k+cgk!Iv5Y=Y8hq%`4fFOs+FHWBnW_>O+yHcvtxg(the*jC(D*)C{k!>rAw zcPu#4g{b`^RviUlBO!xY(@_|U5p#;53FTZ+9pE3Ni0= zh30K?Njr7HS+$iV=kCE)=wJuFo=JAqpE-Job~qmAL%HJ0F^Y(UM&0NFfwhGQKAlU% zQsH~HMOr0lmvL98dkVX>QSyy?bU2;?Ye~b})_i`66jA4lQtQr_4lKwbRbcb-gy6^U zN}2G_kKPP^e#3^msTlP({+hb^CrW?AGP^_u$BH_RWcMP^QnPuRyFYm7`97-sN_#47 z89R^(P_Y55cXaya^m@a3379h85n-br0%vC;67*ke^%r8cw%b3d(Wu{+de&^#Wg}{% ze|Nsj%HLcmByv!+B79YNGkRcMjSAQTaI+$S@B%j58i0g)b2QkK@0vd>IbLwOj>Jv> zmRRnsg@QT-l^Cqc?C&jzipPm=Ef;NkABHy%WF$q*F?9pqnZj4<4h`qnA2Cri${Ys^ z+x)5CzIAK;MemFFU-_o^`~~)|6uLg=)_wP7c)}YH;1-}qwXvitd%huI`2JF<2Fk?VWImGZv4@~E1nx` z&_k~)`no%uoDiEbxe#x}W>`=$@>zG-TaQr)E8qmZ06_Zu%P8fM56%U}zD8PHqFqHQ z-->qzN8geb(|Xn^-wArVCo{fw%9oh%O3V}qad7qQWFv-W1DIdtAG2+88S_VH!LqgNs9yB{{yV2NGW=X+7NJ0>;ZqY2ykBBe110av&=4M zA+KU-)TTi;Wm_kELo8AwE8$IW6PMB30zL0aofjrLSLBdYlVy8A*Q3B?F9*DkJF!Q} zkc!`vPoQj4U2(8T za;30$4zXWcRxFer6j(~z(%Cyp*7U#Q+=2_y z-cDf18v58&aD>kICD`|PM~}}O%z4Jb^l(kIKjQ($RM%>KA3%gXBs&NCUyMXKXqclM zO!qz?bo$#Ik&zMJ09ywhfz{nIcOXtiB&&EY05(Y);)nAp{2UF-#vYaV4!PVJus}J< zC(uzIRixk3PGVNjS=CS~1h^tE#ny&t{OGh{+LVK0dCm}F$yT~Vn&vz?86o=XmzTcH zHOvzbEj6w+{l+E?rW&vFakZYw$*y|g5Gmpv=^hPF=_md&Q<4lm272pfq! z5f_zk`)n?sZB}eRx-;()t*R=&zD-7?=d5%vSJ8vR9n zZw87+9KTGqX_QRTZWmcZIK+Um-j^&!z{YqeV{dWzh%@Brw#RkEJmLswh z;_vWGio}8a^8+G8*%GjEq~#HD1L|vIn^N6-YAb>@V=>YYYY}uV>5tX=jhwC^L)HTN z;~?nUSp?v!7h`=8wyL}TWSnFf4?lkyXyobNobO(mO$%_J6&Z2W@u&f9Kw-Ur+Eosg z`iLK8E?MZ;FBicSlzg(78Qv>s?vrr(8Vx?968?fQT(xilV37Zr~i1^p|}K;gF{ zzj7wY{rd$)Ih7NCAZ(~T*i7zVinZ#U#tE|N?$2|eJIU(9ZH+PrdCDHmaGv;vIr8FY zh4Zt%QwGwUKA>61L;9h$xLYuQ71(#2DG;mkvim zZy#lOmW=+RL4Ez4C8%nY+XLM5@+0PH9h*5Yw`>cDbw!u?3^bd`=*bWwwSc#@+&Tm1 zh9ABezd*sRldbv%aBT;77YbHt)5)6zU=!eke3^@#AFgyMp_ftH9<(i}WEX@$!N9y2 zme3QFf-?N80U^uuOaJFbR6_tzYjnvbg;*WG@B)-Wc0N;)QER+QqKsx1`F((VH7sP) z_1(SSoJ!=V*U)hQ(0V6kPUJB`3{a6#&u?vxp!;p#^Zi5Vx1mWaCz_;5%$$cc5Rf@< z87*FL3pM~6Sg@~qdY%F(3bT>{IQ03mQlQGi7 za_7bVFAk&s1!E0*#sC4Ba1Tlwege8gi`4Gi%|276Kw{4FbB1)uweOd3_{YYqXbnVC zPhL~>J{oC&+wCjH5>R9Y@Vnp3c_5t5w5VUj7 zpNxU^KKTa2Xs6u}L!{jxTYr=i$~&I+z$JU(5rP~Rx~r-qLPZn$K9PqRW>Csj%<3`x zuHEMv-Tt)~OnKt~D1=&hGOjW68erYtuz5HA7F)Qp(4C_JX;1ul`SqR#L?G1cf7r)c_NL1QTXRDu29Sh5Ld>}7rvNB+E9hA*#`|%cp1-yrFWJuL@QInW zor_i&>a;Y~?F|8-MaERuHnZg-wThD~|bw zrTB)Lr;o#uM>F0s9?Vv6D`1sa8&vlIe#7C9@ zily}3O+^KO?3KZV19-0mz;u5(bBXi+p4M8zIjV_I>kfBq|KS;1170MAvok|G&hW-aq_iIaMrqZP$&;z*y3~(Xfr-8GBj7)pp#{jw&vnd{B&=%vn`41p{ z9imM=MTmm3eLg_Om$}Y&LAU9#8~6~QyjDO|KXQdMR7umAHCtTqb`Nm49p!2TLU z!XM}OpafxQp)IYOqt41K;aNz)84nrjW(wj90h80=_#?Rn!21iF)s{ z+R|m_7et@e2V^f)mW=rm5Y>Pcs02*z;#YFIx4-ir7c4zb^Ar9LB}cvKEg&0+O$j*M zai|6N-n~PkF?w?}ri`L-ujQH;cLfoZaQt_cS-q z>l1*SSh!1CFa-M$7}ghBMn-lZ_ALb{^Z}qxnvsRZ0?>Yck!5QhSlf_3fi*WW1MC_D zz;d?(>Ig*{H~b5X6aSwL0DTx1VW2(o79$Y&v>z<_a!gSVN>YrYi+`8CXVxwa_P?VMX=cHylPe8!VG$Uk`O1>LS6LD3`$c6lJlaf<} zAZSUX&s=xPy8)X*T#{46UOpK!3b6kZNjH&Q61udo6o1eluWD=)ni>s;M}7k?qkPBd zKQi@G02;Xnn!jBG_JG&Q-&^D3kz}BE>7N7O4e&#IZubG>W(HJ9FWuxk8P@@P#v!v{ zT077x&f#m+EOq$znF#ll0nl-8mz!U9D1WMT?wYJN11f0*NP$6*XsAD`EyKuFelL5a%@3qMTR?46iM2! zUJyAiy?hTzBLLxp10Z=2mxXKurl;3U#i>JzF_Y|qGm;#=uNX1J#kPX7U zm-S0M(Uj7_Ppi2On6QKG(npK&z~^qJh=va$*d>=CwWZ3cHINsgS4L~jFb7F!ZhQmI^Zx=<0Z=b69|ow)oV=18>@ z-9xtC4%)iE`GKb~bJG=aBf=ruyueJwtNlSkQkYsE?>c{xk0M3`eC{c>#9Zn|5K1Vh zyc1xO)l-v1Ae6^X!=nKvy;8Xm@?b$DKMFWCWM7G4oP_DsIOitviwiKQnFYTeNVppG>;ZV5X>|KAx^vMeGkmCq6iN9awH@dF0;}i;G!4;*@a~4 zdMM=BvIJ7b$9g$r=z;%S1i;B~1Zo9azr|PjK}(=DaH_K)W}SPxE{oq`_ z4Yjx#18B!qbin>Mb5@dFoh*9FpPB~Z$UoahHmtgGfJUb=iZ3p(( zQuFP!65zfaYc4}q2sr}xlZ0&Ex21^pwE>Gc+M6MNRwPXgr4X4>xd><20b70uG)zk~ zKX{R;mMqMN&-87!=z~uwSR&6A*VV#ymO~7N6+>RDvo< zLfl+!3VZo`V47*6GQ1Pa*Hrl5Cq1#b%SOsMljq<&-bD5W+-n#l2XO6Xh{GsI?$`mG zerIJ%33F3yd&1L-+?V8)i=*{X??{5sQr zS_7c4f%pMEw$})C&W|p(}~Spd&mf_1&V_IkU2a}7N`k=bl^2OI2?kJ zrDCAsgSYw>cZN;+?>M>meC7wE;wG?8M`7lNAQB!96f*TA#hqpL7VWODgi>yXvw(D442ZRDkN`9=O*}{-CX;K{ zDGMazF;Ig$epRjK`;)eh2nsY&8fMCN@2OlR!UL)73r>luZfJ8thm@Y$mGVvn=E_y4 z6t`Yy20zd$sqU(TsoS3xfRt?vfet!~BMYdbSc71{^0*;*9}I_CK;@K;#5sTN>K?x^ zaZ-=Y5}1$k*dUtTA1$fI&q=L-o3?zI|K%rBr?yMmcaWgic|Q(iQ}Q)GI72u5$$&NR zr<;`hn6ZG{6DvvkG-IX-S?fCxa3TYxNK}`O*a7eC5 z?#2aUB(6aV#giMLK$88a>?hz&EWXEVx`UQt15(!GGu>LN*_<8zLeKqrt-S$zIs^8r z7GRI8`DkcA<7_x7Pw zsWi_gkdlWCQhC(N#!DI!ouvFLIqXbweV@ne`iwo?P!hS^#gt*4nVlaQDlo(j6~;W9 z^Nf+o`7Lr3pZ~e?bv3Ldh?qN#ya#p#dY^yHkz&YA#)~#9wB;F=BBy6=tACnPhtALR z^A|*K6bO9`Qi${efs`_392XDI3n~(H{O4ZL4v9K93Y{4E4dT&KdkfVy4WMRUa_a9! z2UjOn7fvcl;@=BW6Y6LQVKkYWk(4HTOZiHRB7;(~^DzM#pD#rZgNz+)Buekm??gfH zk#bk}&9y;ZH1j(Hzw?mt*;ZfOApu0eLVA8)E!;VBwr|Q4)T#@(K`d}45w z+WGTA*mX{`YG)?dm^9tOgb>p^6#ODFP3v@1Dv%Tx^_BSbf224%z#S9-ugktD6D&o; zE;X!1jNmK1A&Zc>o#tDV>)8c#pQsRHkeXWC(f&sJ7Dz@{d1>iUuY-}+idt$y-!uLX zl&H1ZT_P`VDw2}xfZ~B2h#g!vFh!)jj~Y_@9dx$`{tO;H^Fl;W^B-6bFwHYVON|-< zg{4LTKD-NLv;pc&2wifCrn*CtfZoWHRLE#4E5bs4DNqeyK?(d1BohQOj)GAV$*P>j zF7|3`o%RR>hKGyx&OPtVIff*gnTLM$fceFPkpiM2eR{^6kO!40HP%x-ypoVMX->2H zJbil%4CRhgzijyXxJSx~{y;|SDg@~jdJY}!axT2u8;f!E+m)h_*h7+1b(p6xNKiD3 zHAN=qJ3bev-1x=7z39K2K*&j}a z0g;FNvyY29r@?`iYkLm6APT&drHZL2mjf*zjN3$FNLa2x1>Kn>SGP9Z_uo-cdld9A zCtMC@{5!;-<|D{eCyxR3zhO+y36w8;2&0ixkdLD-9OUXy4|p-Is#!yN+vj*60XW6T zJSYO(k7CMyx8p*~LPE6xpf!7nVJATHPN@@C{y?48GyiNh;2I&I0*joB6-XVW5->Wq z#q_+0NA??SA|8H47;UYC25yTUbRRVg)|LNq-7ZcWdu?%`ILCG{f2qoC!HU_wcUS714v$&+WO;aPtOUon#Iyf&S4#QW#H+EH|l&)TJU&$rFDpO7c$m z=1-)|mCn<}Vx|m8|GalNzwU>uO{Tz$#btEpTw4RlsETWM*_g1HBD(dSx}=78yts;n z-x3?DxrXI9L!4D2Q|Lp4646w9s6{rvO)bWAxdLB(PxYP7o!H#fO*qA5o$0YM+R0JbxyLc8m(k!) zvCZUVQjgz7?t?l*>!$Qy2qzx0Ha{nc3O5b0_KvFZSXsuYAim?z!FYA$)BW#i##s=@ z1smCX@}NqSgFh6LAsPp_K#Q?6%G7o|4vca4fdF5u{I_L-u~mYJHzs+Tes11H9t=i! zcXe7a+Z6^S_X*GMej-fmK(c#YlD~J~JxaU8w5qU&V`n@kI!;yv#?XhwsBa(4zRan+ zhaUr&vFO~`p64H=6k+pJjIawwlMw>Lc+iD=(`Uh3%X3po2T^FkNV5nWj^jY=@~Nmw zEzwM*jFzbtxb@Vh`Rn#yh!mJjf>M;nMr9~f)H;~oZ&a69`#xuc0Tr!LNWej)z$zU3 z>#dG-G}a;(I(S2F&7&(zd9KNS4s7@!da^NGYaD%E6c!^pJ-^oT+{Y4hx1Gg?6^#le z@?5L|dBDL3v!ABGh|-6|xq~bmV-blpkDmtKoL~@==WxmO0QmXvl1zBML8(y%TFTPz z=pBJol&DCz6ivrE)#Eq~VZMP=@7XM6ah8SjEktS${s41cguv#rI5B$D|GOhS8N9S_Y=2%Mph?z+SvO?=93)ic?fW6GSY^#%~}boZuWW*bw@MnJ7|8 zZIV6K;GViU>fwdRQ@Ncb2)Bf&r1v~|n&Vha?FkE(pl3h0R6AYjfa4o~)#+4RP9M%B zCyth73Lb13tWLb{AEHYqmNiQ*fq1zAcSvsGcJP2IVx!tI? zO|RDtGUHDqL98-!D7*;@eX1&u%Sq3FvhmJomew3{AJ#nHjt*HFgrZ6BTsJk7JOY9I zX>^UTKt0A3>QZxghWF z;{sw|K2OWgDAfmK#?>68e2B?9*lShcw-CcN9W)3&NDHbLrAViDH4A$a0Sjx;2JZk` z#>Sl>P9Nc_MbLT_?ymcN3QIbt`{R4qB~)cmpW#*Hr14ec#d(_mq4Ob0&ualt0T+f! zip6s0BpG12GwJm8dYdYapNT9a4-Eo7oFnA*%SQx;htb7q6L{+Wj?*IJ%Xq#g+hUZ; zd9Ju5(yJc#b%1P)wRR-W5Ev@SsC1HhPJ2s7pXqKrlrutA#;Fi${nMF3QVs3C$gAu0 z;fzOw|9O>M!IO&c0q{$X0H)xwf!*{07HQZQCv-6{2Wcoxy#O5HDRsRvkUp%q;30n# zVf$yXWj*d2$Z&#M`tc(G+*9;@T9!-fK|6WHzhC&V&P)Pu#TRhS%gr|UGs5ndR0Czz z<9hy1+*0NT^%psy2vr2Gw6{&~HU3Tv*ggFz|GbO+0mzF1>7%=lAyJ?c#K|8KBS3U1CKxH6YaG=J}3-l@$Kv|B}`TK?5;^!J7ToFm;0YIPzC-wsJtA{-C zMu=!od@2OlLqe3)t~Jz4LRuQ?qn*q+{{kGc<&eG#B*beUXF6B_QaXb`6?pNbLP!oZ z9ncIg^I!*|odxK$KgiR`Q7;3Y*dXxi9gb5;Zrn=+b7BCRK?n7XxPi)&8YGijMMFkr zF+;BCCjdT{l^44<-7vk+T;DQu`=kJXIaxT_w z+Mrm9hSCNcH_f6!lLwpcs%&5N4v0nF8G`ZWNIOrA={fy(rV}7-;3|KP9Q70=aKcNN zugrpdT?iRtNQZ3e8OZb85gd;!2bJ+5;0VFH8nbqDdmfJ_WveC6#2@F%$o3O&LHMRW zKpD<%b-bQ~-13?bXi4&!&q{z)YH<(g7*LHXKrr}TO|8(N3#fz{%b=BIBZ<}E*p#!i z%2rmQh)$xv&yxrLk!g~PeGgUdGhmOH#(!+HV`3bE3YF8wJeqqGz&z|gR>2h!J^%~> zox=gB5DtdCjbwrq0q1B8YL#FV#=iI>f#)-B|Mb9R`0*(A4}6+anLD<3$`y1p%x-?X zA>w_+eaG>C>%{;!I*@?K2sk=aLPTSBxF!_!Pepxgkq6cdl$_%Jshphtw@VBvpd6>) zpN#_m4Pw$ESB`Db1;bLO1ioO6D^^ZkB5@ALaq z_yn+Bc#J>nLZ>A&^zSaPn5s+9*apg)k9za#Mm} znq8Z5)o~-N{u>SvSWg0Yhy)Mn$q%LW?a~rFNlWW-#mODs^=e~TDIxfC*vAr6MWP#f znmc~~qW}w*_Zj0QpO=fB{68D_vDHT}GL7;R)8<*YJ6+7FZD!OoEGdna^s10-6ei3T zX!fg!Ad@R+XEf_rxPYx0%p$bUtQl0>R1@>GBe%PnGvi|A|5ZECd{mtwI-`DcafjuH zWWuOrXui3SO*frVZ5*+spC!IMVWE~GD&E0;d2-2wY3`)uQ~6B(A=69GYl}CnLW0$r z*WS0AQjw$JY!N!*Eh>`GOqSJz4G*X=QnD1BKjL=mxqagm?k||0(CUoo&X$?r92rT<_d}jycC?U&4_8c< z6qNTl+Q;Y>GkIC#5yB>Ar!qTyp33S+1CDSa48UzxlzY+%%6^6PI# z$2)9^I&CAg*J0XJ1#)DB_HR5_7PS0u9a)vFwxh|auI%)!J*~M(j&zAx!&lL7gMvnB zxnkZg>q;vURt>vCFGkM$+rG=F@ev(v9kV5-zGtNm6N7tUI>BRe%h5M$T|J+b4Jm29 zQzO61|6;NDzYElA=j@}J>=-h(M`AW<+-He93STZ2YdaEjukh^bq4U^i3;xlJN9b(qjQ8uhfQk6+;|sJO&P`5q%uZm+ zRGDs>i+#SNsmX$KJ$xKx96=>Y*$anit*Z$?eUo`+p~F3Bx0&IR zym(4!O$>RZXJK_VBi< zpi>o{{S}2k5~7oJ@Pw9gl}uIcCTzl@oK> zL))IQd>7}~>7lAcp8_UjMoXU#`eiRq589P9%9_$b9L`zLLU=cGGe~ozt@=GovAMwWd5@LL z4fjp?0i3#dg?d`)ioHPMS(S`p7T$8Z%}a`12yx4j=dD9+d~bYW7b9E7_pSKtziDvs zJ@tofjac?zbi^iUS+}Z%*@rxW14*lqd!vjfmqi^a<1<%3q4@Wku+ipDZ@KEH}TK0kfz_n1wbP;aw4A3PmLz0sJxqCP&%}>e(4Bo!F9YEEnX#E)6$v!iyGFAumCmXxBL2OnL$FCX&^mFx8=>GP8 z3pIX5NfEZ$QVvqQ@$2g#ggaFAE!?>Hv`6AjKm!IRuXAky1M#UMkota{8or9ju&-(E zk;;2BqDtA2MfG1Stre7mKZBXi{(JrVdsKsU{)i9{@Tn%8UUxq9)51hqRUUY60u%8% zOI0;e0Nafl3o4`_UhN!TIQ%z9Fb^NYXx)YIlL0ZMEAn^u-FPmjYxYs0dtXPwdTI(Q zec*^Iw*?P(y*}NCwoL`akyL)Ar}6~Q*9Rw&Ng=fN0~Bq`Oui&;xF^77*fu=bYmydm zgJYw8OhQmK#_&e;A8LRw;0c;Y*Mg&MGKqxsX-2fQ~cLvVj_ppaPhiWb(1Gh_J9FOvIKA zm8^D3z4Vvo8OB)5B{4}=WtX;Z{=_Kar0$MYKmn@Mt{1diX>hQvdk;`$5fDxc2#su{ zmobVa_*5t)fKdG&X#GN%2d&>!`O=<$ZQxg}>VZiUT@1#oq1J>bBIS_PK!8>C5lRQW zW9t5M&=elLqgpwzd{XM%-$ZY+wW0_5`^rDj#Fh+r z9FfJEujeYST%Nzfsiq-@Xg?`%ezpJ{7OgYQvJs&MN}TjRk&DK|P|;Iqj#ul%^TAZa z!>Ok+PAS1+c$qUGuOJby1Xw!)kPc6uHKAaSs~qJ#fL_vnFYAg^aCDC{P|gD=UJc<> zn5@LjyBBn$$$%o?D=l6U_%^A4$f*(|Cf_{QjoSv>fUjq7DoFE zsBpg0oFQO!OA3==xMI&-c|v!=_iH*x!CDCZ$-E13^Z*n#X2(tMQ^JfguQj$`B}mOw zLJl=k{@Qvfedi|?K!>r4PCvuL4Tt_b*YL~xh>t~Cc1GU$XiD$|k_izJA}k_8a9ekh zFuSe7{9|JK)d|QeiU7$dt&US3^6hjvIQEOcZjpmlLTjRQssNCMd@FEW=hS%DMu@g= z_o)uk31o6sr)cF@gt-6V39{0Tq?MWcdAfNB{)8ae}>kk(ooOY!Ne0e1%d$(B_fi!R1Mm5Q@;gCvr0T2RVcRSI`vE~=a3h)js^S99^ z(DFyzoov6z>}}n&br*Ui$G{iKZSA4x$FPvff35jz^)4W%>F=RW6hogFe2jP7d2nqQ zfH>(daT*#dbZ{+e#gH0*)kn7s&W65*tk9=_G=|HKk?WugQ;b+Y_i{i)A?DT^A;<-= z;#M!jtoZyVNBHHdfE;ZI2DkW>f4aBB$GiV;*?)V(F(u#+Ig6<_T$r4NRQ}Y|#wM^2 z28_#4CoBc9@_-fOn4Cq}{7+`%pjDyFnr}UP5v>C;!`kxSz(M$>?u>UAV{mpe9I*#h zNX`#e9`w>tIqdyL_eazdg|4HqP1xMV0eG1}&Y{5{ZwLGBHy6=m{Kq=D%H@tk|8Y^2 zDRP1_D$l9)hydYK^OFUUmC{Th^k#%vV(>Z_8XoLz0K&8XIJdY{nC^F+_GhUN2eY#m zXNQNw@7$S&I#Lk`kV-Vp*^s}#RTpV`RkBDlJu)8W=njM?V%-^_kD?J9h`3}KbxvfW z#^>}CC_H7kc~GfAfPr2t`fF)2DqhQQ`#^r%nB)LgQXCqHtV%pCo7)8yb!VF6IQzn% zC^g7ff&yl576obw?GN&StdnS_^roLpa*;n;?96s&Bu*DN08My%x=#~Zj2oPe1)Ky1 npd@j>E~7R079BS$vQOyvOLDFx1V_w!i*w9Icib literal 0 HcmV?d00001 diff --git a/manual/images/seafile-cluster-arch.png b/manual/images/seafile-cluster-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..6775a1918c0f067b54ef01362712341f6b400f41 GIT binary patch literal 67305 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 z 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

      E}u<^_}7V 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 literal 0 HcmV?d00001 diff --git a/manual/images/seafile-cluster.png b/manual/images/seafile-cluster.png new file mode 100644 index 0000000000000000000000000000000000000000..e81a9d4cc3f72fb2da6e0d649fa265b09959d594 GIT binary patch literal 39238 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 literal 0 HcmV?d00001 diff --git a/manual/images/seafile-server-config.png b/manual/images/seafile-server-config.png new file mode 100644 index 0000000000000000000000000000000000000000..a19560934283691df8c4814cea5342f07d80cea8 GIT binary patch literal 49061 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 z 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 literal 0 HcmV?d00001 diff --git a/manual/images/seafile-sync-arch.png b/manual/images/seafile-sync-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..75ccd99f9e95c317c8de571e58d84850b2c04c3c GIT binary patch literal 25811 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 literal 0 HcmV?d00001 diff --git a/manual/images/server-arch.png b/manual/images/server-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9d46ee69b14f3f30239c3ac08d7a5bd0e3e7a4 GIT binary patch literal 25084 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 JzW!?$@qadkl$!tm literal 0 HcmV?d00001 diff --git a/manual/images/system-admin-entrance.png b/manual/images/system-admin-entrance.png new file mode 100644 index 0000000000000000000000000000000000000000..110c3ce5ac36623b423a7f24a47e52a11ebb61d0 GIT binary patch literal 17886 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 literal 0 HcmV?d00001 diff --git a/manual/images/system-admin.png b/manual/images/system-admin.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a82938a4e12df0d3b386a829c16fb489e5de6b GIT binary patch literal 12372 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 P00000NkvXXu0mjfB(=c6 literal 0 HcmV?d00001 diff --git a/manual/images/virus-scan.png b/manual/images/virus-scan.png new file mode 100644 index 0000000000000000000000000000000000000000..a7222193c28b47473b28bff38df45b2b22db6351 GIT binary patch literal 47239 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 z zHqz7clPi@e*tc3&Tgc;-5n%(@zleH+{XD-X6(z?Wh^trgR7*eq$fRPA>+y`gL!$0R z1TG)RMLNK{Z}M(2c=dp|;4d{*VycnP&coy2SE4B(WFL;v*ViW+u+<7pMd_fJ!W`hr zo4*EZ5*=EfK>=?ilH@fs4Qk&mu1Fu%trC|%rKF}((1|V_;RiFMBqSy2$gUBcw!ja3 zk<>?~HQBuA7bVxbr(At>6}SPuW+7)_O;0}efwJDuv*yLIK6~5gj^m0IJ&sF7{App z$VV2PBTdZP=tNA9v(%#zGT_Gh89w3JEV#~nr6)}n3Ue;$XbKh1 zsCIXuW0eXlchk6CN7~R1c`sSF>1#}4ykGt;MkUM+-q!~1YdR^)O7vUieO;SV>ZTiA zXjqZ)rLgrlrlj_L9w26}-0^(!q}e|~Ho6Yh*GxB7tKlLEm#Jd+vpD}YWjeO^*y22$ zlwPBWV8+Cq_Dx^nsAz8)296 zu25gWe*dQ``&B#YvLh(=(aAiSrkvOtH5q4LZZVR37h+GsFu@HE1gK{OVSMF38hP#Q zGB&$IEJJPCr5&LopLQ zq3(Q#vdQ%&%(@{?*AnHl*JSG((}mM-B^)V7#~=E0L&g-9KOIeCQbUDo!WPe?Z(HP# zy^WW@*(34BzSMQwAh*q(IB6{SCeK^YV#Fe6o58?9i+kz0Q`7V!i;`+LUTu}luM2Ja zcj>J@v1wwKgRrHKrzSSb1|akUR$)0)ruBa1!u<&zI@=!I7lHGDR3{)*9nWLJxnt-v zs=AUcuM>u_yx9z2QdoxS`)5)Wwa47!A6bBppTMY!hHCnPcM)@0Lw|ZoIjsME77*`S zwNruM*3>Kx8Mp&!)W3dH*&9SaQ2Ns#srY@&KJlHadFII1*(VFJinh}!R;M3*ns|4` zC=(XboHI&cryc^c5ZVIc;VdQE)Ss-Ya;krj ze-#fzvazeXN-`4Fv>I8*dkjJn-m56Hxu&tMvy_vO3!#gHMt&Nd`W0WQbL70QslNC6 z)*#sV{i!c75e~=<%PEWrrrD6mvigg}HTShGRb~k?yp7dGaovs$Wj_`5eP0!VOM$6o zvCm}9LGX3*PDbmWi@iDzol2f0+>2$j?ljp~O>;xq^wrr$4YO0arcDvYTXfzoDn!3L zC9$wwtYalYNTPe^EC`dE(LjFD9ksq1k!LB2?&%$@&*mNLDWxQ4C3Ta| z#HHo!28r*$r}xqQ)c#J&@`#Ne4)0Q>FQ9h_FQ@LWI6Qe*%Fby0x>FVw$<+Dco5}^` zSAc2qh0+bW5X%Pvug+^cSiG|P?)@arHqIe-6Vp2;nRn9|WF0O2v1gBa=@?z++Npb3 zWuAqLy1!&79ywE$)!g~DA9S_Uu`PdeB+ar8nR_JfF&TGj(DlB-IX5Gw_5{;Q8pU?v zuOu$;rMv)5v6g=1d6XWq55b&W4j$m>$Xk{R$r*AWCEq9!-p_cXXHK-8JsDE;T`G1=N%hu^J0=t-23iypOz`=W-2d1kKydsh>GlXs?$aGq86PbxVa!4 zO%9VENC~hV$~67tv-tjJ&4umxxm`N_^1nUc9{!1Cb`R{wB?6vonPy3BkC)4&67Yh@ zJe_19|3hITwgcqJo`#q@v8sIAyA9xzxF>>m8u^jD;xkcRVsa5gNe=|*8_69uYM)x< zv$0y<%sFuF?dQ@JwNcC8kh}Jej^A3_KjxADJpHG-|3ms;)w%!V`~L(Z{`c#b%!!cX fKS|%u^j%z+%vV>t>OiAM%%dcy{-X5xn-BjFX$RH+ literal 0 HcmV?d00001 diff --git a/manual/maintain/README.md b/manual/maintain/README.md new file mode 100644 index 00000000..46ee0d65 --- /dev/null +++ b/manual/maintain/README.md @@ -0,0 +1,47 @@ +# Administration + +### Enter the admin panel + +As the system admin, you can enter the admin panel by click `System Admin` in the popup of avatar if you are using 6.0.0 or above: + +![System Admin](../images/system-admin-entrance.png) + +If your Seafile version is below 6.0.0, you can enter the admin panel by click the `tools` button at the top-right, beside the avatar: + +![Admin tools](../images/tools-button.png) + +After clicking the button, you will get into the admin panel: + +![System admin panel](../images/system-admin.png) + +### Account management + +* [Account management](account.md) + +### Logs + +* [The location of log files](logs.md) + +### Backup and Recovery + +Backup and recovery: + +* [Backup and recovery](backup_recovery.md) + +Recover corrupt files after server hard shutdown or system crash: + +* [Seafile FSCK](seafile_fsck.md) + +You can run Seafile GC to remove unused files: + +* [Seafile GC](seafile_gc.md) + +### Clean database + +* [Clean database](clean_database.md) + +### Export report + +* [Export report](export_report.md) + + diff --git a/manual/maintain/account.md b/manual/maintain/account.md new file mode 100644 index 00000000..36e8ef0a --- /dev/null +++ b/manual/maintain/account.md @@ -0,0 +1,20 @@ +# Account Management + +#### User Management + +When you setup seahub website, you should have setup a admin account. After you logged in a admin, you may add/delete users and file libraries. + +#### Resetting User Password + +Administrator can reset password for a user in "System Admin" page. + +In a private server, the default settings doesn't support users to reset their password by email. If you want to enable this, you have first to [set up notification email](../config/sending_email.md). + +#### Forgot Admin Account or Password? + +You may run `reset-admin.sh` script under seafile-server directory. This script would help you reset the admin account and password. +Your data will not be deleted from the admin account, this only unlocks and changes the password for the admin account. + +#### User Quota Notice + +Under the seafile-server-latest directory, run `./seahub.sh python-env python seahub/manage.py check_user_quota` , when the user quota exceeds 90%, an email will be sent. If you want to enable this, you have first to [set up notification email](../config/sending_email.md). diff --git a/manual/maintain/backup_recovery.md b/manual/maintain/backup_recovery.md new file mode 100644 index 00000000..58addbca --- /dev/null +++ b/manual/maintain/backup_recovery.md @@ -0,0 +1,153 @@ +## Overview + +There are generally two parts of data to backup + +* Seafile library data +* Databases + +If you setup seafile server according to our manual, you should have a directory layout like: + +``` +haiwen # Replace the name with your organization name + --seafile-server-2.x.x # untar from seafile package + --seafile-data # seafile configuration and data (if you choose the default) + --seahub-data # seahub data + --ccnet # ccnet configuration and data + --seahub.db # sqlite3 database used by seahub + --seahub_settings.py # optional config file for seahub + +``` + +All your library data is stored under the 'haiwen' directory. + +Seafile also stores some important metadata data in a few databases. The names and locations of these databases depends on which database software you use. + +For SQLite, the database files are also under the 'haiwen' directory. The locations are: + +* ccnet/PeerMgr/usermgr.db: contains user information +* ccnet/GroupMgr/groupmgr.db: contains group information +* seafile-data/seafile.db: contains library metadata +* seahub.db: contains tables used by the web front end (seahub) + +For MySQL, the databases are created by the administrator, so the names can be different from one deployment to another. There are 3 databases: + +* ccnet-db: contains user and group information +* seafile-db: contains library metadata +* seahub.db: contains tables used by the web front end (seahub) + +## Backup steps + +The backup is a three step procedure: + +1. Optional: Stop Seafile server first if you're using SQLite as database. +2. Backup the databases; +3. Backup the seafile data directory; + +### Backup Order: Database First or Data Directory First + +* backup data directory first, SQL later: When you're backing up data directory, some new objects are written and they're not backed up. Those new objects may be referenced in SQL database. So when you restore, some records in the database cannot find its object. So the library is corrupted. +* backup SQL first, data directory later: Since you backup database first, all records in the database have valid objects to be referenced. So the libraries won't be corrupted. But new objects written to storage when you're backing up are not referenced by database records. So some libraries are out of date. When you restore, some new data are lost. + +The second sequence is better in the sense that it avoids library corruption. Like other backup solutions, some new data can be lost in recovery. There is always a backup window. +However, if your storage backup mechanism can finish quickly enough, using the first sequence can retain more data. + +We assume your seafile data directory is in `/data/haiwen`. And you want to backup to `/backup` directory. The `/backup` can be an NFS or Windows share mount exported by another machine, or just an external disk. You can create a layout similar to the following in `/backup` directory: + +``` +/backup +---- databases/ contains database backup files +---- data/ contains backups of the data directory + +``` + +### Backing up Databases + +It's recommended to backup the database to a separate file each time. Don't overwrite older database backups for at least a week. + +**MySQL** + +Assume your database names are `ccnet-db`, `seafile-db` and `seahub-db`. mysqldump automatically locks the tables so you don't need to stop Seafile server when backing up MySQL databases. Since the database tables are usually very small, it won't take long to dump. + +``` +mysqldump -h [mysqlhost] -u[username] -p[password] --opt ccnet-db > /backup/databases/ccnet-db.sql.`date +"%Y-%m-%d-%H-%M-%S"` + +mysqldump -h [mysqlhost] -u[username] -p[password] --opt seafile-db > /backup/databases/seafile-db.sql.`date +"%Y-%m-%d-%H-%M-%S"` + +mysqldump -h [mysqlhost] -u[username] -p[password] --opt seahub-db > /backup/databases/seahub-db.sql.`date +"%Y-%m-%d-%H-%M-%S"` + +``` + +**SQLite** + +You need to stop Seafile server first before backing up SQLite database. + +``` +sqlite3 /data/haiwen/ccnet/GroupMgr/groupmgr.db .dump > /backup/databases/groupmgr.db.bak.`date +"%Y-%m-%d-%H-%M-%S"` + +sqlite3 /data/haiwen/ccnet/PeerMgr/usermgr.db .dump > /backup/databases/usermgr.db.bak.`date +"%Y-%m-%d-%H-%M-%S"` + +sqlite3 /data/haiwen/seafile-data/seafile.db .dump > /backup/databases/seafile.db.bak.`date +"%Y-%m-%d-%H-%M-%S"` + +sqlite3 /data/haiwen/seahub.db .dump > /backup/databases/seahub.db.bak.`date +"%Y-%m-%d-%H-%M-%S"` + +``` + +### Backing up Seafile library data + +The data files are all stored in the `/data/haiwen` directory, so just back up the whole directory. You can directly copy the whole directory to the backup destination, or you can use rsync to do incremental backup. + +To directly copy the whole data directory, + +``` +cp -R /data/haiwen /backup/data/haiwen-`date +"%Y-%m-%d-%H-%M-%S"` + +``` + +This produces a separate copy of the data directory each time. You can delete older backup copies after a new one is completed. + +If you have a lot of data, copying the whole data directory would take long. You can use rsync to do incremental backup. + +``` +rsync -az /data/haiwen /backup/data + +``` + +This command backup the data directory to `/backup/data/haiwen`. + +## Restore from backup + +Now supposed your primary seafile server is broken, you're switching to a new machine. Using the backup data to restore your Seafile instance: + +1. Copy `/backup/data/haiwen` to the new machine. Let's assume the seafile deployment location new machine is also `/data/haiwen`. +2. Restore the database. +3. Since database and data are backed up separately, they may become a little inconsistent with each other. To correct the potential inconsistency, run seaf-fsck tool to check data integrity on the new machine. See [seaf-fsck documentation](seafile_fsck.md). + +### Restore the databases + +Now with the latest valid database backup files at hand, you can restore them. + +**MySQL** + +``` +mysql -u[username] -p[password] ccnet-db < ccnet-db.sql.2013-10-19-16-00-05 +mysql -u[username] -p[password] seafile-db < seafile-db.sql.2013-10-19-16-00-20 +mysql -u[username] -p[password] seahub-db < seahub-db.sql.2013-10-19-16-01-05 + +``` + +**SQLite** + +``` +cd /data/haiwen +mv ccnet/PeerMgr/usermgr.db ccnet/PeerMgr/usermgr.db.old +mv ccnet/GroupMgr/groupmgr.db ccnet/GroupMgr/groupmgr.db.old +mv seafile-data/seafile.db seafile-data/seafile.db.old +mv seahub.db seahub.db.old +sqlite3 ccnet/PeerMgr/usermgr.db < usermgr.db.bak.xxxx +sqlite3 ccnet/GroupMgr/groupmgr.db < groupmgr.db.bak.xxxx +sqlite3 seafile-data/seafile.db < seafile.db.bak.xxxx +sqlite3 seahub.db < seahub.db.bak.xxxx + +``` + + diff --git a/manual/maintain/clean_database.md b/manual/maintain/clean_database.md new file mode 100644 index 00000000..1d1ced24 --- /dev/null +++ b/manual/maintain/clean_database.md @@ -0,0 +1,90 @@ +# Clean Database + +## Seahub + +### Session + +Since version 5.0, we offered command to clear expired session records in Seahub database. + +``` +cd /seafile-server-latest +./seahub.sh python-env seahub/manage.py clearsessions + +``` + +### Activity + +To clean the activity records, login in to MySQL/MariaDB and use the following command: + +``` +use seahub_db; +DELETE FROM Event WHERE to_days(now()) - to_days(timestamp) > 90; + +``` + +The corresponding items in UserEvent will deleted automatically by MariaDB when the foreign keys in Event table are deleted. + +Since version 7.0, we is using the table Activity intead of Event. Correspondingly, you need to empty the Activity table. + +Use the following command: + +``` +use seahub_db; +DELETE FROM Activity WHERE to_days(now()) - to_days(timestamp) > 90; + +``` + +The corresponding items in UserActivity will deleted automatically by MariaDB when the foreign keys in Activity table are deleted. + +### Login + +To clean the login records, login in to MySQL/MariaDB and use the following command: + +``` +use seahub_db; +DELETE FROM sysadmin_extra_userloginlog WHERE to_days(now()) - to_days(login_date) > 90; + +``` + +### File Access + +To clean the file access records, login in to MySQL/MariaDB and use the following command: + +``` +use seahub_db; +DELETE FROM FileAudit WHERE to_days(now()) - to_days(timestamp) > 90; + +``` + +### File Update + +To clean the file update records, login in to MySQL/MariaDB and use the following command: + +``` +use seahub_db; +DELETE FROM FileUpdate WHERE to_days(now()) - to_days(timestamp) > 90; + +``` + +### Permisson + +To clean the permisson records, login in to MySQL/MariaDB and use the following command: + +``` +use seahub_db; +DELETE FROM PermAudit WHERE to_days(now()) - to_days(timestamp) > 90; + +``` + +### Outdated Library Data + +Since version 6.2, we offer command to clear outdated library records in Seahub database, +e.g. records that are not deleted after a library is deleted. This is because users can restore a deleted library, so we can't delete these records at library deleting time. + +``` +cd /seafile-server-latest +./seahub.sh python-env seahub/manage.py clear_invalid_repo_data + +``` + + diff --git a/manual/maintain/export_file_access_log.md b/manual/maintain/export_file_access_log.md new file mode 100644 index 00000000..e0dced78 --- /dev/null +++ b/manual/maintain/export_file_access_log.md @@ -0,0 +1,11 @@ +# Export File Access Log + +Since version 7.0.8 pro, we offer command to export file access log. + +``` +cd /seafile-server-latest +./seahub.sh python-env python seahub/manage.py export_file_access_log --start-date 2019-06-01 --end-date 2019-07-01 + +``` + + diff --git a/manual/maintain/export_report.md b/manual/maintain/export_report.md new file mode 100644 index 00000000..ead40960 --- /dev/null +++ b/manual/maintain/export_report.md @@ -0,0 +1,29 @@ +# Export Report + +Since version 7.0.8 pro, Seafile provides commands to export reports via command line. + +## Export User Traffic Report + +``` +cd /seafile-server-latest +./seahub.sh python-env python seahub/manage.py export_user_traffic_report --date 201906 + +``` + +## Export User Storage Report + +``` +cd /seafile-server-latest +./seahub.sh python-env python seahub/manage.py export_user_storage_report + +``` + +## Export File Access Log + +``` +cd /seafile-server-latest +./seahub.sh python-env python seahub/manage.py export_file_access_log --start-date 2019-06-01 --end-date 2019-07-01 + +``` + + diff --git a/manual/maintain/export_user_storage_report.md b/manual/maintain/export_user_storage_report.md new file mode 100644 index 00000000..84137342 --- /dev/null +++ b/manual/maintain/export_user_storage_report.md @@ -0,0 +1,11 @@ +# Export User Storage Report + +Since version 7.0.8 pro, we offer command to export user storage report. + +``` +cd /seafile-server-latest +./seahub.sh python-env python seahub/manage.py export_user_storage_report + +``` + + diff --git a/manual/maintain/logs.md b/manual/maintain/logs.md new file mode 100644 index 00000000..4a09b87c --- /dev/null +++ b/manual/maintain/logs.md @@ -0,0 +1,24 @@ +# Logs + +### Log files of seafile server: + +* seafile.log: logs of Seafile server +* controller.log: logs of Controller +* seahub.log: logs from Django framework and emails sending +* Ccnet Log: logs/ccnet.log (logs for internal RPC, not useful) + +pro edition only: + +* seafevents.log: logs for background tasks and office file conversion +* seahub_email_sender.log: logs for periodically email sending of background tasks + + +### Log files for seafile background node in cluster mode: + +* seafile.log: logs of Seafile server +* controller.log: logs of Controller +* seahub.log: logs from Django framework and emails sending +* seafevents.log: Empty +* seafile-background-tasks.log: logs for background tasks and office file convertion +* seahub_email_sender.log: logs for periodically email sending of background tasks +* Ccnet Log: logs/ccnet.log (logs for internal RPC, not useful) diff --git a/manual/maintain/seafile_fsck.md b/manual/maintain/seafile_fsck.md new file mode 100644 index 00000000..84942a9b --- /dev/null +++ b/manual/maintain/seafile_fsck.md @@ -0,0 +1,130 @@ +# Seafile FSCK + +On the server side, Seafile stores the files in the libraries in an internal format. Seafile has its own representation of directories and files (similar to Git). + +With default installation, these internal objects are stored in the server's file system directly (such as Ext4, NTFS). But most file systems don't assure the integrity of file contents after a hard shutdown or system crash. So if new Seafile internal objects are being written when the system crashes, they can be corrupt after the system reboots. This will make part of the corresponding library not accessible. + +Note: If you store the seafile-data directory in a battery-backed NAS (like EMC or NetApp), or use S3 backend available in the Pro edition, the internal objects won't be corrupt. + +Starting from version 2.0, Seafile server comes with a seaf-fsck tool to help you recover from this corruption (similar to git-fsck tool). This tool recovers any corrupted library back to its last consistent and usable state. + +Starting from version 4.1, we provide a seaf-fsck.sh script. The seaf-fsck tool accepts the following arguments: + +``` +cd seafile-server-latest +./seaf-fsck.sh [--repair|-r] [--export|-E export_path] [repo_id_1 [repo_id_2 ...]] + +``` + +There are three modes of operation for seaf-fsck: + +1. checking integrity of libraries. +2. repairing corrupted libraries. +3. exporting libraries. + +## Checking Integrity of Libraries + +Running seaf-fsck.sh without any arguments will run a **read-only** integrity check for all libraries. + +``` +cd seafile-server-latest +./seaf-fsck.sh + +``` + +If you want to check integrity for specific libraries, just append the library id's as arguments: + +``` +cd seafile-server-latest +./seaf-fsck.sh [library-id1] [library-id2] ... + +``` + +The output looks like: + +``` +[02/13/15 16:21:07] fsck.c(470): Running fsck for repo ca1a860d-e1c1-4a52-8123-0bf9def8697f. +[02/13/15 16:21:07] fsck.c(413): Checking file system integrity of repo fsck(ca1a860d)... +[02/13/15 16:21:07] fsck.c(35): Dir 9c09d937397b51e1283d68ee7590cd9ce01fe4c9 is missing. +[02/13/15 16:21:07] fsck.c(200): Dir /bf/pk/(9c09d937) is curropted. +[02/13/15 16:21:07] fsck.c(105): Block 36e3dd8757edeb97758b3b4d8530a4a8a045d3cb is corrupted. +[02/13/15 16:21:07] fsck.c(178): File /bf/02.1.md(ef37e350) is curropted. +[02/13/15 16:21:07] fsck.c(85): Block 650fb22495b0b199cff0f1e1ebf036e548fcb95a is missing. +[02/13/15 16:21:07] fsck.c(178): File /01.2.md(4a73621f) is curropted. +[02/13/15 16:21:07] fsck.c(514): Fsck finished for repo ca1a860d. + +``` + +The corrupted files and directories are reported. + +Sometimes you can see output like the following: + +``` +[02/13/15 16:36:11] Commit 6259251e2b0dd9a8e99925ae6199cbf4c134ec10 is missing +[02/13/15 16:36:11] fsck.c(476): Repo ca1a860d HEAD commit is corrupted, need to restore to an old version. +[02/13/15 16:36:11] fsck.c(314): Scanning available commits... +[02/13/15 16:36:11] fsck.c(376): Find available commit 1b26b13c(created at 2015-02-13 16:10:21) for repo ca1a860d. + +``` + +This means the "head commit" (current state of the library) recorded in database is not consistent with the library data. In such case, fsck will try to find the last consistent state and check the integrity in that state. + +Tips: **If you have many libraries, it's helpful to save the fsck output into a log file for later analysis.** + +## Repairing Corruption + +Corruption repair in seaf-fsck basically works in two steps: + +1. If the library state (commit) recorded in database is not found in data directory, find the last available state from data directory. +2. Check data integrity in that specific state. If files or directories are corrupted, set them to empty files or empty directories. The corrupted paths will be reported, so that the user can recover them from somewhere else. + +Running the following command repairs all the libraries: + +``` +cd seafile-server-latest +./seaf-fsck.sh --repair + +``` + +Most of time you run the read-only integrity check first, to find out which libraries are corrupted. And then you repair specific libraries with the following command: + +``` +cd seafile-server-latest +./seaf-fsck.sh --repair [library-id1] [library-id2] ... + +``` + +After repairing, in the library history, seaf-fsck includes the list of files and folders that are corrupted. So it's much easier to located corrupted paths. + +### Best Practice for Repairing a Library + +To check all libraries and find out which library is corrupted, the system admin can run seaf-fsck.sh without any argument and save the output to a log file. Search for keyword "Fail" in the log file to locate corrupted libraries. You can run seaf-fsck to check all libraries when your Seafile server is running. It won't damage or change any files. + +When the system admin find a library is corrupted, he/she should run seaf-fsck.sh with "--repair" for the library. After the command fixes the library, the admin should inform user to recover files from other places. There are two ways: + +* Upload corrupted files or folders via the web interface +* If the library was synced to some desktop computer, and that computer has a correct version of the corrupted file, resyncing the library on that computer will upload the corrupted files to the server. + +## Speeding up FSCK by not checking file contents + +Starting from Pro edition 7.1.5, an option is added to speed up FSCK. Most of the running time of seaf-fsck is spent on calculating hashes for file contents. This hash will be compared with block object ID. If they're not consistent, the block is detected as corrupted. + +In many cases, the file contents won't be corrupted most of time. Some objects are just missing from the system. So it's enough to only check for object existence. This will greatly speed up the fsck process. + +To skip checking file contents, add the "--shallow" or "-s" option to seaf-fsck. + +## Exporting Libraries to File System + +Since version 4.2.0, you can use seaf-fsck to export all the files in libraries to external file system (such as Ext4). This procedure doesn't rely on the seafile database. As long as you have your seafile-data directory, you can always export your files from Seafile to external file system. + +The command syntax is + +``` +cd seafile-server-latest +./seaf-fsck.sh --export top_export_path [library-id1] [library-id2] ... + +``` + +The argument `top_export_path` is a directory to place the exported files. Each library will be exported as a sub-directory of the export path. If you don't specify library ids, all libraries will be exported. + +Currently only un-encrypted libraries can be exported. Encrypted libraries will be skipped. diff --git a/manual/maintain/seafile_gc.md b/manual/maintain/seafile_gc.md new file mode 100644 index 00000000..4613a44d --- /dev/null +++ b/manual/maintain/seafile_gc.md @@ -0,0 +1,204 @@ +# Seafile GC + +Seafile uses storage de-duplication technology to reduce storage usage. The underlying data blocks will not be removed immediately after you delete a file or a library. As a result, the number of unused data blocks will increase on Seafile server. + +To release the storage space occupied by unused blocks, you have to run a +"garbage collection" program to clean up unused blocks on your server. + +The GC program cleans up two types of unused blocks: + +1. Blocks that no library references to, that is, the blocks belong to deleted libraries; +2. If you set history length limit on some libraries, the out-dated blocks in those libraries will also be removed. + +**Before running GC, you must shutdown the Seafile program on your server if you use the community edition. For professional edition, online GC operation is supported. If you use Professional edition, you don't need to shutdown the Seafile program if you are using MySQL.** +This is because new blocks written into Seafile while GC is running may be mistakenly deleted by the GC program. + +At the bottom of the page there is a script that you can use to run the cleanup manually or e.g. once a week with as cronjob. + +## Run GC + +### Dry-run Mode + +To see how much garbage can be collected without actually removing any garbage, use the dry-run option: + +``` +seaf-gc.sh --dry-run [repo-id1] [repo-id2] ... + +``` + +The output should look like: + +``` +[03/19/15 19:41:49] seafserv-gc.c(115): GC version 1 repo My Library(ffa57d93) +[03/19/15 19:41:49] gc-core.c(394): GC started. Total block number is 265. +[03/19/15 19:41:49] gc-core.c(75): GC index size is 1024 Byte. +[03/19/15 19:41:49] gc-core.c(408): Populating index. +[03/19/15 19:41:49] gc-core.c(262): Populating index for repo ffa57d93. +[03/19/15 19:41:49] gc-core.c(308): Traversed 5 commits, 265 blocks. +[03/19/15 19:41:49] gc-core.c(440): Scanning unused blocks. +[03/19/15 19:41:49] gc-core.c(472): GC finished. 265 blocks total, about 265 reachable blocks, 0 blocks can be removed. + +[03/19/15 19:41:49] seafserv-gc.c(115): GC version 1 repo aa(f3d0a8d0) +[03/19/15 19:41:49] gc-core.c(394): GC started. Total block number is 5. +[03/19/15 19:41:49] gc-core.c(75): GC index size is 1024 Byte. +[03/19/15 19:41:49] gc-core.c(408): Populating index. +[03/19/15 19:41:49] gc-core.c(262): Populating index for repo f3d0a8d0. +[03/19/15 19:41:49] gc-core.c(308): Traversed 8 commits, 5 blocks. +[03/19/15 19:41:49] gc-core.c(264): Populating index for sub-repo 9217622a. +[03/19/15 19:41:49] gc-core.c(308): Traversed 4 commits, 4 blocks. +[03/19/15 19:41:49] gc-core.c(440): Scanning unused blocks. +[03/19/15 19:41:49] gc-core.c(472): GC finished. 5 blocks total, about 9 reachable blocks, 0 blocks can be removed. + +[03/19/15 19:41:49] seafserv-gc.c(115): GC version 1 repo test2(e7d26d93) +[03/19/15 19:41:49] gc-core.c(394): GC started. Total block number is 507. +[03/19/15 19:41:49] gc-core.c(75): GC index size is 1024 Byte. +[03/19/15 19:41:49] gc-core.c(408): Populating index. +[03/19/15 19:41:49] gc-core.c(262): Populating index for repo e7d26d93. +[03/19/15 19:41:49] gc-core.c(308): Traversed 577 commits, 507 blocks. +[03/19/15 19:41:49] gc-core.c(440): Scanning unused blocks. +[03/19/15 19:41:49] gc-core.c(472): GC finished. 507 blocks total, about 507 reachable blocks, 0 blocks can be removed. + +[03/19/15 19:41:50] seafserv-gc.c(124): === Repos deleted by users === +[03/19/15 19:41:50] seafserv-gc.c(145): === GC is finished === + +[03/19/15 19:41:50] Following repos have blocks to be removed: +repo-id1 +repo-id2 +repo-id3 + +``` + +If you give specific library ids, only those libraries will be checked; otherwise all libraries will be checked. + +Notice that at the end of the output there is a "repos have blocks to be removed" section. It contains the list of librareis that have garbage blocks. Later when you run GC without --dry-run option, you can use these libraris ids as input arguments to GC program. + +### Removing Garbage + +To actually remove garbage blocks, run without the --dry-run option: + +``` +seaf-gc.sh [repo-id1] [repo-id2] ... + +``` + +If libraries ids are specified, only those libraries will be checked for garbage. + +As described before, there are two types of garbage blocks to be removed. Sometimes just removing the first type of blocks (those that belong to deleted libraries) is good enough. In this case, the GC program won't bother to check the libraries for outdated historic blocks. The "-r" option implements this feature: + +``` +seaf-gc.sh -r + +``` + +**In Seafile version 4.1.1 and later, libraries deleted by the users are not immediately removed from the system. Instead, they're moved into a "trash" in the system admin page. Before they're cleared from the trash, their blocks won't be garbage collected.** + +### Using Multiple Threads in GC + +Since Pro server 5.1.0, you can specify the thread number in GC. By default, + +* If storage backend is S3/Swift/Ceph, 10 threads are started to do the GC work. +* If storage backend is file system, only 1 thread is started. + +You can specify the thread number in with "-t" option. "-t" option can be used together with all other options. Each thread will do GC on one library. For example, the following command will use 20 threads to GC all libraries: + +``` +seaf-gc.sh -t 20 + +``` + +Since the threads are concurrent, the output of each thread may mix with each others. Library ID is printed in each line of output. + +### Run GC based on library ID prefix + +Since GC usually runs quite slowly as it needs to traverse the entire library history. You can use multiple threads to run GC in parallel. For even larger deployments, it's also desirable to run GC on multiple server in parallel. + +A simple pattern to divide the workload among multiple GC servers is to assign libraries to servers based on library ID. Since Pro edition 7.1.5, this is supported. You can add "--id-prefix" option to seaf-gc.sh, to specify the library ID prefix. For example, the below command will only process libraries having "a123" as ID prefix. + +``` +seaf-gc.sh --id-prefix a123 + +``` + +## GC cleanup script for Community Version + +To use this script you need: + +* Setup the seafile-service file at '/etc/init.d/seafile-server' +* Files of seafile setup need to be owner by 'seafile:nogroup' or 'seafile:seafile' +* Run the script with sudo or as root +* Put the script into crontab of a root user + +Create the script file (change the location to your liking): + +``` +touch /opt/haiwen/seafile/cleanupScript.sh + +``` + +Use your favorite text editor and paste the following code: + +``` +#!/bin/bash + +##### +# Uncomment the following line if you rather want to run the script manually. +# Display usage if the script is not run as root user +# if [[ $USER != "root" ]]; then +# echo "This script must be run as root user!" +# exit 1 +# fi +# +# echo "Super User detected!!" +# read -p "Press [ENTER] to start the procedure, this will stop the seafile server!!" +##### + +# stop the server +echo Stopping the Seafile-Server... +systemctl stop seafile.service +systemctl stop seahub.service + +echo Giving the server some time to shut down properly.... +sleep 20 + +# run the cleanup +echo Seafile cleanup started... +sudo -u seafile $pathtoseafile/seafile-server-latest/seaf-gc.sh + +echo Giving the server some time.... +sleep 10 + +# start the server again +echo Starting the Seafile-Server... +systemctl start seafile.service +systemctl start seahub.service + +echo Seafile cleanup done! + +``` + +Make sure that the script has been given execution rights, to do that run this command. + +``` +sudo chmod +x /path/to/yourscript.sh + +``` + +Then open crontab with the root user + +``` +crontab -e + +``` + +Add the following line (change the location of your script accordingly!) + +``` +0 2 * * Sun /opt/haiwen/seafile/cleanupScript.sh + +``` + +The script will then run every Sunday at 2:00 AM. + +## GC in the [seafile docker container](https://github.com/haiwen/seafile-docker) + +To perform garbage collection inside the seafile docker container, you must run the `/scripts/gc.sh` script. Simply run `docker exec /scripts/gc.sh`. diff --git a/manual/media/favicon.ico b/manual/media/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c2a2563f202e9025ebe75e472bf25d963ee71eca GIT binary patch literal 4286 zcmeHJZA_JA7=DggOgM5tIf5n}6h$VspaJGbLW&c`@++}^xz^_TQ$MU#Yi+jqqd#r^ zYi*&24-sf^4k&&Nk;9M=zxYZ-trlx*wlqU+CA|0j+}-zc&MSxqHT%`ZVHel^ab4H* z@|?qVlydM-aHD#fLDLUtj69$ZM-;=X$Aw0E=`GgZn7&^Vdnn3F%tX@LGtTUaEY?{Q zWzDW2hqFZg=`10dQKHFNg5>mSsqaL3!5v#3{vMoOSnu?T7L6}TYU4LviY_J7N6U=! zqDnA3+%v=+r0p@~nxe~)VwqzPYKkdimbzTujw!>Lafcqh>*!KA6(ibmjjl4i*Hy0H zHG1~BI7>3wYuHuFT&6FEJKtS_`J7K~hVZNkq__&HgY2%PA$OIY8Gi^Lu(LKGdd7S9 zg6lMQ6>&x|Pcq$=oN2N!{6(^PPPOieuSSZmLQ42nQ-ZLdnrogj4<%GX+#EmHM=72a z&0#HL^E}_^v$0=`C%$q_9_PeY>EZk4F$HT?s*k25)#{Ivd^DU`gTyr@8X(Q9(F~sX z^pK~HVw3%&?*(f9Kpm&KjrGE518t;{U$uU@zegbLf383dsYLa@%ap?uYUU z>}+sGW+S%Q`Qte|0DV~jxS7+UZ)P>a&Fp5lmD7U7nN8N*oB)h)Pg%_tWe1S5n;8MP z%QL^}0}z}uvxjm5+Vsm>f^7QJMpHBXT)SU!20IwPtvCb3Oe-0}D_Y^57n_EombXF) z_t&|<&YIGfnnz++w&|C-XU%=B@vUsNf*EEf`%q>Z7TM>G<>jrGX;*jR?z~Q<+zy~z z=GDvs?km?_Adl@?-C?=%&f>mT+ASyVdPJMo36v-Lc8m3)jG&iiyz9hY#J{RN{AVt= z(^C28(UpGzhx0E0<(~&ybJk);T6+#?E%(efc>b%*WY2tHRqNl;YtC7JnVGFKJKmcd z6>W>6`k1HuW-u?Yh^ZLWY_5!cVsEweNHqd-fFeSYH zkYVqhhPMvTw9S{SyIU>+Z8oqBZ|Mix(vKm)*H4rEq@Ha9*8AHBED~(HEDW?Qgx9Yi zZXFnY?01qUJ!`yf>*e78#m;N^`Hrg=6_#wcT;g(c!qKes+M` o!ν-+VnIjL$*{WT@PLQn`al?FH3Bpolbs9E^Pv9Kz#&0Hq;ouK)l5 literal 0 HcmV?d00001 diff --git a/manual/media/seafile-transparent-1024.png b/manual/media/seafile-transparent-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..ff00b9dc12d8537400a9c14b89d9d83395c14a48 GIT binary patch literal 47392 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 z

      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 GkN*RxP|NE8 literal 0 HcmV?d00001 diff --git a/manual/overview/README.md b/manual/overview/README.md new file mode 100644 index 00000000..6b7372a3 --- /dev/null +++ b/manual/overview/README.md @@ -0,0 +1,8 @@ +# Overview + +* [Seafile Components](components.md) +* [File permission management](file_permission_management.md) +* [FAQ](../faq.md) +* [Changelog](../changelog.md) +* [Roadmap](../roadmap.md) +* [Contribution](../contribution.md) diff --git a/manual/overview/components.md b/manual/overview/components.md new file mode 100644 index 00000000..a2168d72 --- /dev/null +++ b/manual/overview/components.md @@ -0,0 +1,14 @@ +# Components Overview + +Seafile server consists of following components: + +- **Seahub** (django):the web frontend. Seafile server package contains a light-weight Python HTTP server gunicorn that serves the website. By default, Seahub runs as an application within gunicorn. You can also configure Seahub to run under WSGI mode behind Nginx or Apache. This is recommended for production setups. +- **Seafile server** (``seaf-server``):data service daemon, handles raw file upload, download and synchronization. Seafile server by default listens on port 8082. You can configure Nginx/Apache to proxy traffic to the local 8082 port. +- **Ccnet server** (``ccnet-server``): RPC service daemon to enable communication among multiple components. Ccnet is only used for internal communication. + +The picture below shows how Seafile clients access files when you configure Seafile behind Nginx/Apache. + +![Seafile Sync](../images/seafile-arch-new-http.png) + +- All access to the Seafile service (including Seahub and Seafile server) can be configured behind Nginx or Apache web server. This way all network traffic to the service can be encrypted with HTTPS. +- When user accesses Seahub, Seahub accesses data from Seafile server using Ccnet RPC. diff --git a/manual/overview/file_permission_management.md b/manual/overview/file_permission_management.md new file mode 100644 index 00000000..f11890b9 --- /dev/null +++ b/manual/overview/file_permission_management.md @@ -0,0 +1,19 @@ +# File permission management + +Seafile manages files using libraries. Every library has an owner, who can share the library to other users or share it with groups. The sharing can be read-only or read-write. + +## Read-only syncing + +Read-only libraries can be synced to local desktop. The modifications at the client will not be synced back. If a user has modified some file contents, he can use "resync" to revert the modifications. + + +## Cascading permission/Sub-folder permissions (Pro edition) + +Sharing controls whether a user or group can see a library, while sub-folder permissions are used to modify permissions on specific folders. + +Supposing you share a library as read-only to a group and then want specific sub-folders to be read-write for a few users, you can set read-write permissions on sub-folders for some users and groups. + +Note: + +* Setting sub-folder permission for a user without sharing the folder or parent folder to that user will have no effect. +* Sharing a library read-only to a user and then sharing a sub-folder read-write to that user will lead to two shared items for that user. This is going to cause confusion. Use sub-folder permissions instead. diff --git a/manual/roadmap.md b/manual/roadmap.md new file mode 100644 index 00000000..c1b27a78 --- /dev/null +++ b/manual/roadmap.md @@ -0,0 +1,3 @@ +# Roadmap + +Please check diff --git a/manual/scripts/deploy-manual.sh b/manual/scripts/deploy-manual.sh new file mode 100644 index 00000000..9ac723a3 --- /dev/null +++ b/manual/scripts/deploy-manual.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +set -e + +work_dir=/home/deploy +cd ${work_dir} +repo=${1:-seafile-docs} + +if ! [[ -e ${repo} ]]; then + echo "Cloing ${repo}" + git clone -q https://github.com/haiwen/${repo}.git +else + cd ${repo} + echo "Updating ${repo}" + git fetch -q origin + git reset --hard origin/master + git clean -fdx +fi + +cd ${work_dir}/${repo}/ +echo "Building ${repo}" +gitbook build > /dev/null && rm -rf /home/deploy/_book +mv ./_book /home/deploy/ + +echo "Reloading nginx" +sudo nginx -s reload +echo "done" diff --git a/manual/scripts/deploy.sh b/manual/scripts/deploy.sh new file mode 100644 index 00000000..437d5129 --- /dev/null +++ b/manual/scripts/deploy.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +set -e + +if [[ $DEPLOY_USER == "" || $DEPLOY_SERVER == "" || $DEPLOY_CMD == "" ]]; then + echo "Not configured properly." + exit 1 +fi + +if [[ $TRAVIS_BRANCH != "master" ]]; then + exit 0 +fi + +mkdir -p ~/.ssh +cat >~/.ssh/config <7j z;JO7JL50lGRq8Wtn_aO#Lb76~O#fbq*OKB>ZJV+)n~!H&op?vw%bbm4k6#+iAj8TH zq@cIdb_DF-Cx8h(JjHQD{NZo$1A<{(T_A6MHD+SVEisIHMdxcNjfSeP2YfhDIz!!EtH*l+@D&We zlRDhTc&Lq>)(v`JL(J|kn|e=}x2~D=W3mVIpkgX5AAI)w)|g?GwTmc@e(vgfOol7AXlTIC#Wq{8(CH^*bxV#>$d4jms8t@{g$QIyAQ~8;d49 z?BtjlQ{N@K$bc{zt$c{Fweg4XOPf6?hi>%zEH_y3K4Vvc_ffjN>HpA0iIV>kLF#Sx zwebkAC^g+uy=o*X?YCjKNA7fkh$i)A{V~W70ZMkQpV~c%dhW8gM43rsqJBH;dhiuL zjK$Y*If*(^t=I)%pv`-LoCJpwYh&y)#Bt+`C?tQzfn7w0$F@*YI0j+Hve2t@}u0 zv$I=-vip}cs$YgEU%%1*?8F48(Z6&*p*p%xVGpV@(Kc%KD)PD%A1fZto%5z1xo4^7;}HqN$! zs)|KX?%&y+!OtK-_pYZp2rKzD3M(wugRjq_gZrUi?t^J%2)+FAOD$9)jzav^uS3FH zO;SKdP{g2(Fzf8}3}a-7Of}B}oH_>C&vn$x4Hhgj3{r&V_Aq{c3sNOyw3zexC8~8u zu!T5IECPXgg#8s14u)Y=bqOS`fvwb}hZKxom~Arc_s*Q;F2p-ikPCalM#1O)3QCKW zpsFs0w>Tk#o-$vpD}f90xu64mps>odcMjpe<;7K9kVJBS+ij;D3;RQ;bOu2L0m{8~ z)oUKL6-14<_&V6K5PL5~yZ2Qr(Ivk5c{TpG%F$v|b)$;SDzf`p?~N#KOWzh0sxs{6 zF$1;&TF)Dd9zmoun3}sO03cK|YJ0LgME(@Z%f2e4yrEH}|W9e|fs zeEYJCd_-6J&ejth_ojbb5>zXGi{+fgw?k4I{^GyN4rN5KO5)8!xbZe4?3PF8ODsiM zB&74#M!KoQD@8MX;enP(o5P8-IF!mT*k?Su3U}!+^hB_sT}l)#I&6R4Djx%zt4VQ^ zIM(_HnavNT$U7&q$)a}JkL{@~?iWOR!Nkoyro<%GNop@Q>+6rc$Bqz*Qe3VD26heZ z>$CeHJyu#dNF9v-;Lg&F^VMEVsXn#Z!VK63@fN=*gGb6m)AQ}gMNNNM=g{;7F)uu3 z+NNcc<{K!X;RSRU4AA7i(pes^9EA9u$Quh%J*Gb3<2vHVS87K*$tQpHlU=rPde4Wi z_u07im>+bv(J(~L{4+^bu?+dRO!k3!nCyGvy-G8^^+d@YGDo*P5lvz-`OY#5L9^Pe zd-u4EtV}`snV}c@7?Nb$AGY(a0GhAL7O zu6$z_HFyqYnjB`7U_itI{m-}S5R)cTv)1W$(44{wA}pphw8@rH5Q@MRxr5`Yuhadr zq3pA$gM93YhpVw=)%4W0;H1`E-#JJ;30)*_siPWRwq|y$i-xEErnms&pgf3TO(v=s zP}@E7^H=7&xzVLo^KXfIuhE4(qjZAcO2K;F!!iB0>?Xm}?rLmi4(|yJ a(`RtxIjP+&ep}LFSR;piwetmAXG(Tp>P$NT literal 0 HcmV?d00001 diff --git a/manual/scripts/requirements.txt b/manual/scripts/requirements.txt new file mode 100644 index 00000000..271baf7e --- /dev/null +++ b/manual/scripts/requirements.txt @@ -0,0 +1 @@ +requests==2.18.4 diff --git a/manual/security/README.md b/manual/security/README.md new file mode 100644 index 00000000..887247c2 --- /dev/null +++ b/manual/security/README.md @@ -0,0 +1,13 @@ +# Security and auditing + +## Security features + +* [Security features](security_features.md) + +## Access log and auditing + +* [Access log and auditing](auditing.md) + +## Config fail2ban + +* [Config fail2ban](fail2ban.md) diff --git a/manual/security/auditing.md b/manual/security/auditing.md new file mode 100644 index 00000000..1b2c5e3e --- /dev/null +++ b/manual/security/auditing.md @@ -0,0 +1,22 @@ +# Access log and auditing + +In the Pro Edition, Seafile offers four audit logs in system admin panel: + +* Login log +* File access log (including access to shared files) +* File update log +* Permission change log + +![Seafile Auditing Log](../images/admin-audit-log.png) + +The logging feature is turned off by default before version 6.0. Add the following option to `seafevents.conf` to turn it on: + +``` +[Audit] +## Audit log is disabled default. +## Leads to additional SQL tables being filled up, make sure your SQL server is able to handle it. +enabled = true +``` + + +The audit log data is being saved in `seahub-db`. diff --git a/manual/security/fail2ban.md b/manual/security/fail2ban.md new file mode 100644 index 00000000..71955b80 --- /dev/null +++ b/manual/security/fail2ban.md @@ -0,0 +1,147 @@ +# seafile-authentication-fail2ban + +#### What is fail2ban ? + +Fail2ban is an intrusion prevention software framework which protects computer servers from brute-force attacks. Written in the Python programming language, it is able to run on POSIX systems that have an interface to a packet-control system or firewall installed locally, for example, iptables or TCP Wrapper. + +(Definition from wikipedia - https://en.wikipedia.org/wiki/Fail2ban) + +#### Why do I need to install this fail2ban's filter ? + +To protect your seafile website against brute force attemps. Each time a user/computer tries to connect and fails 3 times, a new line will be write in your seafile logs (`seahub.log`). + +Fail2ban will check this log file and will ban all failed authentications with a new rule in your firewall. + +## Installation + +#### Change to right Time Zone in seahub_settings.py + +***WARNING: Without this your Fail2Ban filter will not work.*** + +You need to add the following settings to seahub_settings.py but change it to your own time zone. +``` + # TimeZone + TIME_ZONE = 'Europe/Stockholm' + +``` + +#### Copy and edit jail.local file + +***WARNING: this file may override some parameters from your `jail.conf` file*** + +Edit `jail.local` with : +* ports used by your seafile website (e.g. `http,https`) ; +* logpath (e.g. `/home/yourusername/logs/seahub.log`) ; +* maxretry (default to 3 is equivalent to 9 real attemps in seafile, because one line is written every 3 failed authentications into seafile logs). + +#### Create the file `jail.local` in `/etc/fail2ban` with the following content: + +``` +# All standard jails are in the file configuration located +# /etc/fail2ban/jail.conf + +# Warning you may override any other parameter (e.g. banaction, +# action, port, logpath, etc) in that section within jail.local + +# Change logpath with your file log used by seafile (e.g. seahub.log) +# Also you can change the max retry var (3 attemps = 1 line written in the +# seafile log) +# So with this maxrety to 1, the user can try 3 times before his IP is banned + +[seafile] + +enabled = true +port = http,https +filter = seafile-auth +logpath = /home/yourusername/logs/seahub.log +maxretry = 3 +``` + +#### Create the fail2ban filter file `seafile-auth.conf` in `/etc/fail2ban/filter.d` with the following content: + +``` +# Fail2Ban filter for seafile +# + +[INCLUDES] + +# Read common prefixes. If any customizations available -- read them from +# common.local +before = common.conf + +[Definition] + +_daemon = seaf-server + +failregex = Login attempt limit reached.*, ip: + +ignoreregex = + +# DEV Notes: +# +# pattern : 2015-10-20 15:20:32,402 [WARNING] seahub.auth.views:155 login Login attempt limit reached, username: , ip: 1.2.3.4, attemps: 3 +# 2015-10-20 17:04:32,235 [WARNING] seahub.auth.views:163 login Login attempt limit reached, ip: 1.2.3.4, attempts: 3 +``` + + +#### Restart fail2ban + +Finally, just restart fail2ban and check your firewall (iptables for me) : + +``` +sudo fail2ban-client reload +sudo iptables -S +``` + +Fail2ban will create a new chain for this jail. +So you should see these new lines : + +``` +... +-N fail2ban-seafile +... +-A fail2ban-seafile -j RETURN +``` + +## Tests + +To do a simple test (but you have to be an administrator on your seafile server) go to your seafile webserver URL and try 3 authentications with a wrong password. + +Actually, when you have done that, you are banned from http and https ports in iptables, thanks to fail2ban. + +To check that : + +on fail2ban + +``` +denis@myserver:~$ sudo fail2ban-client status seafile +Status for the jail: seafile +|- filter +| |- File list: /home//logs/seahub.log +| |- Currently failed: 0 +| `- Total failed: 1 +`- action + |- Currently banned: 1 + | `- IP list: 1.2.3.4 + `- Total banned: 1 +``` + +on iptables : + +``` +sudo iptables -S + +... +-A fail2ban-seafile -s 1.2.3.4/32 -j REJECT --reject-with icmp-port-unreachable +... +``` + +To unban your IP address, just execute this command : + +``` +sudo fail2ban-client set seafile unbanip 1.2.3.4 +``` + +## Note + +As three (3) failed attempts to login will result in one line added in seahub.log a Fail2Ban jail with the settings maxretry = 3 is the same as nine (9) failed attempts to login. diff --git a/manual/security/security_features.md b/manual/security/security_features.md new file mode 100644 index 00000000..61084941 --- /dev/null +++ b/manual/security/security_features.md @@ -0,0 +1,54 @@ +# Security Questions + +## How is the connection between client and server encrypted? + +Seafile uses HTTP(S) to syncing files between client and server (Since version 4.1.0). + +## Encrypted Library + +Seafile provides a feature called encrypted library to protect your privacy. The file encryption/decryption is performed on client-side when using the desktop client for file synchronization. The password of an encrypted library is not stored on the server. **Even the system admin of the server can't view the file contents - they can however view the metadata [which are currently not encrypted](https://github.com/haiwen/seafile/issues/350).** The metadata includes: the complete list of directory and file names, every files size, the history of editors, when, and what byte ranges were altered. + +CAUTION: The client side encryption does currently NOT work while using the web browser and the cloud file explorer of the desktop client. When you are browsing encrypted libraries via the web browser or the cloud file explorer, you need to input the password and the server is going to use the password to decrypt the "file key" for the library (see description below) and cache the password in memory for one hour. The plain text password is never stored or cached on the server. + +The client side encryption works on iOS client since version 2.1.6. The Android client support client side encryption since version 2.1.0. + + +## How does an encrypted library work? + +When you create an encrypted library, you'll need to provide a password for it. All the data in that library will be encrypted with the password before uploading it to the server (see limitations above). + +The encryption procedure is: + +1. Generate a 32-byte long cryptographically strong random number. This will be used as the file encryption key ("file key"). +2. Encrypt the file key with the user provided password. We first use PBKDF2 algorithm (1000 iterations of SHA256) to derive a key/iv pair from the password, then use AES 256/CBC to encrypt the file key. The result is called the "encrypted file key". This encrypted file key will be sent to and stored on the server. When you need to access the data, you can decrypt the file key from the encrypted file key. +3. All file data is encrypted by the file key with AES 256/CBC. We use PBKDF2 algorithm (1000 iterations of SHA256) to derive key/iv pair from the file key. After encryption, the data is uploaded to the server. + +The above encryption procedure can be executed on the desktop and the mobile client. The Seahub browser client uses a different encryption procedure that happens at the server. Because of this your password will be transferred to the server. + +When you sync an encrypted library to the desktop, the client needs to verify your password. When you create the library, a "magic token" is derived from the password and library id. This token is stored with the library on the server side. The client use this token to check whether your password is correct before you sync the library. The magic token is generated by PBKDF2 algorithm with 1000 iterations of SHA256 hash. + +For maximum security, the plain-text password won't be saved on the client side, too. The client only saves the key/iv pair derived from the "file key", which is used to decrypt the data. So if you forget the password, you won't be able to recover it or access your data on the server. + +## Why fileserver delivers every content to everybody knowing the content URL of an unshared private file? + +When a file download link is clicked, a random URL is generated for user to access the file from fileserver. This url can only be access once. After that, all access will be denied to the url. So even if someone else happens to know about the url, he can't access it anymore. + +## How does Seafile store user login password? + +User login passwords are stored in hash form only. Note that user login password is different from the passwords used in encrypted libraries. In the database, its format is + +``` +PBKDF2SHA256$iterations$salt$hash +``` + +The record is divided into 4 parts by the $ sign. + +- The first part is the used hash algorithm. Currently we use PBKDF2 with SHA256. It can be changed to an even stronger algorithm if needed. +- The second part is the number of iterations of the hash algorithm +- The third part is the random salt used to generate the hash +- The fourth part is the final hash generated from the password + +To calculate the hash: + +- First, generate a 32-byte long cryptographically strong random number, use it as the salt. +- Calculate the hash with `PBKDF2(password, salt, iterations)`. The number of iterations is currently 10000. diff --git a/manual/upgrade/ce-7.0.md b/manual/upgrade/ce-7.0.md new file mode 100644 index 00000000..1b0e4a6c --- /dev/null +++ b/manual/upgrade/ce-7.0.md @@ -0,0 +1,50 @@ +# ce-7.0 + +## Common Problems + +### Not able to open Markdown file + +If after upgrading to 7.0, you are not able to open Markdown file and if your seahub.log containing the following error, it is caused by you forgot to migrate file comment when you upgrade to 6.3 version. + +![](./image-1558745192334.png) + + + +You can delete the table base_filecomment and recreate the table. + +``` +CREATE TABLE `base_filecomment` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `author` varchar(255) NOT NULL, + `comment` longtext NOT NULL, + `created_at` datetime NOT NULL, + `updated_at` datetime NOT NULL, + `uuid_id` char(32) NOT NULL, + `detail` longtext NOT NULL, + `resolved` tinyint(1) NOT NULL, + + PRIMARY KEY (`id`), + KEY `base_filecomment_uuid_id_4f9a2ca2_fk_tags_fileuuidmap_uuid` (`uuid_id`), + KEY `base_filecomment_author_8a4d7e91` (`author`), + KEY `base_filecomment_resolved_e0717eca` (`resolved`), + CONSTRAINT `base_filecomment_uuid_id_4f9a2ca2_fk_tags_fileuuidmap_uuid` FOREIGN KEY (`uuid_id`) REFERENCES `tags_fileuuidmap` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +``` + +If you are using SQLite, the corresponding SQL is: + +``` +CREATE TABLE "base_filecomment" ( +"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, + "author" varchar(255) NOT NULL, + "comment" text NOT NULL, +"created_at" datetime NOT NULL, +"updated_at" datetime NOT NULL, +"uuid_id" char(32) NOT NULL REFERENCES "tags_fileuuidmap" ("uuid"), +"detail" text NOT NULL, +"resolved" bool NOT NULL); + +``` + + diff --git a/manual/upgrade/image-1558745192334.png b/manual/upgrade/image-1558745192334.png new file mode 100644 index 0000000000000000000000000000000000000000..e4887ecd094fdca615bef8cdc8567aa8d09d4a6d GIT binary patch literal 173735 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≧uJyGd@s5R)P$E-d!IVU<_@sNp5 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

      e?Nv5hUK?ahXyqU+#~;Vqd6JrP zEjnF_d@jb?dW?nnRW_DqS)IMDmZQu~#z`f`^=c99jxpFyy5|^u2ij?^ zvQTbLGIM>2_(F{ES3bv)%{&1^nyu(6%hOXVE-W*>@j)1yC8M4OyUl^wVkDW`A|BsT z7OMx={bE~$(hzx(8?XKZf!w^i=tS_7Toh)+4}lkOHSD3%Va1!&VgXKikXg%z3kou!~u-9MaT zG7ZxkS^efQ%#e5Oi zvpWju-E+if@({G>a2i0$=P0DpO1>YJ`DHtTBDuaq{Ps=I4`2y+sVFN$yYDH=*Kff2 z2WhU2J(9Yvt9Gneky=vG*|GsBc*!eU%N+K98V_MkHE*U{gPRi_Yy^Ri<6aaXqx zsH&mNTaM4+A>=Y(H|IzsR#{tJWBhwjYP@DefwHY=`cMxQE~P07lAp9b#DV=~)K|IL zimq|<)G20GlZa)mG=}N|jbi-K`6AfM!!-B9u?(_FkJ;kFZ7oO2 zWr;7HXKD5fBPLi91`V;$IxDf1g=nepQs%YeG?_8$MFK<(xm<>HI!1hLk+tzL7Dks5 zaj2iZ@kfkOK_IG-&sk_VvY+zmN_>emj5AlcJ2}niwFpg}4TStY>_#&-eFl?uhK=

      e) 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%0AOTI3x$|#w_vR(;WK66i^;paSuv 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

      _O@Uo+tEjc$rj&b?A8k3 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 D{LOsV literal 0 HcmV?d00001 diff --git a/manual/upgrade/image-1558745374080.png b/manual/upgrade/image-1558745374080.png new file mode 100644 index 0000000000000000000000000000000000000000..453d7c0208a48ee91047f3ab053d5f50ecb4ca3d GIT binary patch literal 52069 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 TQln + +# Change the value of "seafile_dir" to your path of seafile installation +user=seafile +seafile_dir=/opt/seafile +script_path=${seafile_dir}/seafile-server-latest +seafile_init_log=${seafile_dir}/logs/seafile.init.log +seahub_init_log=${seafile_dir}/logs/seahub.init.log + +case "$1" in + start) + sudo -u ${user} ${script_path}/seafile.sh $1 >> ${seafile_init_log} + sudo -u ${user} ${script_path}/seahub.sh $1 >> ${seahub_init_log} + ;; + restart) + sudo -u ${user} ${script_path}/seafile.sh $1 >> ${seafile_init_log} + sudo -u ${user} ${script_path}/seahub.sh $1 >> ${seahub_init_log} + ;; + stop) + sudo -u ${user} ${script_path}/seafile.sh $1 >> ${seafile_init_log} + sudo -u ${user} ${script_path}/seahub.sh $1 >> ${seahub_init_log} + ;; + *) + echo "Usage: /etc/init.d/seafile-server {start|stop|restart}" + exit 1 + ;; +esac + +``` + +### Upgrade Seafile + +Stop running the current seafile service: + +``` +su - seafile +cd /opt/seafile/seafile-server-latest +./seafile.sh stop +./seahub.sh stop + +``` + +Download the seafile-pro 7.0.x package and extract it to the Seafile installation directory `/opt/seafile`; then execute the upgrade script: + +``` +cd /opt/seafile/seafile-pro-server-7.0.x/upgrade/ +./upgrade_6.3_7.0.sh + +``` + +After the upgrade script is successfully executed, start the Seafile service: + +``` +cd /opt/seafile/seafile-server-latest +./seafile.sh start +./seahub.sh start + +``` + +## Features Modification + +### Encrypted libraries + +Note, to enable using new encrypted libraries with different salt for different libraries, you need to add the following configuration to seahub_setting.py + +``` +ENCRYPTED_LIBRARY_VERSION = 3 + +``` + +Currently the mobile clients and desktop clients does not supported new version of encrypted library yet. After we upgrade the clients, we will make the setting as default. + +### File history + +Recording file history to database for fast access is enabled by default for 'Markdown, .txt, ppt, pptx, doc, docx, xls, xlsx'. To disable the feature or to modified the file list, you can add the following settings to seafevents.conf + +``` +[FILE HISTORY] +enabled = false +suffix = md,txt,... + +``` + +After enable the feature, the old histories version for markdown, doc, docx files will not be list in the history page. (Only new histories that stored in database will be listed) But the users can still access the old versions in the library snapshots. + +For file types not listed in the `suffix` , histories version will be scanned from the library history as before. + +### File activities + +The file activities feature are redesigned. We use a new database table to record file activities. The old activities will not be displayed. + +### Wikis + +In version 6.3, users can create public or private Wikis. In version 7.0, private Wikis is replaced by column mode view. Every library has a column mode view. So users don't need to explicitly create private Wikis. + +Public Wikis are now renamed to published libraries. + +There are two role permissions that control whether a user can create public Wikis, share link permission and publish library permission. A user must have both the permissions to be able to use public Wikis. + +## Common Problems + +### Not able to open Markdown file + +If after upgrading to 7.0, you are not able to open Markdown file and if your seahub.log containing the following error, it is caused by you forgot to migrate file comment when you upgrade to 6.3 version. + +![](./image-1558745192334.png) + + + +You can delete the table base_filecomment and recreate the table. + +``` +CREATE TABLE `base_filecomment` ( + + `id` int(11) NOT NULL AUTO_INCREMENT, + `author` varchar(255) NOT NULL, + + `comment` longtext NOT NULL, + `created_at` datetime NOT NULL, + + `updated_at` datetime NOT NULL, + `uuid_id` char(32) NOT NULL, + + `detail` longtext NOT NULL, + `resolved` tinyint(1) NOT NULL, + + PRIMARY KEY (`id`), + KEY `base_filecomment_uuid_id_4f9a2ca2_fk_tags_fileuuidmap_uuid` (`uuid_id`), + + KEY `base_filecomment_author_8a4d7e91` (`author`), + + KEY `base_filecomment_resolved_e0717eca` (`resolved`), + + CONSTRAINT `base_filecomment_uuid_id_4f9a2ca2_fk_tags_fileuuidmap_uuid` FOREIGN KEY (`uuid_id`) REFERENCES `tags_fileuuidmap` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +``` + + diff --git a/manual/upgrade/upgrade.md b/manual/upgrade/upgrade.md new file mode 100644 index 00000000..a984429b --- /dev/null +++ b/manual/upgrade/upgrade.md @@ -0,0 +1,178 @@ +# Upgrade manual + +There are three types of upgrade, i.e., major version upgrade, minor version upgrade and maintenance version upgrade. This page contains general instructions for the three types of upgrade. It also contains special notes for each version. + +* After upgrading, you may need to clean [seahub cache](../deploy/add_memcached.md) if it doesn't behave as expect. +* If you are running a **cluster**, please read [upgrade a Seafile cluster](../deploy_pro/upgrade_a_cluster.md). + +## Special upgrade notes + +Please check the **upgrade notes** for any special configuration or changes before/while upgrading. + +* [Upgrade notes for 5.x.x](./upgrade_notes_for_5.x.x.md) +* [Upgrade notes for 6.x.x](./upgrade_notes_for_6.x.x.md) +* [Upgrade notes for 7.0.x](./upgrade_notes_for_7.0.x.md) +* [Upgrade notes for 7.1.x](./upgrade_notes_for_7.1.x.md) + +## Major version upgrade (e.g. from 5.x.x to 6.y.y) + +Suppose you are using version 5.1.0 and like to upgrade to version 6.1.0. First download and extract the new version. You should have a directory layout similar to this: + +``` +seafile + -- seafile-server-5.1.0 + -- seafile-server-6.1.0 + -- ccnet + -- seafile-data + +``` + +Now upgrade to version 6.1.0. + +1. Shutdown Seafile server if it's running + + ```sh + cd seafile/seafile-server-latest + ./seahub.sh stop + ./seafile.sh stop + # or via service + /etc/init.d/seafile-server stop + + ``` + +2. Check the upgrade scripts in seafile-server-6.1.0 directory. + + ```sh + cd seafile/seafile-server-6.1.0 + ls upgrade/upgrade_* + + ``` + + You will get a list of upgrade files: + + ``` + ... + upgrade_5.0_5.1.sh + upgrade_5.1_6.0.sh + upgrade_6.0_6.1.sh + + ``` + +3. Start from your current version, run the script(s one by one) + + ``` + upgrade/upgrade_5.1_6.0.sh + upgrade/upgrade_6.0_6.1.sh + + ``` + +4. Start Seafile server + + ```sh + cd seafile/seafile-server-latest/ + ./seafile.sh start + ./seahub.sh start # or "./seahub.sh start-fastcgi" if you're using fastcgi + # or via service + /etc/init.d/seafile-server start + + ``` + +5. If the new version works fine, the old version can be removed + + ```sh + rm -rf seafile-server-5.1.0/ + + ``` + +## Minor version upgrade (e.g. from 6.1.x to 6.2.y) + +Suppose you are using version 6.1.0 and like to upgrade to version 6.2.0. First download and extract the new version. You should have a directory layout similar to this: + +``` +seafile + -- seafile-server-6.1.0 + -- seafile-server-6.2.0 + -- ccnet + -- seafile-data + +``` + +Now upgrade to version 6.2.0. + +1. Shutdown Seafile server if it's running + + ```sh + cd seafile/seafile-server-latest + ./seahub.sh stop + ./seafile.sh stop + # or via service + /etc/init.d/seafile-server stop + + ``` + +2. Check the upgrade scripts in seafile-server-6.2.0 directory. + + ```sh + cd seafile/seafile-server-latest + ls upgrade/upgrade_* + + ``` + + You will get a list of upgrade files: + + ``` + ... + upgrade/upgrade_5.1_6.0.sh + upgrade/upgrade_6.0_6.1.sh + upgrade/upgrade_6.1_6.2.sh + + ``` + +3. Start from your current version, run the script(s one by one) + + ``` + upgrade/upgrade_6.1_6.2.sh + + ``` + +4. Start Seafile server + + ```sh + cd seafile/seafile-server-latest/ + ./seafile.sh start + ./seahub.sh start # or "./seahub.sh start-fastcgi" if you're using fastcgi + # or via service + /etc/init.d/seafile-server start + + ``` + +5. If the new version works, the old version can be removed + + ```sh + rm -rf seafile-server-6.1.0/ + + ``` + +## Maintenance version upgrade (e.g. from 6.2.2 to 6.2.3) + +A maintenance upgrade is for example an upgrade from 6.2.2 to 6.2.3. + +1. Shutdown Seafile server if it's running +2. For this type of upgrade, you only need to update the symbolic links (for avatar and a few other folders). + A script to perform a minor upgrade is provided with Seafile server (for history reasons, the script is called `minor-upgrade.sh`): + + ```sh + cd seafile-server-latest + upgrade/minor-upgrade.sh + + ``` + +3. Start Seafile +4. If the new version works, the old version can be removed + + ```sh + rm -rf seafile-server-6.2.2/ + + ``` + + diff --git a/manual/upgrade/upgrade_notes_for_5.x.x.md b/manual/upgrade/upgrade_notes_for_5.x.x.md new file mode 100644 index 00000000..ea594626 --- /dev/null +++ b/manual/upgrade/upgrade_notes_for_5.x.x.md @@ -0,0 +1,35 @@ +# Upgrade notes for 5.x.x + +These notes give additional information about changes. +Please always follow the main [upgrade guide](./upgrade.md). + +## Important release changes + +**In Seafile 5.0, we moved all config files to the folder \*\***`/seafile-root/conf`\***\*, including:** + +* seahub_settings.py -> conf/seahub_settings.py +* ccnet/ccnet.conf -> conf/ccnet.conf +* seafile-data/seafile.conf -> conf/seafile.conf +* \[pro only] pro-data/seafevents.conf -> conf/seafevents.conf + +## V5.1.4 + +**Python upgrade** +If you upgrade to 5.1.4+, you need to install the python-urllib3: + +``` +# for Ubuntu 16.04 +sudo apt-get install python-urllib3 + +# for Debian 8 +apt-get install python-urllib3 + +# for Centos 7 +sudo yum install python-urllib3 + +# for Arch Linux +pacman -Sy python2-urllib3 + +``` + + diff --git a/manual/upgrade/upgrade_notes_for_6.x.x.md b/manual/upgrade/upgrade_notes_for_6.x.x.md new file mode 100644 index 00000000..5cd83ea7 --- /dev/null +++ b/manual/upgrade/upgrade_notes_for_6.x.x.md @@ -0,0 +1,58 @@ +# Upgrade notes for 6.x.x + +These notes give additional information about changes. +Please always follow the main [upgrade guide](./upgrade.md). + +## Important release changes + +From this version, the Wiki module is hidden by default. Users will not be able to turn it on. For compatibility with older versions, it can be turned on by adding the following line to `seahub_settings.py`: + +```python +ENABLE_WIKI = True + +``` + +## V6.1.0 + +### Video Thumbnails + +Enable or disable thumbnail for video. ffmpeg and moviepy should be installed first. +For details, please refer to the [manual](../deploy/video_thumbnails.md). + +### OnlyOffice + +The system requires some minor changes to support the OnlyOffice document server. +Please follow the instructions [here](../deploy/only_office.md). + +### Pip Pillow upgrade + +``` +# for Ubuntu 16.04 +sudo apt-get install libjpeg-dev +pip install --upgrade Pillow +# If the pillow installation fails you may install +# "build-dep python-imaging" instead of just "libjpeg-dev" + +# for Debian 8 +apt-get install libjpeg-dev +pip install --upgrade Pillow + +# If the pillow installation fails you may install +# "build-dep python-imaging" instead of just "libjpeg-dev" + +# for Centos 7 +sudo yum install libjpeg-dev +pip install --upgrade Pillow + +``` + +### Seahub does not start + +In case Seahub does not start after the upgrade, install python-requests. + +```bash +sudo apt-get install python-requests + +``` + + diff --git a/manual/upgrade/upgrade_notes_for_7.0.x.md b/manual/upgrade/upgrade_notes_for_7.0.x.md new file mode 100644 index 00000000..96802f66 --- /dev/null +++ b/manual/upgrade/upgrade_notes_for_7.0.x.md @@ -0,0 +1,12 @@ +# Upgrade notes for 7.0.x + +These notes give additional information about changes. +Please always follow the main [upgrade guide](./upgrade.md). + +## Upgrade notes for CE-7.0.x + +If you are currently using the Seafile Community Edition, please refer to [Upgrade notes for CE-7.0.x](./ce-7.0.md). + +## Upgrade notes for Pro-7.0.x + +If you are currently using Seafile Professional, please refer to [Upgrade notes for Pro-7.0.x](pro-7.0.md). \ No newline at end of file diff --git a/manual/upgrade/upgrade_notes_for_7.1.x.md b/manual/upgrade/upgrade_notes_for_7.1.x.md new file mode 100644 index 00000000..9250ba30 --- /dev/null +++ b/manual/upgrade/upgrade_notes_for_7.1.x.md @@ -0,0 +1,201 @@ +# Upgrade notes for 7.1.x + +These notes give additional information about changes. +Please always follow the main [upgrade guide](./upgrade.md). + +## Important release changes + +From 7.1.0 version, Seafile will depend on the Python 3 and is not compatible with Python 2. + +Therefore you cannot upgrade directly from Seafile 6.x.x to 7.1.x. + +**If your current version of Seafile is not 7.0.x, you must first download the 7.0.x installation package and **[**upgrade to 7.0.x**](./upgrade_notes_for_7.0.x.md)** before performing the subsequent operations.** + +To support both Python 3.6 and 3.7, we no longer bundle python libraries with Seafile package. You need to install most of the libraries by your own as bellow. + +### Deploy Python3 + +Note, you should install Python libraries system wide using root user or sudo mode. + +#### Seafile-CE + +* For Ubuntu 16.04/18.04 or Debian 10 + + ```sh + apt-get install python3 python3-setuptools python3-pip -y + + sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \ + django-pylibmc django-simple-captcha python3-ldap + + ``` + +* For CentOS 7/8 + + ```sh + yum install python3 python3-setuptools python3-pip -y + + sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \ + django-pylibmc django-simple-captcha python3-ldap + + ``` + +#### Seafile-Pro + +* For Ubuntu 16.04/18.04 or Debian 10 + + ```sh + apt-get install python3 python3-setuptools python3-pip -y + + sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \ + django-pylibmc django-simple-captcha python3-ldap + + ``` + +* For CentOS 7/8 + + ```sh + yum install python3 python3-setuptools python3-pip -y + + sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \ + django-pylibmc django-simple-captcha python3-ldap + + ``` + +### Upgrade to 7.1.x + +1. Stop Seafile-7.0.x server. +2. Start from Seafile 7.0.x, run the script: + + ```sh + upgrade/upgrade_7.0_7.1.sh + + ``` + +3. Clear the Seahub cache: + + ``` + rm -rf /tmp/seahub_cache # Clear the Seahub cache files from disk. + # If you are using the Memcached service, you need to restart the service to clear the Seahub cache. + systemctl restart memcached + + ``` + +4. Start Seafile-7.1.x server. + +### Proxy Seafdav + +After Seafile 7.1.x, Seafdav does not support Fastcgi, only Wsgi. + +This means that if you are using Seafdav functionality and have deployed Nginx or Apache reverse proxy. You need to change Fastcgi to Wsgi. + +#### For Nginx + +For Seafdav, the configuration of Nginx is as follows: + +``` +..... + location /seafdav { + proxy_pass http://127.0.0.1:8080/seafdav; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 1200s; + client_max_body_size 0; + + access_log /var/log/nginx/seafdav.access.log seafileformat; + error_log /var/log/nginx/seafdav.error.log; + } + +``` + +#### For Apache + +For Seafdav, the configuration of Apache is as follows: + +``` +...... + + ProxyPass "http://127.0.0.1:8080/seafdav" + + +``` + +### Builtin office file preview + +The implementation of builtin office file preview has been changed. You should update your configuration according to: + + + +### If you are using Ceph backend + +If you are using Ceph storage backend, you need to install new python library. + +On Debian/Ubuntu (Seafile 7.1+): + +``` +sudo apt-get install python3-rados + +``` + +### Login Page Customization + +If you have customized the login page or other html pages, as we have removed some old javascript libraries, your customized pages may not work anymore. Please try to re-customize based on the newest version. + +### User name encoding issue with Shibboleth login + +> Note, the following patch is included in version pro-7.1.8 and ce-7.1.5 already. + +We have two customers reported that after upgrading to version 7.1, users login via Shibboleth single sign on have a wrong name if the name contains a special character. We suspect it is a Shibboleth problem as it does not sending the name in UTF-8 encoding to Seafile. () + +The solution is to modify the code in seahub/thirdpart/shibboleth/middleware.py: + +``` +158 if nickname.strip(): # set nickname when it's not empty +159 p.nickname = nickname + +to + +158 if nickname.strip(): # set nickname when it's not empty +159 p.nickname = nickname.encode("iso-8859-1”).decode('utf8') + +``` + +If you have this problem too, please let us know. + +## FAQ + +### SQL Error during upgrade + +The upgrade script will try to create a missing table and remove an used index. The following SQL errors are jus warnings and can be ignored: + +``` +[INFO] updating seahub database... +/opt/seafile/seafile-server-7.1.1/seahub/thirdpart/pymysql/cursors.py:170: Warning: (1050, "Table 'base_reposecretkey' already exists") + result = self._query(query) +[WARNING] Failed to execute sql: (1091, "Can't DROP 'drafts_draft_origin_file_uuid_7c003c98_uniq'; check that column/key exists") + +``` + +### Internal server error after upgrade to version 7.1 + +Please check whether the seahub process is running in your server. If it is running, there should be an error log in seahub.log for internal server error. + +If seahub process is not running, you can modify conf/gunicorn.conf, change `daemon = True`  to `daemon = False`  , then run ./seahub.sh again. If there are missing Python dependencies, the error will be reported in the terminal. + +The most common issue is that you use an old memcache configuration that depends on python-memcache. The new way is + +``` +'BACKEND': 'django_pylibmc.memcached.PyLibMCCache' + +``` + +The old way is + +``` +'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', + +``` + + diff --git a/manual/upgrade/upgrade_notes_for_8.0.md b/manual/upgrade/upgrade_notes_for_8.0.md new file mode 100644 index 00000000..ffbb1045 --- /dev/null +++ b/manual/upgrade/upgrade_notes_for_8.0.md @@ -0,0 +1,14 @@ +# Upgrade notes for 8.0 + +These notes give additional information about changes. +Please always follow the main [upgrade guide](./upgrade.md). + +## Important release changes + +From 8.0, ccnet-server component is removed. But ccnet.conf is still needed. + +There are no special steps needed when upgrading from 7.1 to 8.0. + +## FAQ + + diff --git a/manual/upgrade/upgrade_with_mysql_or_postgresql.md b/manual/upgrade/upgrade_with_mysql_or_postgresql.md new file mode 100644 index 00000000..6be912d7 --- /dev/null +++ b/manual/upgrade/upgrade_with_mysql_or_postgresql.md @@ -0,0 +1,167 @@ +#Seafile +## Upgrade with MySQL or PostgreSQL + +First, download the new version, for example seafile-server_1.6.0_x86-64.tar.gz, and extract it to the directory where you put all Seafile related staff. You should have a directory layout similar to this: + +``` +haiwen + -- seafile-server-1.5.0 + -- seafile-server-1.6.0 + -- ccnet + -- seafile-data +``` + +## Major Continuous Upgrade (like from 1.5 to 1.6) + +Major continuous upgrade including upgrading from 1.5.0 to 1.6.0 or upgrading from 1.5.0 to 1.6.1. It involves four steps: + +1. Stop Seafile/Seahub +2. Update avatars folder and database tables +3. Update Nginx/Apache configs +4. Restart Seafile/Seahub + +### 2. Update avatars folder and database tables (After Seafile Server 2.1.1 for MySQL) + +Since seafile server 2.1.1, You can upgrade the the avatars folder and the databases using the upgrade scripts. The script's name is like `upgrade_X.X_Y.Y.sh`. For example, assume you are upgrading from seafile server 2.0.0 to seafile server 2.1.1, the you should run the `upgrade_2.0_2.1.sh` script. + +```sh +cd seafile-server-2.1.1/ +./upgrade/upgrade_2.0_2.1.sh +``` + +The script would update the avatars folder and the database tables for you. + +### 2. Update avatars folder and database tables (For PostgreSQL and before Seafile Server 2.1.1) + +Before Seafile Server 2.1.1 or if you are using PostgreSQL, you have to manually: + +- update the avatars folder symbolic link +- update and the database tables + +#### Update avatars symbolic link + +Assume your top level directory is `/data/haiwen/`, and you are upgrading to seafile server version 1.6.0: + +``` +cd /data/haiwen +cp -a seafile-server-1.6.0/seahub/media/avatars/* seahub-data/avatars/ +rm -rf seafile-server-1.6.0/seahub/media/avatars +#the new server avatars' folder will be linked to the updated avatars folder +ln -s -t seafile-server-1.6.0/seahub/media/ ../../../seahub-data/avatars/ +``` + +#### Update database tables + +When a new version of seafile server is released, there may be changes to the database of seafile/seahub/ccnet. We provide the sql statements to update the databases: + +- `upgrade/sql//mysql/seahub.sql`, for changes to seahub database +- `upgrade/sql//mysql/seafile.sql`, for changes to seafile database +- `upgrade/sql//mysql/ccnet.sql`, for changes to ccnet database + +To apply the changes, just execute the sqls in the correspondent database. If any of the sql files above do not exist, it means the new version does not bring changes to the correspondent database. + +```sh +seafile-server-1.6.0 +├── seafile +├── seahub +├── upgrade + ├── sql + ├── 1.6.0 + ├── mysql + ├── seahub.mysql + ├── seafile.mysql + ├── ccnet.mysql +``` + + +### 3. Update Nginx/Apache Config + +For Nginx: + +``` + location /media { + root /data/haiwen/seafile-server-1.6.0/seahub; + } +``` + +For Apache: + +``` +Alias /media /data/haiwen/seafile-server-1.6.0/seahub/media +``` + +**Tip:** +You can create a symbolic link `seafile-server-latest`, and make it point to your current seafile server folder (Since seafile server 2.1.0, the `setup-seafile.sh` script will do this for your). Then, each time you run a upgrade script, it would update the `seafile-server-latest` symbolic link to keep it always point to the latest version seafile server folder. + +In this case, you can write: + +``` + location /media { + root /data/haiwen/seafile-server-latest/seahub; + } +``` + +or For Apache: + +``` +Alias /media /data/haiwen/seafile-server-latest/seahub/media +``` + +This way, you no longer need to update the nginx/apache config file each time you upgrade your seafile server. + + +### 4. Restart Seafile/Seahub/Nginx/Apache + +After done above updating, now restart Seafile/Seahub/Nginx/Apache to see the new version at work! + +## Noncontinuous Upgrade (like from 1.1 to 1.3) + +You may also upgrade a few versions at once, e.g. from 1.1.0 to 1.3.0. +The procedure is: + +1. upgrade from 1.1.0 to 1.2.0; +2. upgrade from 1.2.0 to 1.3.0. + + +## Minor upgrade (like from 1.5.0 to 1.5.1) + +Minor upgrade is like an upgrade from 1.5.0 to 1.5.1. + +Here is our dir strutcutre + +``` +haiwen + -- seafile-server-1.5.0 + -- seafile-server-1.5.1 + -- ccnet + -- seafile-data +``` + +### Update the avatar link + +We provide a script for you, just run it: + +```sh +cd seafile-server-1.5.1 +upgrade/minor-upgrade.sh +``` + +### Update Nginx/Apache Config + +For Nginx: + +``` + location /media { + root /data/haiwen/seafile-server-1.5.1/seahub; + } +``` + +For Apache: + +``` +Alias /media /data/haiwen/seafile-server-1.5.1/seahub/media +``` + +### Restart Seafile/Seahub/Nginx/Apache + +After done above updating, now restart Seafile/Seahub/Nginx/Apache to see the new version at work! diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..69159d57 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,186 @@ +site_name: Seafile Admin Docs +site_author: seafile +docs_dir: ./manual +site_url: https://haiwen.github.io/seafile-admin-docs/ + +repo_name: haiwen/seafile-admin-docs +repo_url: https://github.com/haiwen/seafile-admin-docs/ + +copyright: Copyright © 2020 seafile + +theme: + name: material + logo: media/seafile-transparent-1024.png + favicon: media/favicon.ico + palette: + primary: deep orange + accent: + +plugins: + - search + - awesome-pages + +# Customization +extra: + social: + - icon: fontawesome/brands/github + link: https://github.com/haiwen/seafile-admin-docs/ + +# Extensions +markdown_extensions: + - markdown.extensions.admonition + - markdown.extensions.attr_list + - markdown.extensions.codehilite: + guess_lang: true + - markdown.extensions.def_list + - markdown.extensions.footnotes + - markdown.extensions.meta + - markdown.extensions.toc: + permalink: true + toc_depth: "1-4" + +# Page tree +nav: + - Overview: + - Forward: overview/README.md + - Seafile Components: overview/components.md + - File permission management: overview/file_permission_management.md + - Roadmap: roadmap.md + - FAQ: faq/README.md + - Contribution: contribution.md + - Changelog: changelog.md + - Deploy Seafile under Linux: + - Forward: deploy/README.md + - Deploy with SQLite: deploy/using_sqlite.md + - Deploy with MySQL: deploy/using_mysql.md + - Deploy with Docker: deploy/deploy_with_docker.md + - Config Seahub with Nginx: deploy/deploy_with_nginx.md + - Enabling Https with Nginx: deploy/https_with_nginx.md + - Config Seahub with Apache: deploy/deploy_with_apache.md + - Enabling Https with Apache: deploy/https_with_apache.md + - LDAP/AD Integration: deploy/using_ldap.md + - Single Sign On: + - Forward: deploy/single_sign_on.md + - Shibboleth Authentication for Seafile v6.2: deploy/shibboleth_config.md + - Shibboleth Authentication for Seafile v6.3+: deploy/shibboleth_config_v6.3.md + - OAuth Authentication: deploy/oauth.md + - Remote User Authentication: deploy/remote_user.md + - Syslog Integration: deploy/using_syslog.md + - Online File Preview and Edit: + - LibreOffice Online Integration: deploy/libreoffice_online.md + - OnlyOffice Integration: deploy/only_office.md + - Other Deployment Notes: + - Start Seafile at System Bootup: deploy/start_seafile_at_system_bootup.md + - Firewall settings: deploy/using_firewall.md + - Logrotate: deploy/using_logrotate.md + - Add Memcached: deploy/add_memcached.md + - Deploy Seafile behind NAT: deploy/deploy_seafile_behind_nat.md + - Deploy Seahub at Non-root domain: deploy/deploy_seahub_at_non-root_domain.md + - Migrate From SQLite to MySQL: deploy/migrate_from_sqlite_to_mysql.md + - Common Problems for Setting up Server: faq.md + - New Directory Layout in Seafile Server 5.0.0: deploy/new_directory_layout_5_0_0.md + - Deploy Seafile Pro Edition: + - Forward: deploy_pro/README.md + - Download and Setup Seafile Professional Server: deploy_pro/download_and_setup_seafile_professional_server.md + - Deploy Seafile-pro with Docker: deploy_pro/deploy_with_docker.md + - Migrate from Seafile Community Server: deploy_pro/migrate_from_seafile_community_server.md + - Upgrading Seafile Professional Server: deploy_pro/upgrading_seafile_professional_server.md + - LDAP/AD Integration: + - LDAP Configuration for Seafile Pro: deploy_pro/using_ldap_pro.md + - Importing Groups from LDAP: deploy_pro/ldap_group_sync.md + - Importing Roles from LDAP: deploy_pro/ldap_role_sync.md + - Online File Preview and Edit: + - Office Documents Preview: deploy_pro/office_documents_preview.md + - Office Online Server Integration: deploy_pro/office_web_app.md + - File Search: deploy_pro/details_about_file_search.md + - Virus Scan: + - Forward: deploy_pro/virus_scan.md + - Run ClamAV as a Daemon: deploy_pro/deploy_clamav_as_daemon.md + - Virus Scan With Kav4fs: deploy_pro/virus_scan_with_kav4fs.md + - Storage Backends: + - Amazon S3 Backend: deploy_pro/setup_with_amazon_s3.md + - Ceph Backend: deploy_pro/setup_with_ceph.md + - OpenStack Swift Backend: deploy_pro/setup_with_swift.md + - Multiple Storage Backends: deploy_pro/multiple_storage_backends.md + - Data migration: deploy_pro/migrate.md + - Cluster Deployment: + - Deploy in a cluster: deploy_pro/deploy_in_a_cluster.md + - Search and background tasks in a cluster: deploy_pro/enable_search_and_background_tasks_in_a_cluster.md + - Memcache and MariaDB Cluster: deploy_pro/memcached_mariadb_cluster.md + - Setup Seafile cluster with NFS: deploy_pro/setup_seafile_cluster_with_nfs.md + - Upgrade a cluster: deploy_pro/upgrade_a_cluster.md + - Advanced User Management: + - Multi-Institutions Support: deploy_pro/multi_institutions.md + - Roles and Permissions: deploy_pro/roles_permissions.md + - Administrator Roles and Permissions: deploy_pro/admin_roles_permissions.md + - Multi-Tenancy Support: deploy_pro/multi_tenancy.md + - Advanced Authentication: + - Two-factor Authentication: deploy_pro/two_factor_authentication.md + - ADFS or SAML 2.0: deploy_pro/adfs.md + - CAS Authentication: deploy_pro/cas.md + - Advanced Maintenance Tools: + - Real-time Backup Server: deploy_pro/real_time_backup.md + - Import Directory To Seafile: deploy_pro/seaf_import.md + - License: deploy_pro/seafile_professional_sdition_software_license_agreement.md + - Deploy Seafile with Docker: + - Deploy Seafile with Docker: docker/deploy seafile with docker.md + - Deploy Seafile Pro Edition with Docker: docker/pro-edition/Deploy Seafile-pro with Docker.md + - Migrate CE to Pro with Docker: docker/pro-edition/Migrate CE to Pro with Docker.md + - Upgrade from 6.3 to 7.0: + - Upgrade Seafile Docker CE: docker/6.3 upgrade to 7.0.md + - Upgrade Seafile Docker Pro: docker/pro-edition/6.3 upgrade to 7.0.md + - Upgrade for other versions: + - 7.0 to 7.1: docker/upgrade/7.0_7.1.md + - Configuration and Customization: + - Forward: config/README.md + - ccnet.conf: config/ccnet-conf.md + - seafile.conf: config/seafile-conf.md + - seahub_settings.py: config/seahub_settings_py.md + - seafevents.conf: config/seafevents-conf.md + - Seahub customization: config/seahub_customization.md + - Email Sending: config/sending_email.md + - Administration: + - Forward: maintain/README.md + - Account management: maintain/account.md + - Logs: maintain/logs.md + - Backup and Recovery: maintain/backup_recovery.md + - Seafile FSCK: maintain/seafile_fsck.md + - Seafile GC: maintain/seafile_gc.md + - Clean database: maintain/clean_database.md + - Export report: maintain/export_report.md + - Upgrade Seafile server: + - Forward: upgrade/upgrade.md + - Upgrade notes for 5.x.x: upgrade/upgrade_notes_for_5.x.x.md + - Upgrade notes for 6.x.x: upgrade/upgrade_notes_for_6.x.x.md + - Upgrade notes for 7.0.x: upgrade/upgrade_notes_for_7.0.x.md + - Upgrade notes for 7.1.x: upgrade/upgrade_notes_for_7.1.x.md + - WebDAV and FUSE extensions: + - Forward: extension/README.md + - WebDAV extension: extension/webdav.md + - FUSE extension: extension/fuse.md + - Security and Auditing: + - Forward: security/README.md + - Security features: security/security_features.md + - Access logs and auditing: security/auditing.md + - Config fail2ban: security/fail2ban.md + - Developing: + - Forward: develop/README.md + - How to Build Seafile: + - Forward: build_seafile/README.md + - Linux: build_seafile/linux.md + - FreeBSD: build_seafile/freebsd.md + - Mac OS X: build_seafile/osx.md + - Server: build_seafile/server.md + - Raspberry Pi: build_seafile/rpi.md + - Develop env: develop/env.md + - Translation: develop/translation.md + - Web API V2.1: develop/web_api_v2.1.md + - Python API: develop/python_api.md + - PHP API: https://github.com/rene-s/Seafile-PHP-SDK + - Data Model: develop/data_model.md + - Server Components: develop/server-components.md + - ChangeLog: + - Seafile Community Edition: changelog/server-changelog.md + - Seafile Professional Edition: changelog/changelog-for-seafile-professional-server.md + - Seafile Client: changelog/client-changelog.md + - Drive Client ChangeLog: changelog/drive-client-changelog.md

      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 H^Wc91G^jjP literal 0 HcmV?d00001 diff --git a/manual/images/libreoffice-online.png b/manual/images/libreoffice-online.png new file mode 100644 index 0000000000000000000000000000000000000000..cb16db80e74e2795c25e8343c44bdcb27ffcb2d5 GIT binary patch literal 73204 zcmeFZc{G*(+cvCON@S`i*@|Q=QxTClG7A|Jndg}#DjJZeL>WWokg-gu5R!QcA!B9C zJo6m8Z@=IDd)E8BYrXfo*89i1*1iAues}h@uYFyg&p90DaUSR8r=lcFPDW2gLPA1* zUQSAlgk;-x5|Yhy8{O`VphPJbsp&OIEqn)XRwF#5+HG2~#6L$+!5)${$ ziw_&g%fv|~H=f5Gv44MHf08_P3WM|NZSITV3!6gkSetJYQ+V+E+_Cmx+QiMtHFSyD zJ@$*F`)o$R={FD696MfSZ{>{~7tU?oI7xe}to9H!gJ6nt$3+cGSCu5k(nsFu-wP}! zy^0sxu!|JM#F|*iNG7)!SoWRD! z*^tTI#@g0N*j<$Q&v}LMp7>`TW~M)fI9rJ_Yb&ZSN!mG@F!6KqbD!XncDHclWj;&B zB;sgnDy$|Y^Y;|^mngHjv$MT0509Ih8@C%Dx1FOI&q*O6A)XVwJiNSIID*URnys^; zJD07~5#lNSIfs;q(^W?cduIzfTPET;4UOzvoJEZ2$G~rT_R? zP=N2xr^HhUpSLkIGtsgzb~gWy@BP;&awZmL=D3&t?K{ej7A9B);{D=F%sj-kwlK(zqJDYt%Lu^y8dUm{#z^X-#Ykztn2?@%SHBI z@Xo{*n9dF0E!%=~8NhFglf-!qQc}{cKIQKuBupgdrOs)%caC*m)1#K%*zx;3sq9;d z0-AH;;(J3RU(;?YR;HP>|4JwRHK#M@tQ9uCt_{lOI<^@e=ijgd6JOaoWJ+TZGj-a z>7Rdg5_Ha=Kfh9)uEO@R(Oix|#Z#2P)hw`;_^EhjgX*6*_*U@#e~u?1oc#Mn!szcC z-}1k2Nd5kvl#*)8KYwC63aCzeiOcQ&=grOF#ehZ6cMl&b?KpX3WuC?N*|TTG*JfCc z94V`=P9cAC%BY-FR8(|oaBa3(Ij`*`AK&$vVMQGs`llLaW4!0bIy4mwgBV38x{Ho| z=x((1JABee%H93#;^QN-4pyE$knY-LRW@ebnVZtqR{P}(FFw^Puz5nPFGw0b?{9h%GCMn~6eaA(b6!EAxw)Bx zo7;9K_s*R=iqRrV0cjmwU6qxU)DpaWd`FHPIi?tXG{7ZJfLhFDq=ovJ(wAsa-Q1(R zypAI+Dfs8$%#xb+X#oL&C&!dcd7pc4thrS_JfyCs7Rq_)qfu5Um+sx1ox~r$`Q_2b z!{&z%A8y;WtzW@);@hwO{-zwWdRh+6mX?-Wn`tU4s>rA)eSLlJ^(8aQ^D;7@f(eq^ zoNaGPp->|cr)Kq%>{P`t!_r;Lo>dUjga;)09CFCw%Y+YTNIdtgI^|=uNw+TJ& zFa^>A&!y~$h=}<3_&0ABDuWL1B<$F8P&?QBQBl##^4zE{-&9XePtakpy88O0o_8K| z?AV*Gt}`Mcp0(iuzQNhq*^{Lk@7yMP_UzfSckf=`;H8-#>O5q-cDXn^XBd+3TM3+a;-h)X6e_bs#z zUw}=dX=NrRB+$~(tgf$2+B|y}9v&_oKxfmH&vpFxc`dCsad8r}kM7?6l&Bbim2p~M zUD8yd_4(kAg)=rD?DgI#xv}CZ7;%V!VWqF^9&y2Q`HvilhaI$M8q`Oen#3wAC@3(9 zxZ8`1lMtj-Ri{2b<&X_xB;UEyqPE=1(()m_z{r>9d~y0Bj)QWFii(Y71Oj36t?%n= zEA1KjT?I~NGBPq7>uXP*JlRRW(z!S|6nJl(B@FhITxVotOb`Bk#%*Hv0bVJ5H}@sZ zTy~c{jV~p}>ju{RjO&>D@9!UCCGT-xF8-RoBSeKQ^6ZV}#i;>U()@VWLbqG5UuDVe z?E@ctc079Y=#6c+$5emCon8Cv3;+19Z#h>LEO}ULxISj%7ny^DL+_1+sL;^R+qXZ? z{%XEzWTeAovuhtWKh=|%n3#x&8q=J6yAMc^F3oq@ZQFb+geE>LY#%|&z#yjD*lTsM z@%{Vn9XVz=&Bcos8BW=*j-+M6K9_MR@v;;WRSypE_4oHDi&w#pzI`j6qZYC0)o5so&@jWTmA$?i*%l`v${|7AAXFmY1m{A|oRo1O{#_ z{Wv^j7f3JQ|KUo*FJ}shAf3a1VpG+bTMNw~KU}tBK z$xzYMq@$;o4>UbWNh<98v%%7$>y4d3x|!c(Z)s*i0*iclYHDi8n5ycQ#M`$e6cuaR z4ZKUP%?y`ZU#N>XRbNwMwK6|$Vq)^fu6Lp%=U85NYO1BG>Ry5rj8KtkY+|BrU`kC* zjfRHi^udQkMc31#*2mxUva_*KO5nuBB_#+*Z}n_1UAm;E*3_A21xwLaSAX*OaW>v* z%B4p~_mpm|>;909VV!Gs@miZ}KXk_R!9gK41qCZuObgdj%@dX_$%+wzem#YSg=#xZ zb2{LqEfRa~Nw#j?t4iM9&`?!VQ}*jmG8hy)n%HQbDJj_-C32jG^lN=i(b_yiY@^Px z;~pL!F;?F3`wtx8GI;l`zFwK0Oi5R_sJJ-NLtj<(L!bRi*TdKUy!P$eS066GAtLha z>({SkWdr4Y)G-swg6A2dlwx>IJ{LIsz}+TZcrLNgTXX_W0Nc)c^JbsH*Gz*__$`%0 zOKYo*jSXy2*k$BpY-}T0%6NNbFLHvsfYKVo1Z zKVo?F3;E6JBKPrJRv|bmT;+Wp!>ETJ7#SHsf}k?kPe;ep&^Ob*R{LGvGLvcHW4apEsc%85bFbFW@cwEC@IxdR}*|+CMK@` zE~ChM*R<>xBWR;zZ9SHt5N0_Sp6I%aQ{9m;ba9y*X-!jCSKmn>21WPZF9HH~5y~qn zhTh-WlGhokTZi!OG5hnRMbpbyuQ(Zlu>U1+o&)>$dvd4rpFT+Zyr=k@BxzP&o=sU7 zWe75s%daLDc6NWt>8XKAth?HwRB1$39`3N3A;(O;f+pekus=?adr6MdIESxvC1Y?{ zF`TV1zEPfvI%daqs^g^Nq=d426bsYS)3dYAj*f-yQ~fW_`RLd*dwF^F&rm5pJ8@1` z)nQ?xyC#fh5*8j*Ioc5Gvp7&*S62srhGW{zNJN}4l+e-9!M+_jco3J0z(~G(_xwcn zC|+Y@#nv6!4g;TBm*q!~^?dyJ5q8ti(D3nNT$}8R?RknI>&mm!t+2kirnyVfifs^W{C6w6pzPnoaFoB(7?tw7TK5jl-OEP5p=`TecQIq!ouCs(v6j^7cVAMROr;z2^t#ueh8lXMt0|8zD?K@ADYkV z{U%wtx?HurUMu5Yv#v7m9y;~sRAWYPX@gQPewWl2*^e8{St=^}MNKXE=>wH`loe{o z$wro&l|O1;o7hV{oP^{BZG*+di^`_;bQ+puTQ}blR~g-@7ONu1#iMlLOZcfERsnVL zzvzmedb}-|@a>zPGz&}X#)Y1l!CiEH5$G>>`|`3i^u>rG84Vn9xTl zB{f@+i|aqyb?0N#8Mkc2_12abTmQKOahXOVv{6rVFvo?-AO^M z6WvnQj8~7}(=+b-$Z|;U@DsaN*%#uu_@Xh#Y@ydXEH?iyZoRqTTP`fT zd%KUu#jy0XM;pvZx28_S%5=pw?cSrEoswz1)8ZyhR z^6b8!Gz_DJ4W_y>ceAQXUwq2{s^VE$AE~7!e^gZZ!g&1gj5%H#$y;gVfy3?z+vp!!q&*Mg~ z$i%rYlg52qQ(e8esnMdUw_j6(X5YS14|ivBa_Q=PN0HURYHDDqx~MaNNpa%F64$OR zjkag*A|o3c8zUt+zTQ#c{VF?O~bvFtZC14F|N`*+8xeEq%YO-p+ExKcDtoSoX}=b9Qoqmjn= z9sUx-BG;yUD+e0Q`3pLHG#+wta=v!j^rG*q*Q&X-^*2ZF(ibmYNZ#8+ywOFPZp0&m zpD*8hW7!U_k{{p=WE(OGU98RgT%UAuKflCJ{_xFFm+Qs$CO&%9?MK~2Nf8znR7^EgUtDxeGviCgmW+q81tMux94#{9iX@Tx4*Z4`663+oC?!_v zx0E?c%X}zs3ew!(NUHxlB`zZ+B{8-!*c)-8BO&01Mu^I}bM%fEFI_s`TNGF`Cp+)A^igb`?&SKh9|^?g(YQXW@cnO^r8N(%X{_H?pxx&JJe}?3@t53#>dCM ze`iYZZS`LFyMI5pC>lyfwf3r;lDZE%Iew4 zh3phg_~c2+%2G>w3S?-H%gf4YRHB{^P~=x}baaewb8~QbR2tI=m{%KdYRA^Cvtu3V z!s={ZrYm~slpDF#N%w!$$H>aa0R5M;va+ftUdYPMPW3J@exr8z^7{0Uf?z~?Vj_}7 z+xzPsfvMJp%0H7Ff3|M!Y{?J^7~jT~l~WffRA!WgYQogc?(qKoUoA_gv#-loUfE9j zrq;TpElrCt^rO1%bqYTVXOHE_H?zmAowyVgO-zIX6JrzS@2GN{=lW-7lhG+ueEmBA zHH)>LnXOaz?Afz%?Fk79C`c18@7TV5qPNuh!|iS4LH-OY>I(qgD1et%R^B-NLSFna zH1s?o;*=n}jO30g135iqkqe}KGfO-`{3w)~5)@cyX#+Mi28V}HWA!vO@g6-YrAZcA z)<>*)C=Q<;15!nSF*7|4fXOK85fTx>KuOu~wUm|G?CH;+=Ilpp9W}na@BB&@w)d-4 zbKJMV!NKL;{05iJ1R#ttppoa#pZf-1$}!z5p_zHv264d7t~W{fFrpf(*>AuWtg$yX z5CyDQ$yB9j4#mOK4QX0D*RQX*u3Jr`ay0N-GWppMi+XA;>WrJ$(oon_4lUHOOHMT` zMYMtuQBR+?W?hxFvKoas0@a*3Q*?Lt)t=;>QK?-YA}4M$*qL)oa&TtvYtVVIe{F4T zvb!iODoPX(sBQIWST~y-`Bu;;or?H|tc~YfX1` zShGm%uc$agOFQb#`AjB0<&th!%vmn;-;276SFEgxu6(#HBV7?Fykcx(GTvL-+uK{J zO5R8ni+E^j+k-fiUd|**?=EuJ*EbUJ6<64HP3+VuEzczsxh!8*IH?XFRwg~bYkYq< z?O1D?)?pF%6BbQJd3bm%t6`gEWo4+dbSJ`xn|rVNy}8~_O@TcZJAL{zC+Dkbn+oz* zfpdE2c)H<>X0+?m`#Ehxd*!Gn>{&+gMn@Vi*`1l}PtS4f#s+p+F=hI1PV^Z475T+}eDf zy<@(W&Sm0T!8xDpfrrk7Qu4ZveMN2T^rLRu)~%kl@Q>+{R*tJzud+Acs2mkG&$*F{ z0Cz0cYh4#a$2}QKbi~u>C}V>gbeLGVd3eMe`hDNLdE@7I-ilF?{6WJ}$C2Q%{FmdY zMaju*a6AElRs_$Q8Upl zIlHad+?UcsQnHBpm<~T9U68+|q$H6esa|iHaxaE=WNE)b6~E@~cVa(IKRi6VW&7@* zO$h>770PKYhDy7GB@bJ{PwQ0tFP&NWiS=!~t#l@AR6jkW8w!9oxdVN8u|2QWX zm!iCUQ(K#>i_6oeYC}`*S{Zr--}@ACqZ1R+Sd#GY&NzZY#Ebqun5?Ch72vXCSH6v6 zfIovagDzL3)!JLtY+dW9*>=m7^bMO`cgl|`N59I**t2`Lv$ON;)YPT7_OU@h^(cXB zK7XF*Dd~#L$_B$?Rv)ccd%6KND;x_>p+rMfSy7RYl$3e7q)_Myd;34Tv^)?z{N~co z@UT+kY1P@b*48<=(;R2mm?lgiB_+kYAUgW;7VjW>7uW9fV29V2C8YB9?b`qpTefTgQ3Y;b zwdcEfr@XPT5nhm{nI0GYZS-qaJSc#+bY0zC!P~Rueh-@i(|0Z{Ex|9GoSk3g>7fuV zzrVM(8c=7lT=@n#4xoJ63RBP`NDCHK1zC)9{BiQHZ{*P~JB2=d>bJ2KYlDSq&C$!& zO-W6qDm@vSmyYBYIg#+`2o4FD~gl_`B~o9ge9!ZFf2@~ zWlp)`%c~z9Is7Ij)rp^eh)GdUomw)tTl|bGH+XB`cWcXzoBU0Zh9 z?sM|Wdy)g4?H5?p!TV4?1_MMzHNCpzWLbdZ4X!4k@7P9vMZjbKdmu+jjVj0*PP&rURCQxVTnac$DHhs@KV|7H(o4nhia1o^5kjh=;YZ& zQ7kHiZsXEhmP~hlTODEky)l>7uWm@8R;lla!1>wGuRiJTtE+!a57i)cqDpjibo@AZ zTk1rJIlllox#dV1v1n6n=d zojY=^mR;eNL<058mkY)Hh-Eedp8^F11;LwMUzo6Yk`*7msyqE_P961Wa)9(sd3kw& z`thzenOhIHTOR^sX`%fBj`o!8H*=WT@bLUxyTK{0BacPXianRWT{qR$DHTfyaxsEC zjuv)FWmCr<016;?E`T5e%zk+24E*I3LTh!~C%Qv{#e@j+CxP;wo?7SEUIlb|rI0Kl zbAdge@^18f*BmIyLr%~C6E!;+Opxj!W4AyNhY@?`bG2LfM7}!6B8ODD3V0HR^274P*H%~h>MG(M@DUCUL{*ml@q8M}we zPGB}n^>IMnlj7hP5wx|wb6C_PH#Afe+!JUmQbNnPw4aFoc~L>niEl#e9~b84T8k$0kmRa@zcsjG#MTo zvdbfSxb-9Ta6~G#-mYDQA7Zdma8XnVZ?({YgJYsth=J(IG8v^ zFS<8#PDh1*14o0>1}XwaSJr0_@~Q}H<+pn;=yANP;N4$j=X9RTDl0q#sUH#|MS5Od z{xjkYXxrxgzK{@_8#mTMLPAho;^GlB;FJOVePd(R?CUs^9uP7w&t(^_BL~fuwVAj1 zorw`0tVb58ugp*O#)OY^9zE(Cz8n!wUDwrBRDJ5Lv})F(_%f=2;Ho3#Htx5Voym;+ zb}QNe1BQegU8Yr#myh%R`3Go|lLsO|smkeTXdI<4KX)4z30&IU-K}d|m(Eu(yXgJP za`(r5fOVAN8ZDu8q6xX3Ur24(goSmSl_^yn)Ft{Sz%o1c6#E}j=I0l%h+&YGXM4rQ zW2U3KaN6slxWnSJ`ol!*dKxnwit4%XE-hy7m|9ch zJcC(Mhc$J&Q!1i?$&YOeY%Hi*FMI_jjHnP1(FL#v1JcaUyHxL3ZClaOGK;j!Phb1~ z{fpPHU%z<8e#ZhLGAS?;38`3YEh)SyslaYM9_<#YBUL;wn{+IgPWXWT zMn{&uudA?U>OgL}z_t9o#Og0!ib2lCNe38Ry$SL;9}DxdGIHDOc1kHI+5qc;xRdud4cJG5tWQ ziKL7Zzj*_bs$3-C*{T>@fD=#aB%o)Ti@fLD7)m;>#Z@TZ>+Cg<2xg@S3=|B#fliQN2$B>dFcY4Mn|us z5u&zl6nE6?IiqM{VG+fFpdUh+ZP$Aiff22tDkCqX!Q?FM-Me?|c#kF~CSv(%?sx;o z*Orzx`yR}ba(P;1eV$8r;W1kB=g(LFIQzJY)zi~6*(+kBq+w~IXm!<-oovYdbfD$< zqwlsOfE7ppQkfAmNli^nAk{VW^+nx(Uzu`$M%jcrlfTEu73e{gI@Jw44VQ|a;whoUynaczoA~-cyleH4Y1;b5Bb5G zRF@M60_Bvq@M-fo3zsm(czVvLs~%&B+D$yKOM&zN|yCOfKg zsYZ0qthADnQt9fn!ato7R2AR4yICA*zkWR^uEIMVJ0-TX@AfXZ}p&)@I5dqk=07pY@Sg!_6*>%8tp7hRze+Jm4@ zsV4Ikt3Q7x<}>gVGYfS|*eE^|hxnF`vE%-#EKTp&Sv;Z*?=PqXpYACMNj;`4VCr2% zCKlTgA2HodUO3bqnKKH`S5!nqO8@y|aF5i~TCcPTA1(-ZQ&S0L=6^hp0?7W8Q9~nR zeqLRqFe_oSfQ>ORnkjymc1N{uxi2Nb$1v}@TTi&aVIBk4jRQ9xT9~#C{5I_HzsKTY zQ)!g7hf(C`uU{Qs4m=|z04?Ee!JhE*@ja2#;7oZ|I#*Fq(OQ`6;^cJ3p zC`iVA`^;=?#((^H0~W-#yRh%Y+Ced~Qj`bNORMNj5=8@SY*l4tM^2x1?|pXzm?u9! zUu^Za5C7qy{uv5ykCXD`nbIW*jpns6I})%l^g@otmX_>uuSZkVlMXT9zkdjy!C=`sTo18A/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 literal 0 HcmV?d00001 diff --git a/manual/images/mobile-arch.png b/manual/images/mobile-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..3da2c82608a94bda72356281981511d4ba6aec9d GIT binary patch literal 23293 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 literal 0 HcmV?d00001 diff --git a/manual/images/mobile-nginx-arch.png b/manual/images/mobile-nginx-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..fa3b94bea752c8b2c4966490f48bd6f76c3ae660 GIT binary patch literal 13044 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 G`2PT1Y<<}P literal 0 HcmV?d00001 diff --git a/manual/images/mysql-create-new.png b/manual/images/mysql-create-new.png new file mode 100644 index 0000000000000000000000000000000000000000..ab56236082988cab0a71003da4573f799a0dc886 GIT binary patch literal 63246 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ÞYHm+vG24TXXH@sAk^C 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 IzqaT92l*vXga7~l literal 0 HcmV?d00001 diff --git a/manual/images/mysql-use-existing.png b/manual/images/mysql-use-existing.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea8751769a60ca20e1957b00e4fa0a1e3d140c4 GIT binary patch literal 55383 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 Bav=Z! literal 0 HcmV?d00001 diff --git a/manual/images/office-web-app.png b/manual/images/office-web-app.png new file mode 100644 index 0000000000000000000000000000000000000000..0c66b6b86259025f81d5f24ca0a57c23460c4534 GIT binary patch literal 54715 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 JQv7q^{{cO?46gtH literal 0 HcmV?d00001 diff --git a/manual/images/seafile-admin-1.png b/manual/images/seafile-admin-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0defc0d751f5f6f67dcc35dbe31cef79312c300a GIT binary patch literal 105865 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нF&LoyWWm}{+qL;}s&)Z4h` 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%0ASpnr&}4GWqDr;D^7w*+-aID)UO|^?@V(qjme2M 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 buaFdch}(V4Cl;q zW`6(goSC`&Zq7|Vy{l^1-g~W8tJZqoRS{|`a+qkOXmD_Fm7Spm1=AzktZE zEnq3ICmb9#oPxB3h6ns%W|;R!*M}GXm%&+hEDg2qC@6W=02mSthX#Z-9GfMay2a%q zQ~r1Ld2cCZwQDw{g~J~t%71<+r?uTYxcjQ4@ol=OOYb?~G_TAGDkSh2?$X&AHjO>q z`R7p4hy%jmK-37*0YDu1|KehA8t`mXu_Ck}_+NDX%WZHG#_v%7uX9l&v}M3WtQqTPoV)|eGfN*h6Msb?PWGdqY5t{$Ia9;(6^8b*-e+%p%lKnRe`)`5$ zw}t(Gmev37OLA!zVETrdREC!nF}*F@Z|=G$?`D#4qW(WS)Z>5ie?nGrV{{18YyOGi zY>_&2P-}suZ$Q(DJzvHuug&!c8IlX?Jeas5G(1!?{7r<1*a?I!ROfpp4_I2tcJV13 zxh)(yC|u?lMVYpbHj;P~bV_sRM!j}TiyywkDED<>AK2w51~nAR%jI&9b$y^Sdmu5{ zWfM9+)Q`!on2`Um7o3--2egJ9qh zmbYqLp-TRtUchM5%z26m)$F{J*Zsqf8=_-<^xilVqBzy)CuK8?=G)t2J3EXCwT-9P zwq4K7lfY>Hn+9Hde=()j-^~pWFW!G{FXH_F=4lzYyaZlbUlswTU#V%1Wd-m}bpVpL zY$Ho3doOk@H(s(&Us5W_1FrWN_F^4^j`t|{SXqquKY@TN=|_zTb<)0C9#xNj#7p$qL4UBJE%^8q#i401(Cj>!i=To!r{PA1^+e4ECREi1LHPCQB>)t&mD zH){Jd41S07hUmS2?DUbGp7aFWkh?LQ)9anSE^ zE&-s+r*ybH@nOV*jkAv9^vi%jJ#|nmDvWeq9niG?w4lN!-h-*gsJ$R*dl7YQ{zzH7q!|Pfi zQKOi{PKSl4Q9q8^NfITIyS?r5v|*gmYY(%&qwD9}mGE{#8HScX_?kfH?lO-u>pbBm z!bxGx9lMgv$L{?zV^9|Z(ORp~PKt2wQlQmgmt~4>Jci9ij7 za>K86u11_~UEO|r@r%0;O#CWgTvjyFo_JuETg1UOl(kC$&fr`-5a$907DnnGP#(`( z3i-_%X8f}a!`pxsYVS|fF&<7$cm`X{f!3%X6n*eZrU}Yd!ALHLH!Q)P82xo*W-}Q61IOJ!HZt9R)qvofG3op zBNp#G4p@b41g{<+$Yz}F3itxuPrbrr5W)pCxr~-Edsi>OFWz8tvfX@pcT@}~bm8*o zpp-exas=V=(!hcPuFF2fT)`?l%df_86Huu0+-$E&Fo~(CXh%)q}2p66P;*S@8 zpJ~jU;`bV6G$JBY5lb?Fhj$~vgWh;u8K5$!a0MELec@u2_v?1ok5Oe>roa?@F7h;# zy94aWdIyFn?JEfXLlYg<7KT>b?H_ z^%a*!$>yQgr)o+^+KqV07PC)iMkb?7K2l6)6qmq zP(v$ukM3SWVN&jDOKjiE%%mL$r4#!IXgRJ1#)cf8l9fwnUQ_gVI@H-W6hl}Tb<2?T zWFNlAN>^se0h|;6bV;c>+y&z0pn9?~-(k8EI5nm>-_q;$1ciTuU(RZZC-en4PB6N2 z4v9f+7iIU#4?yQ3YZKEjpElf3#i9wwF&#!SN1lRpz}Nv|o?j329d8n+3Mg?ybCOz! zF5u&?lE?#%Ur#G?%2-*b)6;GlhV)RMRP%brxKR_bTz;~RJudp&Zf3#Q<`^;Ysxy>+ z{%7D_sJ-Q;L%hQZ%7vX~t1rgi^Ul$-q)N~0-XBKZsF-0p^_0%Xiis-HkQ@cHp}LXc z#ajZp5Qhd)ZH-IjEj{#{mLI{hhYHIt$1A2ZbM!+vu)J*}@ekE--?~tl6T9-Z@xZH( zM5OdA9tM{kF7A$#n-TvzYZ@m&XwwGBbpt(?D^tmGKeB?8<*D%_!Gwy`U**AH`*YO3 z$TjQx;-Gr0jccsy--(tQ=q)5+3aK^k@&R169`&+~TAarB-(=z$Cp#lk zxOtF~t^N76uED&a&bmJJW!;{)`{a~{ytM@}_zgVnndh1VA8b+$JGrpjZkbf`(P`FF z2)fcKHmUcGjEZ^CKysLaHkR=k?#BP{QD>6&-!qK?0F6Bbd0h*b-K$0O(y@!@=Ht|n z4pP)WkT^BKCRHc;p`2^tB_zFow)7&6zw55M zyH<6uX*077-~^*qElvJ3|M=#Ba}Vb{)VShjfMuU>|Im(Py$P1N#a;2DKdM_IYL!kv z3B+EwicT4z8unO;qvHGP)j&nU-zAQpq-UOc*n2z6O4h$czaL6os|Vm*lbTe_4~oQU zVy;ezZnt8am@t!aD&nAdt(6O5>y3bP>?wCP#{1Xm-hh0NLc1?M%uMLYRIaL_Pc~`B zmhE|>7AzNyRR_N9LRo`14PX}BloW4k5dhXG~0d|yq5{VQ**bb z8s=t~%x%0>5&XQ5{LigbJPvrt4I)4~96k6#OXovx-!2IZKrGn77FN0aNVXfOj!f7dp>`hdUbV*``J#7N(im{ z>Wj|w6|m6&hyu;L5#Q1?IroiF-+ZDBHsHIpv%D=EsG?m9zxj0N)1SJ9H2D}L7Z7_I z7x&!*w5n4( zRmgDZxE7=MJrVGd-=XJi&0vNkfajga2_wMUiYKGe5GR}PVmWNN5f1r_RVC0?-lJHq zs1I%yPV>rzz#xlE!T7Oxo0*(c%FqI!QVaaE3?X>F^jq5U80Cf5(57rbcz2_*1v~#I z$^;(dZymEa&v{vRu%w{^HT)Rc&94v4!6AAkRp_jRPi71qT@ZG+a^9=@m;GJ50vA>lPE_axKT5&Wd&1+_b$do- zyfoMF=1UJ#>+=Fv>pK_X&~`oqDWf>mRpK|K`M+C(98Y|M�cEGDt#>hB-lrntE;! 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